From f8c919d9d0a7eaea23845c5e19f838a6e8dda7eb Mon Sep 17 00:00:00 2001 From: qidaijie Date: Thu, 22 Feb 2024 10:53:59 +0800 Subject: [PATCH] =?UTF-8?q?=E6=8F=90=E4=BA=A4=E5=88=9D=E7=89=88?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- galaxy-data-platform/configuration/config.yml | 30 + .../configuration/galaxy-data-platform.yml | 143 + galaxy-data-platform/configuration/hosts | 111 + .../Apache Druid}/26.0.0/druid/hosts | 0 .../Apache Druid}/26.0.0/druid/install.yml | 0 .../26.0.0/druid/role/defaults/main.yml | 0 .../26.0.0/druid/role/files/conf.zip | Bin .../26.0.0/druid/role/files/mysql | Bin .../26.0.0/druid/role/handlers/main.yml | 0 .../26.0.0/druid/role/tasks/deploy.yml | 0 .../26.0.0/druid/role/tasks/main.yml | 0 .../druid/role/tasks/standalone/deploy.yml | 0 .../druid/role/tasks/standalone/uninstall.yml | 0 .../26.0.0/druid/role/tasks/status-check.yml | 0 .../26.0.0/druid/role/tasks/uninstall.yml | 0 .../26.0.0/druid/role/templates/broker_jvm.j2 | 0 .../druid/role/templates/broker_runtime.j2 | 0 .../templates/common.runtime.properties.j2 | 0 .../druid/role/templates/coordinator_jvm.j2 | 0 .../role/templates/docker-compose.yml.j2 | 0 .../templates/docker-compose_exporter.yml.j2 | 0 .../druid/role/templates/historical_jvm.j2 | 0 .../role/templates/historical_runtime.j2 | 0 .../druid/role/templates/middleManager_jvm.j2 | 0 .../middleManager_runtime.properties.j2 | 0 .../templates/router_runtime.properties.j2 | 0 .../26.0.0/druid/role/vars/main.yml | 0 .../Apache HBase}/2.2.3/hbase/hosts | 0 .../Apache HBase}/2.2.3/hbase/install.yml | 0 .../2.2.3/hbase/role/defaults/main.yml | 0 .../2.2.3/hbase/role/files/conf.zip | Bin .../2.2.3/hbase/role/handlers/main.yml | 0 .../2.2.3/hbase/role/tasks/deploy-cluster.yml | 0 .../hbase/role/tasks/deploy-standalone.yml | 0 .../2.2.3/hbase/role/tasks/main.yml | 0 .../hbase/role/tasks/standalone/deploy.yml | 0 .../hbase/role/tasks/standalone/uninstall.yml | 0 .../2.2.3/hbase/role/tasks/status-check.yml | 0 .../2.2.3/hbase/role/tasks/uninstall.yml | 0 .../hbase/role/templates/backup-masters.j2 | 0 .../role/templates/docker-compose.yml.j2 | 0 .../hbase/role/templates/hbase-env.sh.j2 | 0 .../hbase/role/templates/hbase-site.xml.j2 | 0 .../hbase/role/templates/regionservers.j2 | 0 .../2.2.3/hbase/role/templates/rsgroup.sh.j2 | 0 .../2.2.3/hbase/role/templates/startsql.sh.j2 | 0 .../2.2.3/hbase/role/vars/main.yml | 0 .../Apache Hadoop}/2.7.1/hdfs/hosts | 0 .../Apache Hadoop}/2.7.1/hdfs/install.yml | 0 .../2.7.1/hdfs/role/defaults/main.yml | 0 .../2.7.1/hdfs/role/tasks/deploy.yml | 0 .../2.7.1/hdfs/role/tasks/main.yml | 0 .../2.7.1/hdfs/role/tasks/status-check.yml | 0 .../2.7.1/hdfs/role/tasks/uninstall.yml | 0 .../hdfs/role/templates/core-site.xml.j2 | 0 .../daemonscript/dae-hdfsjournal.sh.j2 | 0 .../daemonscript/dae-hdfsmaster.sh.j2 | 0 .../daemonscript/dae-hdfsslave.sh.j2 | 0 .../daemonscript/dae-hdfsworker.sh.j2 | 0 .../templates/daemonscript/keephdfsjournal.j2 | 0 .../templates/daemonscript/keephdfsmaster.j2 | 0 .../templates/daemonscript/keephdfsslave.j2 | 0 .../templates/daemonscript/keephdfsworker.j2 | 0 .../hdfs/role/templates/hadoop-env.sh.j2 | 0 .../hdfs/role/templates/hdfs-site.xml.j2 | 0 .../2.7.1/hdfs/role/templates/ini_hdfs.sh.j2 | 0 .../hdfs/role/templates/mapred-site.xml.j2 | 0 .../hdfs/role/templates/set_hdfs_env.sh.j2 | 0 .../2.7.1/hdfs/role/templates/slaves.j2 | 0 .../hdfs/role/templates/unload_hdfs.sh.j2 | 0 .../2.7.1/hdfs/role/vars/main.yml | 0 .../Apache Hadoop}/2.7.1/yarn/hosts | 0 .../Apache Hadoop}/2.7.1/yarn/install.yml | 0 .../2.7.1/yarn/role/defaults/main.yml | 0 .../2.7.1/yarn/role/tasks/deploy-cluster.yml | 0 .../yarn/role/tasks/deploy-standalone.yml | 0 .../2.7.1/yarn/role/tasks/main.yml | 0 .../2.7.1/yarn/role/tasks/status-check.yml | 0 .../2.7.1/yarn/role/tasks/uninstall.yml | 0 .../role/templates/capacity-scheduler.xml.j2 | 0 .../yarn/role/templates/core-site.xml.j2 | 0 .../daemonscript/dae-yarnhistory.sh.j2 | 0 .../daemonscript/dae-yarnmaster.sh.j2 | 0 .../daemonscript/dae-yarnworker.sh.j2 | 0 .../templates/daemonscript/keepyarnhistory.j2 | 0 .../templates/daemonscript/keepyarnmaster.j2 | 0 .../templates/daemonscript/keepyarnworker.j2 | 0 .../role/templates/flink/flink-conf.yaml.j2 | 0 .../yarn/role/templates/flink/flink.sh.j2 | 0 .../yarn/role/templates/hadoop-env.sh.j2 | 0 .../yarn/role/templates/hdfs-site.xml.j2 | 0 .../yarn/role/templates/mapred-site.xml.j2 | 0 .../yarn/role/templates/set_yarn_env.sh.j2 | 0 .../2.7.1/yarn/role/templates/slaves.j2 | 0 .../templates/standalone/core-site.xml.j2 | 0 .../templates/standalone/hdfs-site.xml.j2 | 0 .../templates/standalone/yarn-site.xml.j2 | 0 .../role/templates/unload_hadoop_yarn.sh.j2 | 0 .../2.7.1/yarn/role/templates/yarn-env.sh.j2 | 0 .../yarn/role/templates/yarn-site.xml.j2 | 0 .../2.7.1/yarn/role/vars/main.yml | 0 .../Apache Ignite}/2.15.0/ignite/hosts | 0 .../Apache Ignite}/2.15.0/ignite/install.yml | 0 .../2.15.0/ignite/role/defaults/main.yml | 0 .../2.15.0/ignite/role/handlers/main.yml | 0 .../2.15.0/ignite/role/tasks/deploy.yml | 0 .../2.15.0/ignite/role/tasks/main.yml | 0 .../2.15.0/ignite/role/tasks/status-check.yml | 0 .../2.15.0/ignite/role/tasks/uninstall.yml | 0 .../role/templates/default-config.xml.j2 | 0 .../role/templates/docker-compose.yml.j2 | 0 .../2.15.0/ignite/role/vars/.main.yml.swp | Bin .../2.15.0/ignite/role/vars/main.yml | 0 .../Apache Kafka}/3.4.1/kafka/hosts | 0 .../Apache Kafka}/3.4.1/kafka/install.yml | 0 .../3.4.1/kafka/role/defaults/main.yml | 0 .../3.4.1/kafka/role/handlers/main.yml | 0 .../3.4.1/kafka/role/tasks/deploy.yml | 0 .../3.4.1/kafka/role/tasks/main.yml | 0 .../3.4.1/kafka/role/tasks/status-check.yml | 0 .../3.4.1/kafka/role/tasks/uninstall.yml | 0 .../role/templates/docker-compose.yml.j2 | 0 .../templates/docker-compose_exporter.yml.j2 | 0 .../role/templates/kafka-operation.sh.j2 | 0 .../3.4.1/kafka/role/templates/kafka.sh.j2 | 0 .../kafka/role/templates/server.properties.j2 | 0 .../3.4.1/kafka/role/vars/main.yml | 0 .../Apache Zookeeper}/3.5.9/zookeeper/hosts | 0 .../3.5.9/zookeeper/install.yml | 0 .../3.5.9/zookeeper/role/defaults/main.yml | 0 .../3.5.9/zookeeper/role/handlers/main.yml | 0 .../3.5.9/zookeeper/role/tasks/deploy.yml | 0 .../3.5.9/zookeeper/role/tasks/main.yml | 0 .../zookeeper/role/tasks/status-check.yml | 0 .../3.5.9/zookeeper/role/tasks/uninstall.yml | 0 .../role/templates/docker-compose.yml.j2 | 0 .../templates/docker-compose_exporter.yml.j2 | 0 .../3.5.9/zookeeper/role/templates/myid.j2 | 0 .../3.5.9/zookeeper/role/templates/zoo.cfg.j2 | 0 .../3.5.9/zookeeper/role/vars/main.yml | 0 .../components/ArangoDB}/3.6.4/arangodb/hosts | 0 .../ArangoDB}/3.6.4/arangodb/install.yml | 0 .../3.6.4/arangodb/role/defaults/main.yml | 0 .../3.6.4/arangodb/role/files/init.zip | Bin .../3.6.4/arangodb/role/handlers/main.yml | 0 .../3.6.4/arangodb/role/tasks/deploy.yml | 0 .../3.6.4/arangodb/role/tasks/main.yml | 0 .../arangodb/role/tasks/status-check.yml | 0 .../3.6.4/arangodb/role/tasks/uninstall.yml | 0 .../role/templates/docker-compose.yml.j2 | 0 .../3.6.4/arangodb/role/vars/main.yml | 0 .../roles/components/CMAK}/3.0.0.6/cmak/hosts | 0 .../components/CMAK}/3.0.0.6/cmak/install.yml | 0 .../CMAK}/3.0.0.6/cmak/role/defaults/main.yml | 0 .../cmak/role/files/kafka_client_jaas.conf | 0 .../CMAK}/3.0.0.6/cmak/role/handlers/main.yml | 0 .../CMAK}/3.0.0.6/cmak/role/tasks/deploy.yml | 0 .../CMAK}/3.0.0.6/cmak/role/tasks/main.yml | 0 .../3.0.0.6/cmak/role/tasks/status-check.yml | 0 .../CMAK}/3.0.0.6/cmak/role/tasks/unload.yml | 0 .../cmak/role/templates/docker-compose.yml.j2 | 0 .../CMAK}/3.0.0.6/cmak/role/vars/main.yml | 0 .../Chproxy}/21.06.30/chproxy/hosts | 0 .../Chproxy}/21.06.30/chproxy/install.yml | 0 .../21.06.30/chproxy/role/defaults/main.yml | 0 .../21.06.30/chproxy/role/handlers/main.yml | 0 .../21.06.30/chproxy/role/tasks/deploy.yml | 0 .../21.06.30/chproxy/role/tasks/main.yml | 0 .../chproxy/role/tasks/status-check.yml | 0 .../21.06.30/chproxy/role/tasks/uninstall.yml | 0 .../chproxy/role/templates/config.yml.j2 | 0 .../role/templates/docker-compose.yml.j2 | 0 .../21.06.30/chproxy/role/vars/main.yml | 0 .../Clickhouse}/21.8.13.1/clickhouse/hosts | 0 .../21.8.13.1/clickhouse/install.yml | 0 .../clickhouse/role/defaults/main.yml | 0 .../clickhouse/role/handlers/main.yml | 0 .../clickhouse/role/tasks/cluster/deploy.yml | 0 .../role/tasks/cluster/status-check.yml | 0 .../role/tasks/cluster/uninstall.yml | 0 .../21.8.13.1/clickhouse/role/tasks/main.yml | 0 .../role/tasks/standalone/deploy.yml | 0 .../role/tasks/standalone/status-check.yml | 0 .../role/tasks/standalone/uninstall.yml | 0 .../role/templates/ck_monitor.sh.j2 | 0 .../role/templates/clickhouse-server.j2 | 0 .../clickhouse/role/templates/config.xml.j2 | 0 .../templates/docker-compose_exporter.yml.j2 | 0 .../role/templates/metrika_data.xml.j2 | 0 .../role/templates/metrika_query.xml.j2 | 0 .../templates/standalone/ck_monitor.sh.j2 | 0 .../role/templates/standalone/config.xml.j2 | 0 .../standalone/docker-compose.yml.j2 | 0 .../standalone/metrika_standalone.xml.j2 | 0 .../clickhouse/role/templates/unload_ck.sh.j2 | 0 .../clickhouse/role/templates/users.xml.j2 | 0 .../clickhouse/role/vars/.main.yml.swp | Bin .../21.8.13.1/clickhouse/role/vars/main.yml | 0 .../GrootStream}/1.0/grootstream/hosts | 0 .../GrootStream}/1.0/grootstream/install.yml | 0 .../1.0/grootstream/role/defaults/main.yml | 0 .../1.0/grootstream/role/tasks/deploy.yml | 0 .../1.0/grootstream/role/tasks/main.yml | 0 .../1.0/grootstream/role/tasks/uninstall.yml | 0 .../role/templates/groot-stream.sh.j2 | 0 .../role/templates/grootstream.yaml.j2 | 0 .../1.0/grootstream/role/vars/main.yml | 0 .../components/MariaDB}/10.5.3/mariadb/hosts | 0 .../MariaDB}/10.5.3/mariadb/install.yml | 0 .../10.5.3/mariadb/role/defaults/main.yml | 0 .../10.5.3/mariadb/role/files/pyMysql.zip | Bin .../10.5.3/mariadb/role/handlers/main.yml | 0 .../mariadb/role/tasks/deploy-cluster.yml | 0 .../mariadb/role/tasks/deploy-standalone.yml | 0 .../10.5.3/mariadb/role/tasks/main.yml | 0 .../mariadb/role/tasks/status-check.yml | 0 .../10.5.3/mariadb/role/tasks/uninstall.yml | 0 .../role/templates/docker-compose.yml.j2 | 0 .../templates/exporter_docker-compose.yml.j2 | 0 .../templates/keepalived/check_mariadb.sh.j2 | 0 .../keepalived/keepalived-mariadb.conf.j2 | 0 .../keepalived/unload_balancer.sh.j2 | 0 .../10.5.3/mariadb/role/templates/my.cnf.j2 | 0 .../10.5.3/mariadb/role/vars/main.yml | 0 .../roles/components/Nacos}/2.0.2/hosts | 0 .../roles/components/Nacos}/2.0.2/install.yml | 0 .../Nacos}/2.0.2/role/defaults/main.yml | 0 .../components/Nacos}/2.0.2/role/files/mysql | Bin .../Nacos}/2.0.2/role/handlers/main.yml | 0 .../Nacos}/2.0.2/role/tasks/deploy.yml | 0 .../Nacos}/2.0.2/role/tasks/main.yml | 0 .../Nacos}/2.0.2/role/tasks/status-check.yml | 0 .../Nacos}/2.0.2/role/tasks/uninstall.yml | 0 .../role/templates/application.properties.j2 | 0 .../2.0.2/role/templates/cluster.conf.j2 | 0 .../role/templates/docker-compose.yml.j2 | 0 .../2.0.2/role/templates/nacos-logback.xml.j2 | 0 .../2.0.2/role/templates/nacos-mysql.sql.j2 | 0 .../Nacos}/2.0.2/role/vars/main.yml | 0 .../Pushgateway}/1.4.2/pushgateway/hosts | 0 .../1.4.2/pushgateway/install.yml | 0 .../1.4.2/pushgateway/role/defaults/main.yml | 0 .../1.4.2/pushgateway/role/handlers/main.yml | 0 .../1.4.2/pushgateway/role/tasks/deploy.yml | 0 .../1.4.2/pushgateway/role/tasks/main.yml | 0 .../pushgateway/role/tasks/status-check.yml | 0 .../pushgateway/role/tasks/uninstall.yml | 0 .../role/templates/docker-compose.yml.j2 | 0 .../1.4.2/pushgateway/role/vars/.main.yml.swp | Bin .../1.4.2/pushgateway/role/vars/main.yml | 0 .../roles/components/Redis}/6.2.5/redis/hosts | 0 .../components/Redis}/6.2.5/redis/install.yml | 0 .../Redis}/6.2.5/redis/role/defaults/main.yml | 0 .../Redis}/6.2.5/redis/role/handlers/main.yml | 0 .../6.2.5/redis/role/tasks/deploy-cluster.yml | 0 .../redis/role/tasks/deploy-standalone.yml | 0 .../Redis}/6.2.5/redis/role/tasks/main.yml | 0 .../6.2.5/redis/role/tasks/status-check.yml | 0 .../6.2.5/redis/role/tasks/uninstall.yml | 0 .../role/templates/docker-compose.yml.j2 | 0 .../redis/role/templates/redis-master.conf.j2 | 0 .../redis/role/templates/redis-slave.conf.j2 | 0 .../Redis}/6.2.5/redis/role/vars/main.yml | 0 tsg-olap/configuration/config.yml | 39 + tsg-olap/configuration/hosts | 105 + tsg-olap/configuration/tsg-olap.yml | 93 + .../initialization/arangodb/tasks/check.yml | 11 + .../initialization/arangodb/tasks/init.yml | 21 + .../initialization/arangodb/tasks/main.yml | 3 + .../arangodb/templates/create_database.sh.j2 | 54 + .../initialization/arangodb/vars/main.yml | 9 + .../clickhouse/files/create_ck_table.sql | 4174 +++++++++++++++++ .../clickhouse/files/system.sql | 9 + .../files/upgrade-sql/update-23.01-ck.sql | 247 + .../files/upgrade-sql/update-23.02-ck.sql | 110 + .../files/upgrade-sql/update-23.03-ck.sql | 47 + .../files/upgrade-sql/update-23.04-ck.sql | 6 + .../files/upgrade-sql/update-23.05-ck.sql | 11 + .../files/upgrade-sql/update-23.06-ck.sql | 159 + .../files/upgrade-sql/update-23.07-ck.sql | 97 + .../files/upgrade-sql/update-23.08-ck.sql | 158 + .../files/upgrade-sql/update-23.09-ck.sql | 131 + .../files/upgrade-sql/update-23.10-ck.sql | 76 + .../initialization/clickhouse/tasks/init.yml | 24 + .../initialization/clickhouse/tasks/main.yml | 5 + .../clickhouse/tasks/upgrate.yml | 25 + .../templates/upgrade-clickhouse-data.sh.j2 | 50 + .../files/cluster/druid_segments-tsg.sql | 39 + .../druid/files/cluster/push_segments.sh | 28 + .../files/cluster/rule/common_data_rule.json | 13 + .../druid/files/cluster/rule/common_task.txt | 19 + .../files/cluster/rule/hot_data_rule.json | 13 + .../druid/files/cluster/rule/hot_task.txt | 0 .../druid/files/cluster/rule/post_rule.sh | 28 + .../files/cluster/rule/supervisor-manger | 76 + .../druid/files/cluster/segments.zip | Bin 0 -> 48186 bytes .../2023-12-19T10_54_07.120Z/0_index.zip | Bin 0 -> 1671 bytes .../2023-12-12T10_54_07.120Z/0_index.zip | Bin 0 -> 1267 bytes .../2023-12-19T10_54_07.120Z/0_index.zip | Bin 0 -> 1393 bytes .../2024-01-16T10_54_07.120Z/0_index.zip | Bin 0 -> 1239 bytes .../2023-12-12T10_54_07.120Z/0_index.zip | Bin 0 -> 1267 bytes .../2024-01-16T10_54_07.120Z/0_index.zip | Bin 0 -> 1181 bytes .../2024-01-16T10_54_07.120Z/0_index.zip | Bin 0 -> 1127 bytes .../2024-01-16T10_54_07.120Z/0_index.zip | Bin 0 -> 1969 bytes .../2024-01-16T10_54_07.120Z/0_index.zip | Bin 0 -> 1166 bytes .../2024-01-16T10_54_07.120Z/0_index.zip | Bin 0 -> 1070 bytes .../2024-01-16T10_54_07.120Z/0_index.zip | Bin 0 -> 1189 bytes .../2024-01-16T10_54_07.120Z/0_index.zip | Bin 0 -> 1191 bytes .../2024-01-16T10_54_07.120Z/0_index.zip | Bin 0 -> 1190 bytes .../2024-01-16T10_54_07.120Z/0_index.zip | Bin 0 -> 1189 bytes .../2024-01-16T10_54_07.120Z/0_index.zip | Bin 0 -> 1190 bytes .../2024-01-16T10_54_07.120Z/0_index.zip | Bin 0 -> 1191 bytes .../2024-01-16T10_54_07.120Z/0_index.zip | Bin 0 -> 1198 bytes .../2023-12-26T10_54_07.120Z/0_index.zip | Bin 0 -> 1479 bytes .../2024-01-16T10_54_07.120Z/0_index.zip | Bin 0 -> 1310 bytes .../2024-01-16T10_54_07.120Z/0_index.zip | Bin 0 -> 1125 bytes .../roles/initialization/druid/files/mysql | Bin 0 -> 15580175 bytes .../druid/files/rule/common_data_rule.json | 13 + .../druid/files/rule/common_task.txt | 19 + .../druid/files/rule/hot_data_rule.json | 13 + .../druid/files/rule/hot_task.txt | 2 + .../files/standalone/druid_segments-tsg.sql | 39 + .../druid/files/standalone/segments.zip | Bin 0 -> 55952 bytes .../2023-12-19T10_54_07.120Z/0/index.zip | Bin 0 -> 1671 bytes .../2023-08-24T02_43_00.245Z/0/index.zip | Bin 0 -> 1273 bytes .../2023-10-18T10_44_50.148Z/0/index.zip | Bin 0 -> 1258 bytes .../2023-08-21T10_23_31.391Z/0/index.zip | Bin 0 -> 1216 bytes .../2023-04-17T06_26_28.371Z/0/index.zip | Bin 0 -> 1181 bytes .../2023-02-10T03_07_09.579Z/0/index.zip | Bin 0 -> 1127 bytes .../2023-07-28T07_05_53.280Z/0/index.zip | Bin 0 -> 1969 bytes .../2023-08-04T01_58_01.118Z/0/index.zip | Bin 0 -> 1166 bytes .../2021-02-04T03_40_23.597Z/0/index.zip | Bin 0 -> 1102 bytes .../2023-04-23T07_38_34.276Z/0/index.zip | Bin 0 -> 1189 bytes .../2023-04-24T09_35_24.409Z/0/index.zip | Bin 0 -> 1189 bytes .../2023-05-05T02_14_42.249Z/0/index.zip | Bin 0 -> 1189 bytes .../2023-04-24T06_39_37.283Z/0/index.zip | Bin 0 -> 1191 bytes .../2023-04-24T06_39_30.600Z/0/index.zip | Bin 0 -> 1190 bytes .../2023-04-27T06_21_09.765Z/0/index.zip | Bin 0 -> 1189 bytes .../2023-04-27T09_15_58.356Z/0/index.zip | Bin 0 -> 1190 bytes .../2023-04-24T07_40_42.170Z/0/index.zip | Bin 0 -> 1191 bytes .../2023-04-24T06_40_14.760Z/0/index.zip | Bin 0 -> 1198 bytes .../2023-04-18T02_05_57.690Z/0/index.zip | Bin 0 -> 1316 bytes .../2023-05-06T06_19_29.661Z/0/index.zip | Bin 0 -> 1316 bytes .../2023-05-06T06_43_09.655Z/0/index.zip | Bin 0 -> 1316 bytes .../2023-05-06T06_50_55.510Z/0/index.zip | Bin 0 -> 1316 bytes .../2023-05-06T06_52_58.683Z/0/index.zip | Bin 0 -> 1316 bytes .../2023-05-06T06_53_44.028Z/0/index.zip | Bin 0 -> 1316 bytes .../2023-05-06T07_06_43.540Z/0/index.zip | Bin 0 -> 1316 bytes .../2023-05-06T07_26_53.933Z/0/index.zip | Bin 0 -> 1316 bytes .../2023-05-06T07_50_48.464Z/0/index.zip | Bin 0 -> 1316 bytes .../2023-03-30T07_05_43.972Z/0/index.zip | Bin 0 -> 1310 bytes .../2021-08-11T10_10_50.930Z/0/index.zip | Bin 0 -> 1320 bytes .../2021-08-11T10_15_36.184Z/0/index.zip | Bin 0 -> 1319 bytes .../2022-09-06T06_57_25.946Z/0/index.zip | Bin 0 -> 1125 bytes .../initialization/druid/tasks/backup.yml | 25 + .../initialization/druid/tasks/check.yml | 23 + .../druid/tasks/init-cluster.yml | 115 + .../druid/tasks/init-standalone.yml | 65 + .../roles/initialization/druid/tasks/main.yml | 21 + .../initialization/druid/tasks/uninstall.yml | 30 + .../druid/templates/druid_monitor.sh.j2 | 58 + .../druid/templates/rule/post_rule.sh.j2 | 28 + .../templates/rule/supervisor-manager.j2 | 75 + .../druid/templates/run_druid_monitor.j2 | 3 + .../initialization/druid/templates/s.bak | 124 + .../druid/templates/supervisor-manager.sh.j2 | 103 + ...index_kafka_application_protocol_stat.json | 131 + .../tasks/index_kafka_monitor_rule_hits.json | 83 + .../tasks/index_kafka_object_statistics.json | 95 + .../tasks/index_kafka_proxy_rule_hits.json | 90 + .../tasks/index_kafka_security_rule_hits.json | 83 + ...ndex_kafka_service_chaining_rule_hits.json | 84 + .../index_kafka_service_function_status.json | 74 + .../tasks/index_kafka_statistics_rule.json | 367 ++ .../index_kafka_statistics_rule_hits.json | 159 + .../tasks/index_kafka_sys_storage_log.json | 52 + .../tasks/index_kafka_top_client_ips.json | 104 + .../tasks/index_kafka_top_external_ips.json | 105 + .../tasks/index_kafka_top_internal_ips.json | 105 + .../tasks/index_kafka_top_server_domains.json | 105 + .../tasks/index_kafka_top_server_fqdns.json | 105 + .../tasks/index_kafka_top_server_ips.json | 105 + .../tasks/index_kafka_top_subscribers.json | 105 + .../index_kafka_traffic_general_stat.json | 105 + ...index_kafka_traffic_shaping_rule_hits.json | 101 + ...raffic_top_destination_ip_metrics_log.json | 61 + .../roles/initialization/druid/vars/main.yml | 11 + .../galaxy-hos-service/tasks/init.yml | 28 + .../galaxy-hos-service/tasks/main.yml | 5 + .../galaxy-hos-service/tasks/upgrade.yml | 2 + .../galaxy-hos-service/vars/main.yml | 6 + .../galaxy-job-service/files/mysql | Bin 0 -> 5636096 bytes .../dos-baseline/analyse/analyse-baseines.jar | Bin 0 -> 2654208 bytes .../galaxy-job-service/tasks/backup.yml | 51 + .../galaxy-job-service/tasks/check.yml | 12 + .../galaxy-job-service/tasks/deploy-admin.yml | 52 + .../tasks/deploy-executor.yml | 45 + .../galaxy-job-service/tasks/init.yml | 53 + .../galaxy-job-service/tasks/main.yml | 22 + .../tasks/uninstall-admin.yml | 18 + .../tasks/uninstall-executor.yml | 18 + .../galaxy-job-service/tasks/upgrade.yml | 54 + .../templates/admin/application.properties.j2 | 23 + .../admin/create_mariadb_tables.sh.j2 | 6 + .../templates/admin/docker-compose.yml.j2 | 15 + .../templates/admin/galaxy-job-admin.conf.j2 | 16 + .../admin/galaxy-job-admin.properties.j2 | 73 + .../templates/admin/logback.xml.j2 | 45 + .../templates/admin/xxl_job.sql.j2 | 195 + .../executor/application.properties.j2 | 23 + .../templates/executor/docker-compose.yml.j2 | 19 + .../galaxy-job-executor.properties.j2 | 65 + .../templates/executor/logback.xml.j2 | 43 + .../templates/push_config.sh.j2 | 52 + .../templates/upgrade-mariadb-data.sh.j2 | 50 + .../galaxy-job-service/vars/main.yml | 26 + 416 files changed, 10167 insertions(+) create mode 100644 galaxy-data-platform/configuration/config.yml create mode 100644 galaxy-data-platform/configuration/galaxy-data-platform.yml create mode 100644 galaxy-data-platform/configuration/hosts rename {Apache Druid => galaxy-data-platform/parcels/roles/components/Apache Druid}/26.0.0/druid/hosts (100%) rename {Apache Druid => galaxy-data-platform/parcels/roles/components/Apache Druid}/26.0.0/druid/install.yml (100%) rename {Apache Druid => galaxy-data-platform/parcels/roles/components/Apache Druid}/26.0.0/druid/role/defaults/main.yml (100%) rename {Apache Druid => galaxy-data-platform/parcels/roles/components/Apache Druid}/26.0.0/druid/role/files/conf.zip (100%) rename {Apache Druid => galaxy-data-platform/parcels/roles/components/Apache Druid}/26.0.0/druid/role/files/mysql (100%) rename {Apache Druid => galaxy-data-platform/parcels/roles/components/Apache Druid}/26.0.0/druid/role/handlers/main.yml (100%) rename {Apache Druid => galaxy-data-platform/parcels/roles/components/Apache Druid}/26.0.0/druid/role/tasks/deploy.yml (100%) rename {Apache Druid => galaxy-data-platform/parcels/roles/components/Apache Druid}/26.0.0/druid/role/tasks/main.yml (100%) rename {Apache Druid => galaxy-data-platform/parcels/roles/components/Apache Druid}/26.0.0/druid/role/tasks/standalone/deploy.yml (100%) rename {Apache Druid => galaxy-data-platform/parcels/roles/components/Apache Druid}/26.0.0/druid/role/tasks/standalone/uninstall.yml (100%) rename {Apache Druid => galaxy-data-platform/parcels/roles/components/Apache Druid}/26.0.0/druid/role/tasks/status-check.yml (100%) rename {Apache Druid => galaxy-data-platform/parcels/roles/components/Apache Druid}/26.0.0/druid/role/tasks/uninstall.yml (100%) rename {Apache Druid => galaxy-data-platform/parcels/roles/components/Apache Druid}/26.0.0/druid/role/templates/broker_jvm.j2 (100%) rename {Apache Druid => galaxy-data-platform/parcels/roles/components/Apache Druid}/26.0.0/druid/role/templates/broker_runtime.j2 (100%) rename {Apache Druid => galaxy-data-platform/parcels/roles/components/Apache Druid}/26.0.0/druid/role/templates/common.runtime.properties.j2 (100%) rename {Apache Druid => galaxy-data-platform/parcels/roles/components/Apache Druid}/26.0.0/druid/role/templates/coordinator_jvm.j2 (100%) rename {Apache Druid => galaxy-data-platform/parcels/roles/components/Apache Druid}/26.0.0/druid/role/templates/docker-compose.yml.j2 (100%) rename {Apache Druid => galaxy-data-platform/parcels/roles/components/Apache Druid}/26.0.0/druid/role/templates/docker-compose_exporter.yml.j2 (100%) rename {Apache Druid => galaxy-data-platform/parcels/roles/components/Apache Druid}/26.0.0/druid/role/templates/historical_jvm.j2 (100%) rename {Apache Druid => galaxy-data-platform/parcels/roles/components/Apache Druid}/26.0.0/druid/role/templates/historical_runtime.j2 (100%) rename {Apache Druid => galaxy-data-platform/parcels/roles/components/Apache Druid}/26.0.0/druid/role/templates/middleManager_jvm.j2 (100%) rename {Apache Druid => galaxy-data-platform/parcels/roles/components/Apache Druid}/26.0.0/druid/role/templates/middleManager_runtime.properties.j2 (100%) rename {Apache Druid => galaxy-data-platform/parcels/roles/components/Apache Druid}/26.0.0/druid/role/templates/router_runtime.properties.j2 (100%) rename {Apache Druid => galaxy-data-platform/parcels/roles/components/Apache Druid}/26.0.0/druid/role/vars/main.yml (100%) rename {Apache HBase => galaxy-data-platform/parcels/roles/components/Apache HBase}/2.2.3/hbase/hosts (100%) rename {Apache HBase => galaxy-data-platform/parcels/roles/components/Apache HBase}/2.2.3/hbase/install.yml (100%) rename {Apache HBase => galaxy-data-platform/parcels/roles/components/Apache HBase}/2.2.3/hbase/role/defaults/main.yml (100%) rename {Apache HBase => galaxy-data-platform/parcels/roles/components/Apache HBase}/2.2.3/hbase/role/files/conf.zip (100%) rename {Apache HBase => galaxy-data-platform/parcels/roles/components/Apache HBase}/2.2.3/hbase/role/handlers/main.yml (100%) rename {Apache HBase => galaxy-data-platform/parcels/roles/components/Apache HBase}/2.2.3/hbase/role/tasks/deploy-cluster.yml (100%) rename {Apache HBase => galaxy-data-platform/parcels/roles/components/Apache HBase}/2.2.3/hbase/role/tasks/deploy-standalone.yml (100%) rename {Apache HBase => galaxy-data-platform/parcels/roles/components/Apache HBase}/2.2.3/hbase/role/tasks/main.yml (100%) rename {Apache HBase => galaxy-data-platform/parcels/roles/components/Apache HBase}/2.2.3/hbase/role/tasks/standalone/deploy.yml (100%) rename {Apache HBase => galaxy-data-platform/parcels/roles/components/Apache HBase}/2.2.3/hbase/role/tasks/standalone/uninstall.yml (100%) rename {Apache HBase => galaxy-data-platform/parcels/roles/components/Apache HBase}/2.2.3/hbase/role/tasks/status-check.yml (100%) rename {Apache HBase => galaxy-data-platform/parcels/roles/components/Apache HBase}/2.2.3/hbase/role/tasks/uninstall.yml (100%) rename {Apache HBase => galaxy-data-platform/parcels/roles/components/Apache HBase}/2.2.3/hbase/role/templates/backup-masters.j2 (100%) rename {Apache HBase => galaxy-data-platform/parcels/roles/components/Apache HBase}/2.2.3/hbase/role/templates/docker-compose.yml.j2 (100%) rename {Apache HBase => galaxy-data-platform/parcels/roles/components/Apache HBase}/2.2.3/hbase/role/templates/hbase-env.sh.j2 (100%) rename {Apache HBase => galaxy-data-platform/parcels/roles/components/Apache HBase}/2.2.3/hbase/role/templates/hbase-site.xml.j2 (100%) rename {Apache HBase => galaxy-data-platform/parcels/roles/components/Apache HBase}/2.2.3/hbase/role/templates/regionservers.j2 (100%) rename {Apache HBase => galaxy-data-platform/parcels/roles/components/Apache HBase}/2.2.3/hbase/role/templates/rsgroup.sh.j2 (100%) rename {Apache HBase => galaxy-data-platform/parcels/roles/components/Apache HBase}/2.2.3/hbase/role/templates/startsql.sh.j2 (100%) rename {Apache HBase => galaxy-data-platform/parcels/roles/components/Apache HBase}/2.2.3/hbase/role/vars/main.yml (100%) rename {Apache Hadoop => galaxy-data-platform/parcels/roles/components/Apache Hadoop}/2.7.1/hdfs/hosts (100%) rename {Apache Hadoop => galaxy-data-platform/parcels/roles/components/Apache Hadoop}/2.7.1/hdfs/install.yml (100%) rename {Apache Hadoop => galaxy-data-platform/parcels/roles/components/Apache Hadoop}/2.7.1/hdfs/role/defaults/main.yml (100%) rename {Apache Hadoop => galaxy-data-platform/parcels/roles/components/Apache Hadoop}/2.7.1/hdfs/role/tasks/deploy.yml (100%) rename {Apache Hadoop => galaxy-data-platform/parcels/roles/components/Apache Hadoop}/2.7.1/hdfs/role/tasks/main.yml (100%) rename {Apache Hadoop => galaxy-data-platform/parcels/roles/components/Apache Hadoop}/2.7.1/hdfs/role/tasks/status-check.yml (100%) rename {Apache Hadoop => galaxy-data-platform/parcels/roles/components/Apache Hadoop}/2.7.1/hdfs/role/tasks/uninstall.yml (100%) rename {Apache Hadoop => galaxy-data-platform/parcels/roles/components/Apache Hadoop}/2.7.1/hdfs/role/templates/core-site.xml.j2 (100%) rename {Apache Hadoop => galaxy-data-platform/parcels/roles/components/Apache Hadoop}/2.7.1/hdfs/role/templates/daemonscript/dae-hdfsjournal.sh.j2 (100%) rename {Apache Hadoop => galaxy-data-platform/parcels/roles/components/Apache Hadoop}/2.7.1/hdfs/role/templates/daemonscript/dae-hdfsmaster.sh.j2 (100%) rename {Apache Hadoop => galaxy-data-platform/parcels/roles/components/Apache Hadoop}/2.7.1/hdfs/role/templates/daemonscript/dae-hdfsslave.sh.j2 (100%) rename {Apache Hadoop => galaxy-data-platform/parcels/roles/components/Apache Hadoop}/2.7.1/hdfs/role/templates/daemonscript/dae-hdfsworker.sh.j2 (100%) rename {Apache Hadoop => galaxy-data-platform/parcels/roles/components/Apache Hadoop}/2.7.1/hdfs/role/templates/daemonscript/keephdfsjournal.j2 (100%) rename {Apache Hadoop => galaxy-data-platform/parcels/roles/components/Apache Hadoop}/2.7.1/hdfs/role/templates/daemonscript/keephdfsmaster.j2 (100%) rename {Apache Hadoop => galaxy-data-platform/parcels/roles/components/Apache Hadoop}/2.7.1/hdfs/role/templates/daemonscript/keephdfsslave.j2 (100%) rename {Apache Hadoop => galaxy-data-platform/parcels/roles/components/Apache Hadoop}/2.7.1/hdfs/role/templates/daemonscript/keephdfsworker.j2 (100%) rename {Apache Hadoop => galaxy-data-platform/parcels/roles/components/Apache Hadoop}/2.7.1/hdfs/role/templates/hadoop-env.sh.j2 (100%) rename {Apache Hadoop => galaxy-data-platform/parcels/roles/components/Apache Hadoop}/2.7.1/hdfs/role/templates/hdfs-site.xml.j2 (100%) rename {Apache Hadoop => galaxy-data-platform/parcels/roles/components/Apache Hadoop}/2.7.1/hdfs/role/templates/ini_hdfs.sh.j2 (100%) rename {Apache Hadoop => galaxy-data-platform/parcels/roles/components/Apache Hadoop}/2.7.1/hdfs/role/templates/mapred-site.xml.j2 (100%) rename {Apache Hadoop => galaxy-data-platform/parcels/roles/components/Apache Hadoop}/2.7.1/hdfs/role/templates/set_hdfs_env.sh.j2 (100%) rename {Apache Hadoop => galaxy-data-platform/parcels/roles/components/Apache Hadoop}/2.7.1/hdfs/role/templates/slaves.j2 (100%) rename {Apache Hadoop => galaxy-data-platform/parcels/roles/components/Apache Hadoop}/2.7.1/hdfs/role/templates/unload_hdfs.sh.j2 (100%) rename {Apache Hadoop => galaxy-data-platform/parcels/roles/components/Apache Hadoop}/2.7.1/hdfs/role/vars/main.yml (100%) rename {Apache Hadoop => galaxy-data-platform/parcels/roles/components/Apache Hadoop}/2.7.1/yarn/hosts (100%) rename {Apache Hadoop => galaxy-data-platform/parcels/roles/components/Apache Hadoop}/2.7.1/yarn/install.yml (100%) rename {Apache Hadoop => galaxy-data-platform/parcels/roles/components/Apache Hadoop}/2.7.1/yarn/role/defaults/main.yml (100%) rename {Apache Hadoop => galaxy-data-platform/parcels/roles/components/Apache Hadoop}/2.7.1/yarn/role/tasks/deploy-cluster.yml (100%) rename {Apache Hadoop => galaxy-data-platform/parcels/roles/components/Apache Hadoop}/2.7.1/yarn/role/tasks/deploy-standalone.yml (100%) rename {Apache Hadoop => galaxy-data-platform/parcels/roles/components/Apache Hadoop}/2.7.1/yarn/role/tasks/main.yml (100%) rename {Apache Hadoop => galaxy-data-platform/parcels/roles/components/Apache Hadoop}/2.7.1/yarn/role/tasks/status-check.yml (100%) rename {Apache Hadoop => galaxy-data-platform/parcels/roles/components/Apache Hadoop}/2.7.1/yarn/role/tasks/uninstall.yml (100%) rename {Apache Hadoop => galaxy-data-platform/parcels/roles/components/Apache Hadoop}/2.7.1/yarn/role/templates/capacity-scheduler.xml.j2 (100%) rename {Apache Hadoop => galaxy-data-platform/parcels/roles/components/Apache Hadoop}/2.7.1/yarn/role/templates/core-site.xml.j2 (100%) rename {Apache Hadoop => galaxy-data-platform/parcels/roles/components/Apache Hadoop}/2.7.1/yarn/role/templates/daemonscript/dae-yarnhistory.sh.j2 (100%) rename {Apache Hadoop => galaxy-data-platform/parcels/roles/components/Apache Hadoop}/2.7.1/yarn/role/templates/daemonscript/dae-yarnmaster.sh.j2 (100%) rename {Apache Hadoop => galaxy-data-platform/parcels/roles/components/Apache Hadoop}/2.7.1/yarn/role/templates/daemonscript/dae-yarnworker.sh.j2 (100%) rename {Apache Hadoop => galaxy-data-platform/parcels/roles/components/Apache Hadoop}/2.7.1/yarn/role/templates/daemonscript/keepyarnhistory.j2 (100%) rename {Apache Hadoop => galaxy-data-platform/parcels/roles/components/Apache Hadoop}/2.7.1/yarn/role/templates/daemonscript/keepyarnmaster.j2 (100%) rename {Apache Hadoop => galaxy-data-platform/parcels/roles/components/Apache Hadoop}/2.7.1/yarn/role/templates/daemonscript/keepyarnworker.j2 (100%) rename {Apache Hadoop => galaxy-data-platform/parcels/roles/components/Apache Hadoop}/2.7.1/yarn/role/templates/flink/flink-conf.yaml.j2 (100%) rename {Apache Hadoop => galaxy-data-platform/parcels/roles/components/Apache Hadoop}/2.7.1/yarn/role/templates/flink/flink.sh.j2 (100%) rename {Apache Hadoop => galaxy-data-platform/parcels/roles/components/Apache Hadoop}/2.7.1/yarn/role/templates/hadoop-env.sh.j2 (100%) rename {Apache Hadoop => galaxy-data-platform/parcels/roles/components/Apache Hadoop}/2.7.1/yarn/role/templates/hdfs-site.xml.j2 (100%) rename {Apache Hadoop => galaxy-data-platform/parcels/roles/components/Apache Hadoop}/2.7.1/yarn/role/templates/mapred-site.xml.j2 (100%) rename {Apache Hadoop => galaxy-data-platform/parcels/roles/components/Apache Hadoop}/2.7.1/yarn/role/templates/set_yarn_env.sh.j2 (100%) rename {Apache Hadoop => galaxy-data-platform/parcels/roles/components/Apache Hadoop}/2.7.1/yarn/role/templates/slaves.j2 (100%) rename {Apache Hadoop => galaxy-data-platform/parcels/roles/components/Apache Hadoop}/2.7.1/yarn/role/templates/standalone/core-site.xml.j2 (100%) rename {Apache Hadoop => galaxy-data-platform/parcels/roles/components/Apache Hadoop}/2.7.1/yarn/role/templates/standalone/hdfs-site.xml.j2 (100%) rename {Apache Hadoop => galaxy-data-platform/parcels/roles/components/Apache Hadoop}/2.7.1/yarn/role/templates/standalone/yarn-site.xml.j2 (100%) rename {Apache Hadoop => galaxy-data-platform/parcels/roles/components/Apache Hadoop}/2.7.1/yarn/role/templates/unload_hadoop_yarn.sh.j2 (100%) rename {Apache Hadoop => galaxy-data-platform/parcels/roles/components/Apache Hadoop}/2.7.1/yarn/role/templates/yarn-env.sh.j2 (100%) rename {Apache Hadoop => galaxy-data-platform/parcels/roles/components/Apache Hadoop}/2.7.1/yarn/role/templates/yarn-site.xml.j2 (100%) rename {Apache Hadoop => galaxy-data-platform/parcels/roles/components/Apache Hadoop}/2.7.1/yarn/role/vars/main.yml (100%) rename {Apache Ignite => galaxy-data-platform/parcels/roles/components/Apache Ignite}/2.15.0/ignite/hosts (100%) rename {Apache Ignite => galaxy-data-platform/parcels/roles/components/Apache Ignite}/2.15.0/ignite/install.yml (100%) rename {Apache Ignite => galaxy-data-platform/parcels/roles/components/Apache Ignite}/2.15.0/ignite/role/defaults/main.yml (100%) rename {Apache Ignite => galaxy-data-platform/parcels/roles/components/Apache Ignite}/2.15.0/ignite/role/handlers/main.yml (100%) rename {Apache Ignite => galaxy-data-platform/parcels/roles/components/Apache Ignite}/2.15.0/ignite/role/tasks/deploy.yml (100%) rename {Apache Ignite => galaxy-data-platform/parcels/roles/components/Apache Ignite}/2.15.0/ignite/role/tasks/main.yml (100%) rename {Apache Ignite => galaxy-data-platform/parcels/roles/components/Apache Ignite}/2.15.0/ignite/role/tasks/status-check.yml (100%) rename {Apache Ignite => galaxy-data-platform/parcels/roles/components/Apache Ignite}/2.15.0/ignite/role/tasks/uninstall.yml (100%) rename {Apache Ignite => galaxy-data-platform/parcels/roles/components/Apache Ignite}/2.15.0/ignite/role/templates/default-config.xml.j2 (100%) rename {Apache Ignite => galaxy-data-platform/parcels/roles/components/Apache Ignite}/2.15.0/ignite/role/templates/docker-compose.yml.j2 (100%) rename {Apache Ignite => galaxy-data-platform/parcels/roles/components/Apache Ignite}/2.15.0/ignite/role/vars/.main.yml.swp (100%) rename {Apache Ignite => galaxy-data-platform/parcels/roles/components/Apache Ignite}/2.15.0/ignite/role/vars/main.yml (100%) rename {Apache Kafka => galaxy-data-platform/parcels/roles/components/Apache Kafka}/3.4.1/kafka/hosts (100%) rename {Apache Kafka => galaxy-data-platform/parcels/roles/components/Apache Kafka}/3.4.1/kafka/install.yml (100%) rename {Apache Kafka => galaxy-data-platform/parcels/roles/components/Apache Kafka}/3.4.1/kafka/role/defaults/main.yml (100%) rename {Apache Kafka => galaxy-data-platform/parcels/roles/components/Apache Kafka}/3.4.1/kafka/role/handlers/main.yml (100%) rename {Apache Kafka => galaxy-data-platform/parcels/roles/components/Apache Kafka}/3.4.1/kafka/role/tasks/deploy.yml (100%) rename {Apache Kafka => galaxy-data-platform/parcels/roles/components/Apache Kafka}/3.4.1/kafka/role/tasks/main.yml (100%) rename {Apache Kafka => galaxy-data-platform/parcels/roles/components/Apache Kafka}/3.4.1/kafka/role/tasks/status-check.yml (100%) rename {Apache Kafka => galaxy-data-platform/parcels/roles/components/Apache Kafka}/3.4.1/kafka/role/tasks/uninstall.yml (100%) rename {Apache Kafka => galaxy-data-platform/parcels/roles/components/Apache Kafka}/3.4.1/kafka/role/templates/docker-compose.yml.j2 (100%) rename {Apache Kafka => galaxy-data-platform/parcels/roles/components/Apache Kafka}/3.4.1/kafka/role/templates/docker-compose_exporter.yml.j2 (100%) rename {Apache Kafka => galaxy-data-platform/parcels/roles/components/Apache Kafka}/3.4.1/kafka/role/templates/kafka-operation.sh.j2 (100%) rename {Apache Kafka => galaxy-data-platform/parcels/roles/components/Apache Kafka}/3.4.1/kafka/role/templates/kafka.sh.j2 (100%) rename {Apache Kafka => galaxy-data-platform/parcels/roles/components/Apache Kafka}/3.4.1/kafka/role/templates/server.properties.j2 (100%) rename {Apache Kafka => galaxy-data-platform/parcels/roles/components/Apache Kafka}/3.4.1/kafka/role/vars/main.yml (100%) rename {Apache Zookeeper => galaxy-data-platform/parcels/roles/components/Apache Zookeeper}/3.5.9/zookeeper/hosts (100%) rename {Apache Zookeeper => galaxy-data-platform/parcels/roles/components/Apache Zookeeper}/3.5.9/zookeeper/install.yml (100%) rename {Apache Zookeeper => galaxy-data-platform/parcels/roles/components/Apache Zookeeper}/3.5.9/zookeeper/role/defaults/main.yml (100%) rename {Apache Zookeeper => galaxy-data-platform/parcels/roles/components/Apache Zookeeper}/3.5.9/zookeeper/role/handlers/main.yml (100%) rename {Apache Zookeeper => galaxy-data-platform/parcels/roles/components/Apache Zookeeper}/3.5.9/zookeeper/role/tasks/deploy.yml (100%) rename {Apache Zookeeper => galaxy-data-platform/parcels/roles/components/Apache Zookeeper}/3.5.9/zookeeper/role/tasks/main.yml (100%) rename {Apache Zookeeper => galaxy-data-platform/parcels/roles/components/Apache Zookeeper}/3.5.9/zookeeper/role/tasks/status-check.yml (100%) rename {Apache Zookeeper => galaxy-data-platform/parcels/roles/components/Apache Zookeeper}/3.5.9/zookeeper/role/tasks/uninstall.yml (100%) rename {Apache Zookeeper => galaxy-data-platform/parcels/roles/components/Apache Zookeeper}/3.5.9/zookeeper/role/templates/docker-compose.yml.j2 (100%) rename {Apache Zookeeper => galaxy-data-platform/parcels/roles/components/Apache Zookeeper}/3.5.9/zookeeper/role/templates/docker-compose_exporter.yml.j2 (100%) rename {Apache Zookeeper => galaxy-data-platform/parcels/roles/components/Apache Zookeeper}/3.5.9/zookeeper/role/templates/myid.j2 (100%) rename {Apache Zookeeper => galaxy-data-platform/parcels/roles/components/Apache Zookeeper}/3.5.9/zookeeper/role/templates/zoo.cfg.j2 (100%) rename {Apache Zookeeper => galaxy-data-platform/parcels/roles/components/Apache Zookeeper}/3.5.9/zookeeper/role/vars/main.yml (100%) rename {ArangoDB => galaxy-data-platform/parcels/roles/components/ArangoDB}/3.6.4/arangodb/hosts (100%) rename {ArangoDB => galaxy-data-platform/parcels/roles/components/ArangoDB}/3.6.4/arangodb/install.yml (100%) rename {ArangoDB => galaxy-data-platform/parcels/roles/components/ArangoDB}/3.6.4/arangodb/role/defaults/main.yml (100%) rename {ArangoDB => galaxy-data-platform/parcels/roles/components/ArangoDB}/3.6.4/arangodb/role/files/init.zip (100%) rename {ArangoDB => galaxy-data-platform/parcels/roles/components/ArangoDB}/3.6.4/arangodb/role/handlers/main.yml (100%) rename {ArangoDB => galaxy-data-platform/parcels/roles/components/ArangoDB}/3.6.4/arangodb/role/tasks/deploy.yml (100%) rename {ArangoDB => galaxy-data-platform/parcels/roles/components/ArangoDB}/3.6.4/arangodb/role/tasks/main.yml (100%) rename {ArangoDB => galaxy-data-platform/parcels/roles/components/ArangoDB}/3.6.4/arangodb/role/tasks/status-check.yml (100%) rename {ArangoDB => galaxy-data-platform/parcels/roles/components/ArangoDB}/3.6.4/arangodb/role/tasks/uninstall.yml (100%) rename {ArangoDB => galaxy-data-platform/parcels/roles/components/ArangoDB}/3.6.4/arangodb/role/templates/docker-compose.yml.j2 (100%) rename {ArangoDB => galaxy-data-platform/parcels/roles/components/ArangoDB}/3.6.4/arangodb/role/vars/main.yml (100%) rename {CMAK => galaxy-data-platform/parcels/roles/components/CMAK}/3.0.0.6/cmak/hosts (100%) rename {CMAK => galaxy-data-platform/parcels/roles/components/CMAK}/3.0.0.6/cmak/install.yml (100%) rename {CMAK => galaxy-data-platform/parcels/roles/components/CMAK}/3.0.0.6/cmak/role/defaults/main.yml (100%) rename {CMAK => galaxy-data-platform/parcels/roles/components/CMAK}/3.0.0.6/cmak/role/files/kafka_client_jaas.conf (100%) rename {CMAK => galaxy-data-platform/parcels/roles/components/CMAK}/3.0.0.6/cmak/role/handlers/main.yml (100%) rename {CMAK => galaxy-data-platform/parcels/roles/components/CMAK}/3.0.0.6/cmak/role/tasks/deploy.yml (100%) rename {CMAK => galaxy-data-platform/parcels/roles/components/CMAK}/3.0.0.6/cmak/role/tasks/main.yml (100%) rename {CMAK => galaxy-data-platform/parcels/roles/components/CMAK}/3.0.0.6/cmak/role/tasks/status-check.yml (100%) rename {CMAK => galaxy-data-platform/parcels/roles/components/CMAK}/3.0.0.6/cmak/role/tasks/unload.yml (100%) rename {CMAK => galaxy-data-platform/parcels/roles/components/CMAK}/3.0.0.6/cmak/role/templates/docker-compose.yml.j2 (100%) rename {CMAK => galaxy-data-platform/parcels/roles/components/CMAK}/3.0.0.6/cmak/role/vars/main.yml (100%) rename {Chproxy => galaxy-data-platform/parcels/roles/components/Chproxy}/21.06.30/chproxy/hosts (100%) rename {Chproxy => galaxy-data-platform/parcels/roles/components/Chproxy}/21.06.30/chproxy/install.yml (100%) rename {Chproxy => galaxy-data-platform/parcels/roles/components/Chproxy}/21.06.30/chproxy/role/defaults/main.yml (100%) rename {Chproxy => galaxy-data-platform/parcels/roles/components/Chproxy}/21.06.30/chproxy/role/handlers/main.yml (100%) rename {Chproxy => galaxy-data-platform/parcels/roles/components/Chproxy}/21.06.30/chproxy/role/tasks/deploy.yml (100%) rename {Chproxy => galaxy-data-platform/parcels/roles/components/Chproxy}/21.06.30/chproxy/role/tasks/main.yml (100%) rename {Chproxy => galaxy-data-platform/parcels/roles/components/Chproxy}/21.06.30/chproxy/role/tasks/status-check.yml (100%) rename {Chproxy => galaxy-data-platform/parcels/roles/components/Chproxy}/21.06.30/chproxy/role/tasks/uninstall.yml (100%) rename {Chproxy => galaxy-data-platform/parcels/roles/components/Chproxy}/21.06.30/chproxy/role/templates/config.yml.j2 (100%) rename {Chproxy => galaxy-data-platform/parcels/roles/components/Chproxy}/21.06.30/chproxy/role/templates/docker-compose.yml.j2 (100%) rename {Chproxy => galaxy-data-platform/parcels/roles/components/Chproxy}/21.06.30/chproxy/role/vars/main.yml (100%) rename {Clickhouse => galaxy-data-platform/parcels/roles/components/Clickhouse}/21.8.13.1/clickhouse/hosts (100%) rename {Clickhouse => galaxy-data-platform/parcels/roles/components/Clickhouse}/21.8.13.1/clickhouse/install.yml (100%) rename {Clickhouse => galaxy-data-platform/parcels/roles/components/Clickhouse}/21.8.13.1/clickhouse/role/defaults/main.yml (100%) rename {Clickhouse => galaxy-data-platform/parcels/roles/components/Clickhouse}/21.8.13.1/clickhouse/role/handlers/main.yml (100%) rename {Clickhouse => galaxy-data-platform/parcels/roles/components/Clickhouse}/21.8.13.1/clickhouse/role/tasks/cluster/deploy.yml (100%) rename {Clickhouse => galaxy-data-platform/parcels/roles/components/Clickhouse}/21.8.13.1/clickhouse/role/tasks/cluster/status-check.yml (100%) rename {Clickhouse => galaxy-data-platform/parcels/roles/components/Clickhouse}/21.8.13.1/clickhouse/role/tasks/cluster/uninstall.yml (100%) rename {Clickhouse => galaxy-data-platform/parcels/roles/components/Clickhouse}/21.8.13.1/clickhouse/role/tasks/main.yml (100%) rename {Clickhouse => galaxy-data-platform/parcels/roles/components/Clickhouse}/21.8.13.1/clickhouse/role/tasks/standalone/deploy.yml (100%) rename {Clickhouse => galaxy-data-platform/parcels/roles/components/Clickhouse}/21.8.13.1/clickhouse/role/tasks/standalone/status-check.yml (100%) rename {Clickhouse => galaxy-data-platform/parcels/roles/components/Clickhouse}/21.8.13.1/clickhouse/role/tasks/standalone/uninstall.yml (100%) rename {Clickhouse => galaxy-data-platform/parcels/roles/components/Clickhouse}/21.8.13.1/clickhouse/role/templates/ck_monitor.sh.j2 (100%) rename {Clickhouse => galaxy-data-platform/parcels/roles/components/Clickhouse}/21.8.13.1/clickhouse/role/templates/clickhouse-server.j2 (100%) rename {Clickhouse => galaxy-data-platform/parcels/roles/components/Clickhouse}/21.8.13.1/clickhouse/role/templates/config.xml.j2 (100%) rename {Clickhouse => galaxy-data-platform/parcels/roles/components/Clickhouse}/21.8.13.1/clickhouse/role/templates/docker-compose_exporter.yml.j2 (100%) rename {Clickhouse => galaxy-data-platform/parcels/roles/components/Clickhouse}/21.8.13.1/clickhouse/role/templates/metrika_data.xml.j2 (100%) rename {Clickhouse => galaxy-data-platform/parcels/roles/components/Clickhouse}/21.8.13.1/clickhouse/role/templates/metrika_query.xml.j2 (100%) rename {Clickhouse => galaxy-data-platform/parcels/roles/components/Clickhouse}/21.8.13.1/clickhouse/role/templates/standalone/ck_monitor.sh.j2 (100%) rename {Clickhouse => galaxy-data-platform/parcels/roles/components/Clickhouse}/21.8.13.1/clickhouse/role/templates/standalone/config.xml.j2 (100%) rename {Clickhouse => galaxy-data-platform/parcels/roles/components/Clickhouse}/21.8.13.1/clickhouse/role/templates/standalone/docker-compose.yml.j2 (100%) rename {Clickhouse => galaxy-data-platform/parcels/roles/components/Clickhouse}/21.8.13.1/clickhouse/role/templates/standalone/metrika_standalone.xml.j2 (100%) rename {Clickhouse => galaxy-data-platform/parcels/roles/components/Clickhouse}/21.8.13.1/clickhouse/role/templates/unload_ck.sh.j2 (100%) rename {Clickhouse => galaxy-data-platform/parcels/roles/components/Clickhouse}/21.8.13.1/clickhouse/role/templates/users.xml.j2 (100%) rename {Clickhouse => galaxy-data-platform/parcels/roles/components/Clickhouse}/21.8.13.1/clickhouse/role/vars/.main.yml.swp (100%) rename {Clickhouse => galaxy-data-platform/parcels/roles/components/Clickhouse}/21.8.13.1/clickhouse/role/vars/main.yml (100%) rename {GrootStream => galaxy-data-platform/parcels/roles/components/GrootStream}/1.0/grootstream/hosts (100%) rename {GrootStream => galaxy-data-platform/parcels/roles/components/GrootStream}/1.0/grootstream/install.yml (100%) rename {GrootStream => galaxy-data-platform/parcels/roles/components/GrootStream}/1.0/grootstream/role/defaults/main.yml (100%) rename {GrootStream => galaxy-data-platform/parcels/roles/components/GrootStream}/1.0/grootstream/role/tasks/deploy.yml (100%) rename {GrootStream => galaxy-data-platform/parcels/roles/components/GrootStream}/1.0/grootstream/role/tasks/main.yml (100%) rename {GrootStream => galaxy-data-platform/parcels/roles/components/GrootStream}/1.0/grootstream/role/tasks/uninstall.yml (100%) rename {GrootStream => galaxy-data-platform/parcels/roles/components/GrootStream}/1.0/grootstream/role/templates/groot-stream.sh.j2 (100%) rename {GrootStream => galaxy-data-platform/parcels/roles/components/GrootStream}/1.0/grootstream/role/templates/grootstream.yaml.j2 (100%) rename {GrootStream => galaxy-data-platform/parcels/roles/components/GrootStream}/1.0/grootstream/role/vars/main.yml (100%) rename {MariaDB => galaxy-data-platform/parcels/roles/components/MariaDB}/10.5.3/mariadb/hosts (100%) rename {MariaDB => galaxy-data-platform/parcels/roles/components/MariaDB}/10.5.3/mariadb/install.yml (100%) rename {MariaDB => galaxy-data-platform/parcels/roles/components/MariaDB}/10.5.3/mariadb/role/defaults/main.yml (100%) rename {MariaDB => galaxy-data-platform/parcels/roles/components/MariaDB}/10.5.3/mariadb/role/files/pyMysql.zip (100%) rename {MariaDB => galaxy-data-platform/parcels/roles/components/MariaDB}/10.5.3/mariadb/role/handlers/main.yml (100%) rename {MariaDB => galaxy-data-platform/parcels/roles/components/MariaDB}/10.5.3/mariadb/role/tasks/deploy-cluster.yml (100%) rename {MariaDB => galaxy-data-platform/parcels/roles/components/MariaDB}/10.5.3/mariadb/role/tasks/deploy-standalone.yml (100%) rename {MariaDB => galaxy-data-platform/parcels/roles/components/MariaDB}/10.5.3/mariadb/role/tasks/main.yml (100%) rename {MariaDB => galaxy-data-platform/parcels/roles/components/MariaDB}/10.5.3/mariadb/role/tasks/status-check.yml (100%) rename {MariaDB => galaxy-data-platform/parcels/roles/components/MariaDB}/10.5.3/mariadb/role/tasks/uninstall.yml (100%) rename {MariaDB => galaxy-data-platform/parcels/roles/components/MariaDB}/10.5.3/mariadb/role/templates/docker-compose.yml.j2 (100%) rename {MariaDB => galaxy-data-platform/parcels/roles/components/MariaDB}/10.5.3/mariadb/role/templates/exporter_docker-compose.yml.j2 (100%) rename {MariaDB => galaxy-data-platform/parcels/roles/components/MariaDB}/10.5.3/mariadb/role/templates/keepalived/check_mariadb.sh.j2 (100%) rename {MariaDB => galaxy-data-platform/parcels/roles/components/MariaDB}/10.5.3/mariadb/role/templates/keepalived/keepalived-mariadb.conf.j2 (100%) rename {MariaDB => galaxy-data-platform/parcels/roles/components/MariaDB}/10.5.3/mariadb/role/templates/keepalived/unload_balancer.sh.j2 (100%) rename {MariaDB => galaxy-data-platform/parcels/roles/components/MariaDB}/10.5.3/mariadb/role/templates/my.cnf.j2 (100%) rename {MariaDB => galaxy-data-platform/parcels/roles/components/MariaDB}/10.5.3/mariadb/role/vars/main.yml (100%) rename {Nacos => galaxy-data-platform/parcels/roles/components/Nacos}/2.0.2/hosts (100%) rename {Nacos => galaxy-data-platform/parcels/roles/components/Nacos}/2.0.2/install.yml (100%) rename {Nacos => galaxy-data-platform/parcels/roles/components/Nacos}/2.0.2/role/defaults/main.yml (100%) rename {Nacos => galaxy-data-platform/parcels/roles/components/Nacos}/2.0.2/role/files/mysql (100%) rename {Nacos => galaxy-data-platform/parcels/roles/components/Nacos}/2.0.2/role/handlers/main.yml (100%) rename {Nacos => galaxy-data-platform/parcels/roles/components/Nacos}/2.0.2/role/tasks/deploy.yml (100%) rename {Nacos => galaxy-data-platform/parcels/roles/components/Nacos}/2.0.2/role/tasks/main.yml (100%) rename {Nacos => galaxy-data-platform/parcels/roles/components/Nacos}/2.0.2/role/tasks/status-check.yml (100%) rename {Nacos => galaxy-data-platform/parcels/roles/components/Nacos}/2.0.2/role/tasks/uninstall.yml (100%) rename {Nacos => galaxy-data-platform/parcels/roles/components/Nacos}/2.0.2/role/templates/application.properties.j2 (100%) rename {Nacos => galaxy-data-platform/parcels/roles/components/Nacos}/2.0.2/role/templates/cluster.conf.j2 (100%) rename {Nacos => galaxy-data-platform/parcels/roles/components/Nacos}/2.0.2/role/templates/docker-compose.yml.j2 (100%) rename {Nacos => galaxy-data-platform/parcels/roles/components/Nacos}/2.0.2/role/templates/nacos-logback.xml.j2 (100%) rename {Nacos => galaxy-data-platform/parcels/roles/components/Nacos}/2.0.2/role/templates/nacos-mysql.sql.j2 (100%) rename {Nacos => galaxy-data-platform/parcels/roles/components/Nacos}/2.0.2/role/vars/main.yml (100%) rename {Pushgateway => galaxy-data-platform/parcels/roles/components/Pushgateway}/1.4.2/pushgateway/hosts (100%) rename {Pushgateway => galaxy-data-platform/parcels/roles/components/Pushgateway}/1.4.2/pushgateway/install.yml (100%) rename {Pushgateway => galaxy-data-platform/parcels/roles/components/Pushgateway}/1.4.2/pushgateway/role/defaults/main.yml (100%) rename {Pushgateway => galaxy-data-platform/parcels/roles/components/Pushgateway}/1.4.2/pushgateway/role/handlers/main.yml (100%) rename {Pushgateway => galaxy-data-platform/parcels/roles/components/Pushgateway}/1.4.2/pushgateway/role/tasks/deploy.yml (100%) rename {Pushgateway => galaxy-data-platform/parcels/roles/components/Pushgateway}/1.4.2/pushgateway/role/tasks/main.yml (100%) rename {Pushgateway => galaxy-data-platform/parcels/roles/components/Pushgateway}/1.4.2/pushgateway/role/tasks/status-check.yml (100%) rename {Pushgateway => galaxy-data-platform/parcels/roles/components/Pushgateway}/1.4.2/pushgateway/role/tasks/uninstall.yml (100%) rename {Pushgateway => galaxy-data-platform/parcels/roles/components/Pushgateway}/1.4.2/pushgateway/role/templates/docker-compose.yml.j2 (100%) rename {Pushgateway => galaxy-data-platform/parcels/roles/components/Pushgateway}/1.4.2/pushgateway/role/vars/.main.yml.swp (100%) rename {Pushgateway => galaxy-data-platform/parcels/roles/components/Pushgateway}/1.4.2/pushgateway/role/vars/main.yml (100%) rename {Redis => galaxy-data-platform/parcels/roles/components/Redis}/6.2.5/redis/hosts (100%) rename {Redis => galaxy-data-platform/parcels/roles/components/Redis}/6.2.5/redis/install.yml (100%) rename {Redis => galaxy-data-platform/parcels/roles/components/Redis}/6.2.5/redis/role/defaults/main.yml (100%) rename {Redis => galaxy-data-platform/parcels/roles/components/Redis}/6.2.5/redis/role/handlers/main.yml (100%) rename {Redis => galaxy-data-platform/parcels/roles/components/Redis}/6.2.5/redis/role/tasks/deploy-cluster.yml (100%) rename {Redis => galaxy-data-platform/parcels/roles/components/Redis}/6.2.5/redis/role/tasks/deploy-standalone.yml (100%) rename {Redis => galaxy-data-platform/parcels/roles/components/Redis}/6.2.5/redis/role/tasks/main.yml (100%) rename {Redis => galaxy-data-platform/parcels/roles/components/Redis}/6.2.5/redis/role/tasks/status-check.yml (100%) rename {Redis => galaxy-data-platform/parcels/roles/components/Redis}/6.2.5/redis/role/tasks/uninstall.yml (100%) rename {Redis => galaxy-data-platform/parcels/roles/components/Redis}/6.2.5/redis/role/templates/docker-compose.yml.j2 (100%) rename {Redis => galaxy-data-platform/parcels/roles/components/Redis}/6.2.5/redis/role/templates/redis-master.conf.j2 (100%) rename {Redis => galaxy-data-platform/parcels/roles/components/Redis}/6.2.5/redis/role/templates/redis-slave.conf.j2 (100%) rename {Redis => galaxy-data-platform/parcels/roles/components/Redis}/6.2.5/redis/role/vars/main.yml (100%) create mode 100644 tsg-olap/configuration/config.yml create mode 100644 tsg-olap/configuration/hosts create mode 100644 tsg-olap/configuration/tsg-olap.yml create mode 100644 tsg-olap/parcels/roles/initialization/arangodb/tasks/check.yml create mode 100644 tsg-olap/parcels/roles/initialization/arangodb/tasks/init.yml create mode 100644 tsg-olap/parcels/roles/initialization/arangodb/tasks/main.yml create mode 100644 tsg-olap/parcels/roles/initialization/arangodb/templates/create_database.sh.j2 create mode 100644 tsg-olap/parcels/roles/initialization/arangodb/vars/main.yml create mode 100644 tsg-olap/parcels/roles/initialization/clickhouse/files/create_ck_table.sql create mode 100644 tsg-olap/parcels/roles/initialization/clickhouse/files/system.sql create mode 100644 tsg-olap/parcels/roles/initialization/clickhouse/files/upgrade-sql/update-23.01-ck.sql create mode 100644 tsg-olap/parcels/roles/initialization/clickhouse/files/upgrade-sql/update-23.02-ck.sql create mode 100644 tsg-olap/parcels/roles/initialization/clickhouse/files/upgrade-sql/update-23.03-ck.sql create mode 100644 tsg-olap/parcels/roles/initialization/clickhouse/files/upgrade-sql/update-23.04-ck.sql create mode 100644 tsg-olap/parcels/roles/initialization/clickhouse/files/upgrade-sql/update-23.05-ck.sql create mode 100644 tsg-olap/parcels/roles/initialization/clickhouse/files/upgrade-sql/update-23.06-ck.sql create mode 100644 tsg-olap/parcels/roles/initialization/clickhouse/files/upgrade-sql/update-23.07-ck.sql create mode 100644 tsg-olap/parcels/roles/initialization/clickhouse/files/upgrade-sql/update-23.08-ck.sql create mode 100644 tsg-olap/parcels/roles/initialization/clickhouse/files/upgrade-sql/update-23.09-ck.sql create mode 100644 tsg-olap/parcels/roles/initialization/clickhouse/files/upgrade-sql/update-23.10-ck.sql create mode 100644 tsg-olap/parcels/roles/initialization/clickhouse/tasks/init.yml create mode 100644 tsg-olap/parcels/roles/initialization/clickhouse/tasks/main.yml create mode 100644 tsg-olap/parcels/roles/initialization/clickhouse/tasks/upgrate.yml create mode 100644 tsg-olap/parcels/roles/initialization/clickhouse/templates/upgrade-clickhouse-data.sh.j2 create mode 100644 tsg-olap/parcels/roles/initialization/druid/files/cluster/druid_segments-tsg.sql create mode 100644 tsg-olap/parcels/roles/initialization/druid/files/cluster/push_segments.sh create mode 100644 tsg-olap/parcels/roles/initialization/druid/files/cluster/rule/common_data_rule.json create mode 100644 tsg-olap/parcels/roles/initialization/druid/files/cluster/rule/common_task.txt create mode 100644 tsg-olap/parcels/roles/initialization/druid/files/cluster/rule/hot_data_rule.json create mode 100644 tsg-olap/parcels/roles/initialization/druid/files/cluster/rule/hot_task.txt create mode 100644 tsg-olap/parcels/roles/initialization/druid/files/cluster/rule/post_rule.sh create mode 100644 tsg-olap/parcels/roles/initialization/druid/files/cluster/rule/supervisor-manger create mode 100644 tsg-olap/parcels/roles/initialization/druid/files/cluster/segments.zip create mode 100644 tsg-olap/parcels/roles/initialization/druid/files/cluster/segments/application_protocol_stat/30000101T000000.000Z_30000102T000000.000Z/2023-12-19T10_54_07.120Z/0_index.zip create mode 100644 tsg-olap/parcels/roles/initialization/druid/files/cluster/segments/monitor_rule_hits/30000101T000000.000Z_30000102T000000.000Z/2023-12-12T10_54_07.120Z/0_index.zip create mode 100644 tsg-olap/parcels/roles/initialization/druid/files/cluster/segments/object_statistics/30000101T000000.000Z_30000102T000000.000Z/2023-12-19T10_54_07.120Z/0_index.zip create mode 100644 tsg-olap/parcels/roles/initialization/druid/files/cluster/segments/proxy_rule_hits/30000101T000000.000Z_30000102T000000.000Z/2024-01-16T10_54_07.120Z/0_index.zip create mode 100644 tsg-olap/parcels/roles/initialization/druid/files/cluster/segments/security_rule_hits/30000101T000000.000Z_30000102T000000.000Z/2023-12-12T10_54_07.120Z/0_index.zip create mode 100644 tsg-olap/parcels/roles/initialization/druid/files/cluster/segments/service_chaining_rule_hits/30000101T000000.000Z_30000102T000000.000Z/2024-01-16T10_54_07.120Z/0_index.zip create mode 100644 tsg-olap/parcels/roles/initialization/druid/files/cluster/segments/service_function_status/30000101T000000.000Z_30000102T000000.000Z/2024-01-16T10_54_07.120Z/0_index.zip create mode 100644 tsg-olap/parcels/roles/initialization/druid/files/cluster/segments/statistics_rule/30000101T000000.000Z_30000102T000000.000Z/2024-01-16T10_54_07.120Z/0_index.zip create mode 100644 tsg-olap/parcels/roles/initialization/druid/files/cluster/segments/statistics_rule_hits/30000101T000000.000Z_30000102T000000.000Z/2024-01-16T10_54_07.120Z/0_index.zip create mode 100644 tsg-olap/parcels/roles/initialization/druid/files/cluster/segments/sys_storage_log/30000101T000000.000Z_30000102T000000.000Z/2024-01-16T10_54_07.120Z/0_index.zip create mode 100644 tsg-olap/parcels/roles/initialization/druid/files/cluster/segments/top_client_ips/30000101T000000.000Z_30000102T000000.000Z/2024-01-16T10_54_07.120Z/0_index.zip create mode 100644 tsg-olap/parcels/roles/initialization/druid/files/cluster/segments/top_external_ips/30000101T000000.000Z_30000102T000000.000Z/2024-01-16T10_54_07.120Z/0_index.zip create mode 100644 tsg-olap/parcels/roles/initialization/druid/files/cluster/segments/top_internal_ips/30000101T000000.000Z_30000102T000000.000Z/2024-01-16T10_54_07.120Z/0_index.zip create mode 100644 tsg-olap/parcels/roles/initialization/druid/files/cluster/segments/top_server_domains/30000101T000000.000Z_30000102T000000.000Z/2024-01-16T10_54_07.120Z/0_index.zip create mode 100644 tsg-olap/parcels/roles/initialization/druid/files/cluster/segments/top_server_fqdns/30000101T000000.000Z_30000102T000000.000Z/2024-01-16T10_54_07.120Z/0_index.zip create mode 100644 tsg-olap/parcels/roles/initialization/druid/files/cluster/segments/top_server_ips/30000101T000000.000Z_30000102T000000.000Z/2024-01-16T10_54_07.120Z/0_index.zip create mode 100644 tsg-olap/parcels/roles/initialization/druid/files/cluster/segments/top_subscribers/30000101T000000.000Z_30000102T000000.000Z/2024-01-16T10_54_07.120Z/0_index.zip create mode 100644 tsg-olap/parcels/roles/initialization/druid/files/cluster/segments/traffic_general_stat/30000101T000000.000Z_30000102T000000.000Z/2023-12-26T10_54_07.120Z/0_index.zip create mode 100644 tsg-olap/parcels/roles/initialization/druid/files/cluster/segments/traffic_shaping_rule_hits/30000101T000000.000Z_30000102T000000.000Z/2024-01-16T10_54_07.120Z/0_index.zip create mode 100644 tsg-olap/parcels/roles/initialization/druid/files/cluster/segments/traffic_top_destination_ip_metrics_log/30000101T000000.000Z_30000102T000000.000Z/2024-01-16T10_54_07.120Z/0_index.zip create mode 100644 tsg-olap/parcels/roles/initialization/druid/files/mysql create mode 100644 tsg-olap/parcels/roles/initialization/druid/files/rule/common_data_rule.json create mode 100644 tsg-olap/parcels/roles/initialization/druid/files/rule/common_task.txt create mode 100644 tsg-olap/parcels/roles/initialization/druid/files/rule/hot_data_rule.json create mode 100644 tsg-olap/parcels/roles/initialization/druid/files/rule/hot_task.txt create mode 100644 tsg-olap/parcels/roles/initialization/druid/files/standalone/druid_segments-tsg.sql create mode 100644 tsg-olap/parcels/roles/initialization/druid/files/standalone/segments.zip create mode 100644 tsg-olap/parcels/roles/initialization/druid/files/standalone/segments/application_protocol_stat/3000-01-01T00_00_00.000Z_3000-01-02T00_00_00.000Z/2023-12-19T10_54_07.120Z/0/index.zip create mode 100644 tsg-olap/parcels/roles/initialization/druid/files/standalone/segments/object_statistics/3000-01-01T00_00_00.000Z_3000-01-02T00_00_00.000Z/2023-08-24T02_43_00.245Z/0/index.zip create mode 100644 tsg-olap/parcels/roles/initialization/druid/files/standalone/segments/proxy_rule_hits/3000-01-01T00_00_00.000Z_3000-01-02T00_00_00.000Z/2023-10-18T10_44_50.148Z/0/index.zip create mode 100644 tsg-olap/parcels/roles/initialization/druid/files/standalone/segments/security_rule_hits/3000-01-01T00_00_00.000Z_3000-01-02T00_00_00.000Z/2023-08-21T10_23_31.391Z/0/index.zip create mode 100644 tsg-olap/parcels/roles/initialization/druid/files/standalone/segments/service_chaining_rule_hits/3000-01-01T00_00_00.000Z_3000-01-02T00_00_00.000Z/2023-04-17T06_26_28.371Z/0/index.zip create mode 100644 tsg-olap/parcels/roles/initialization/druid/files/standalone/segments/service_function_status/3000-01-01T00_00_00.000Z_3000-01-02T00_00_00.000Z/2023-02-10T03_07_09.579Z/0/index.zip create mode 100644 tsg-olap/parcels/roles/initialization/druid/files/standalone/segments/statistics_rule/3000-01-01T00_00_00.000Z_3000-01-02T00_00_00.000Z/2023-07-28T07_05_53.280Z/0/index.zip create mode 100644 tsg-olap/parcels/roles/initialization/druid/files/standalone/segments/statistics_rule_hits/3000-01-01T00_00_00.000Z_3000-01-02T00_00_00.000Z/2023-08-04T01_58_01.118Z/0/index.zip create mode 100644 tsg-olap/parcels/roles/initialization/druid/files/standalone/segments/sys_storage_log/3000-01-01T00_00_00.000Z_3000-01-02T00_00_00.000Z/2021-02-04T03_40_23.597Z/0/index.zip create mode 100644 tsg-olap/parcels/roles/initialization/druid/files/standalone/segments/top_client_ips/3000-01-01T00_00_00.000Z_3000-01-02T00_00_00.000Z/2023-04-23T07_38_34.276Z/0/index.zip create mode 100644 tsg-olap/parcels/roles/initialization/druid/files/standalone/segments/top_client_ips/3000-01-01T00_00_00.000Z_3000-01-02T00_00_00.000Z/2023-04-24T09_35_24.409Z/0/index.zip create mode 100644 tsg-olap/parcels/roles/initialization/druid/files/standalone/segments/top_client_ips/3000-01-01T00_00_00.000Z_3000-01-02T00_00_00.000Z/2023-05-05T02_14_42.249Z/0/index.zip create mode 100644 tsg-olap/parcels/roles/initialization/druid/files/standalone/segments/top_external_ips/3000-01-01T00_00_00.000Z_3000-01-02T00_00_00.000Z/2023-04-24T06_39_37.283Z/0/index.zip create mode 100644 tsg-olap/parcels/roles/initialization/druid/files/standalone/segments/top_internal_ips/3000-01-01T00_00_00.000Z_3000-01-02T00_00_00.000Z/2023-04-24T06_39_30.600Z/0/index.zip create mode 100644 tsg-olap/parcels/roles/initialization/druid/files/standalone/segments/top_server_domains/3000-01-01T00_00_00.000Z_3000-01-02T00_00_00.000Z/2023-04-27T06_21_09.765Z/0/index.zip create mode 100644 tsg-olap/parcels/roles/initialization/druid/files/standalone/segments/top_server_fqdns/3000-01-01T00_00_00.000Z_3000-01-02T00_00_00.000Z/2023-04-27T09_15_58.356Z/0/index.zip create mode 100644 tsg-olap/parcels/roles/initialization/druid/files/standalone/segments/top_server_ips/3000-01-01T00_00_00.000Z_3000-01-02T00_00_00.000Z/2023-04-24T07_40_42.170Z/0/index.zip create mode 100644 tsg-olap/parcels/roles/initialization/druid/files/standalone/segments/top_subscribers/3000-01-01T00_00_00.000Z_3000-01-02T00_00_00.000Z/2023-04-24T06_40_14.760Z/0/index.zip create mode 100644 tsg-olap/parcels/roles/initialization/druid/files/standalone/segments/traffic_general_stat/3000-01-01T00_00_00.000Z_3000-01-02T00_00_00.000Z/2023-04-18T02_05_57.690Z/0/index.zip create mode 100644 tsg-olap/parcels/roles/initialization/druid/files/standalone/segments/traffic_general_stat/3000-01-01T00_00_00.000Z_3000-01-02T00_00_00.000Z/2023-05-06T06_19_29.661Z/0/index.zip create mode 100644 tsg-olap/parcels/roles/initialization/druid/files/standalone/segments/traffic_general_stat/3000-01-01T00_00_00.000Z_3000-01-02T00_00_00.000Z/2023-05-06T06_43_09.655Z/0/index.zip create mode 100644 tsg-olap/parcels/roles/initialization/druid/files/standalone/segments/traffic_general_stat/3000-01-01T00_00_00.000Z_3000-01-02T00_00_00.000Z/2023-05-06T06_50_55.510Z/0/index.zip create mode 100644 tsg-olap/parcels/roles/initialization/druid/files/standalone/segments/traffic_general_stat/3000-01-01T00_00_00.000Z_3000-01-02T00_00_00.000Z/2023-05-06T06_52_58.683Z/0/index.zip create mode 100644 tsg-olap/parcels/roles/initialization/druid/files/standalone/segments/traffic_general_stat/3000-01-01T00_00_00.000Z_3000-01-02T00_00_00.000Z/2023-05-06T06_53_44.028Z/0/index.zip create mode 100644 tsg-olap/parcels/roles/initialization/druid/files/standalone/segments/traffic_general_stat/3000-01-01T00_00_00.000Z_3000-01-02T00_00_00.000Z/2023-05-06T07_06_43.540Z/0/index.zip create mode 100644 tsg-olap/parcels/roles/initialization/druid/files/standalone/segments/traffic_general_stat/3000-01-01T00_00_00.000Z_3000-01-02T00_00_00.000Z/2023-05-06T07_26_53.933Z/0/index.zip create mode 100644 tsg-olap/parcels/roles/initialization/druid/files/standalone/segments/traffic_general_stat/3000-01-01T00_00_00.000Z_3000-01-02T00_00_00.000Z/2023-05-06T07_50_48.464Z/0/index.zip create mode 100644 tsg-olap/parcels/roles/initialization/druid/files/standalone/segments/traffic_shaping_rule_hits/3000-01-01T00_00_00.000Z_3000-01-02T00_00_00.000Z/2023-03-30T07_05_43.972Z/0/index.zip create mode 100644 tsg-olap/parcels/roles/initialization/druid/files/standalone/segments/traffic_top_destination_ip_metrics_log/3000-01-01T00_00_00.000Z_3000-01-02T00_00_00.000Z/2021-08-11T10_10_50.930Z/0/index.zip create mode 100644 tsg-olap/parcels/roles/initialization/druid/files/standalone/segments/traffic_top_destination_ip_metrics_log/3000-01-01T00_00_00.000Z_3000-01-02T00_00_00.000Z/2021-08-11T10_15_36.184Z/0/index.zip create mode 100644 tsg-olap/parcels/roles/initialization/druid/files/standalone/segments/traffic_top_destination_ip_metrics_log/3000-01-01T00_00_00.000Z_3000-01-02T00_00_00.000Z/2022-09-06T06_57_25.946Z/0/index.zip create mode 100644 tsg-olap/parcels/roles/initialization/druid/tasks/backup.yml create mode 100644 tsg-olap/parcels/roles/initialization/druid/tasks/check.yml create mode 100644 tsg-olap/parcels/roles/initialization/druid/tasks/init-cluster.yml create mode 100644 tsg-olap/parcels/roles/initialization/druid/tasks/init-standalone.yml create mode 100644 tsg-olap/parcels/roles/initialization/druid/tasks/main.yml create mode 100644 tsg-olap/parcels/roles/initialization/druid/tasks/uninstall.yml create mode 100644 tsg-olap/parcels/roles/initialization/druid/templates/druid_monitor.sh.j2 create mode 100644 tsg-olap/parcels/roles/initialization/druid/templates/rule/post_rule.sh.j2 create mode 100644 tsg-olap/parcels/roles/initialization/druid/templates/rule/supervisor-manager.j2 create mode 100644 tsg-olap/parcels/roles/initialization/druid/templates/run_druid_monitor.j2 create mode 100644 tsg-olap/parcels/roles/initialization/druid/templates/s.bak create mode 100644 tsg-olap/parcels/roles/initialization/druid/templates/supervisor-manager.sh.j2 create mode 100644 tsg-olap/parcels/roles/initialization/druid/templates/tasks/index_kafka_application_protocol_stat.json create mode 100644 tsg-olap/parcels/roles/initialization/druid/templates/tasks/index_kafka_monitor_rule_hits.json create mode 100644 tsg-olap/parcels/roles/initialization/druid/templates/tasks/index_kafka_object_statistics.json create mode 100644 tsg-olap/parcels/roles/initialization/druid/templates/tasks/index_kafka_proxy_rule_hits.json create mode 100644 tsg-olap/parcels/roles/initialization/druid/templates/tasks/index_kafka_security_rule_hits.json create mode 100644 tsg-olap/parcels/roles/initialization/druid/templates/tasks/index_kafka_service_chaining_rule_hits.json create mode 100644 tsg-olap/parcels/roles/initialization/druid/templates/tasks/index_kafka_service_function_status.json create mode 100644 tsg-olap/parcels/roles/initialization/druid/templates/tasks/index_kafka_statistics_rule.json create mode 100644 tsg-olap/parcels/roles/initialization/druid/templates/tasks/index_kafka_statistics_rule_hits.json create mode 100644 tsg-olap/parcels/roles/initialization/druid/templates/tasks/index_kafka_sys_storage_log.json create mode 100644 tsg-olap/parcels/roles/initialization/druid/templates/tasks/index_kafka_top_client_ips.json create mode 100644 tsg-olap/parcels/roles/initialization/druid/templates/tasks/index_kafka_top_external_ips.json create mode 100644 tsg-olap/parcels/roles/initialization/druid/templates/tasks/index_kafka_top_internal_ips.json create mode 100644 tsg-olap/parcels/roles/initialization/druid/templates/tasks/index_kafka_top_server_domains.json create mode 100644 tsg-olap/parcels/roles/initialization/druid/templates/tasks/index_kafka_top_server_fqdns.json create mode 100644 tsg-olap/parcels/roles/initialization/druid/templates/tasks/index_kafka_top_server_ips.json create mode 100644 tsg-olap/parcels/roles/initialization/druid/templates/tasks/index_kafka_top_subscribers.json create mode 100644 tsg-olap/parcels/roles/initialization/druid/templates/tasks/index_kafka_traffic_general_stat.json create mode 100644 tsg-olap/parcels/roles/initialization/druid/templates/tasks/index_kafka_traffic_shaping_rule_hits.json create mode 100644 tsg-olap/parcels/roles/initialization/druid/templates/tasks/index_kafka_traffic_top_destination_ip_metrics_log.json create mode 100644 tsg-olap/parcels/roles/initialization/druid/vars/main.yml create mode 100644 tsg-olap/parcels/roles/initialization/galaxy-hos-service/tasks/init.yml create mode 100644 tsg-olap/parcels/roles/initialization/galaxy-hos-service/tasks/main.yml create mode 100644 tsg-olap/parcels/roles/initialization/galaxy-hos-service/tasks/upgrade.yml create mode 100644 tsg-olap/parcels/roles/initialization/galaxy-hos-service/vars/main.yml create mode 100644 tsg-olap/parcels/roles/initialization/galaxy-job-service/files/mysql create mode 100644 tsg-olap/parcels/roles/initialization/galaxy-job-service/files/schedule-service/dos-baseline/analyse/analyse-baseines.jar create mode 100644 tsg-olap/parcels/roles/initialization/galaxy-job-service/tasks/backup.yml create mode 100644 tsg-olap/parcels/roles/initialization/galaxy-job-service/tasks/check.yml create mode 100644 tsg-olap/parcels/roles/initialization/galaxy-job-service/tasks/deploy-admin.yml create mode 100644 tsg-olap/parcels/roles/initialization/galaxy-job-service/tasks/deploy-executor.yml create mode 100644 tsg-olap/parcels/roles/initialization/galaxy-job-service/tasks/init.yml create mode 100644 tsg-olap/parcels/roles/initialization/galaxy-job-service/tasks/main.yml create mode 100644 tsg-olap/parcels/roles/initialization/galaxy-job-service/tasks/uninstall-admin.yml create mode 100644 tsg-olap/parcels/roles/initialization/galaxy-job-service/tasks/uninstall-executor.yml create mode 100644 tsg-olap/parcels/roles/initialization/galaxy-job-service/tasks/upgrade.yml create mode 100644 tsg-olap/parcels/roles/initialization/galaxy-job-service/templates/admin/application.properties.j2 create mode 100644 tsg-olap/parcels/roles/initialization/galaxy-job-service/templates/admin/create_mariadb_tables.sh.j2 create mode 100644 tsg-olap/parcels/roles/initialization/galaxy-job-service/templates/admin/docker-compose.yml.j2 create mode 100644 tsg-olap/parcels/roles/initialization/galaxy-job-service/templates/admin/galaxy-job-admin.conf.j2 create mode 100644 tsg-olap/parcels/roles/initialization/galaxy-job-service/templates/admin/galaxy-job-admin.properties.j2 create mode 100644 tsg-olap/parcels/roles/initialization/galaxy-job-service/templates/admin/logback.xml.j2 create mode 100644 tsg-olap/parcels/roles/initialization/galaxy-job-service/templates/admin/xxl_job.sql.j2 create mode 100644 tsg-olap/parcels/roles/initialization/galaxy-job-service/templates/executor/application.properties.j2 create mode 100644 tsg-olap/parcels/roles/initialization/galaxy-job-service/templates/executor/docker-compose.yml.j2 create mode 100644 tsg-olap/parcels/roles/initialization/galaxy-job-service/templates/executor/galaxy-job-executor.properties.j2 create mode 100644 tsg-olap/parcels/roles/initialization/galaxy-job-service/templates/executor/logback.xml.j2 create mode 100644 tsg-olap/parcels/roles/initialization/galaxy-job-service/templates/push_config.sh.j2 create mode 100644 tsg-olap/parcels/roles/initialization/galaxy-job-service/templates/upgrade-mariadb-data.sh.j2 create mode 100644 tsg-olap/parcels/roles/initialization/galaxy-job-service/vars/main.yml diff --git a/galaxy-data-platform/configuration/config.yml b/galaxy-data-platform/configuration/config.yml new file mode 100644 index 0000000..7e4d29c --- /dev/null +++ b/galaxy-data-platform/configuration/config.yml @@ -0,0 +1,30 @@ +#============================Galaxy OLAP Configuration===============================# +#The default installation location +deploy_dir: /data/hdd/olap + +#The default data storage location,use storing application data,logs and configuration files +data_dir: /data/sdd/olap + +#Use commas (,) to separate the network segments that the firewall allows to access +allowed_ips: 192.168.44.0/24,192.168.45.0/24,192.168.58.0/24,192.168.41.0/24 + +#============================Keepalived Configuration===============================# +#Specify the interface virtual IP address.It used to configure high availability for OLAP query engine +#Only one IP address can be configured on the same network segment +#The following three ip addresses must be unique +vrrp_instance: + default: + virtual_ipaddress: 192.168.45.102 + interface: eth0 + virtual_router_id: 61 + oss: + virtual_ipaddress: 192.168.45.102 + interface: eth0 + virtual_router_id: 62 + +#============================OSS Configuration===============================# +#HOS token +hos_server_token: fea0ee76be8147bd9b53ad995b7ef603 + +#HOS token(加密) +hos_servrt_token_encrypt: M+0IMYS1+XENltUe585ahhqwY+QZJmnvtxML1vXExB9aO+CPT3GfsP4rtbVuWXpf diff --git a/galaxy-data-platform/configuration/galaxy-data-platform.yml b/galaxy-data-platform/configuration/galaxy-data-platform.yml new file mode 100644 index 0000000..acb672d --- /dev/null +++ b/galaxy-data-platform/configuration/galaxy-data-platform.yml @@ -0,0 +1,143 @@ +zookeeper: + #Running memory of the Zookeeper. + java_opts: -Xmx1024m -Xms1024m + +mariadb: + #Used to cache data and index data from tables in the InnoDB storage engine. + innodb_buffer_pool_size: 2048 + +nacos: + #Running memory of the Nacos. + java_opt: '-Xmx1024m -Xms1024m -Xmn256m' + +druid: + broker: + #Running memory of the Druid-Broker. + java_opts: -Xmx1024m -Xms1024m + #Worker tasks also use off-heap ("direct") memory. Set the amount of direct memory available (-XX:MaxDirectMemorySize) to at least (druid.processing.numThreads + 1) * druid.processing.buffer.sizeBytes + MaxDirectMemorySize: 512m + #This specifies a buffer size (less than 2GiB), for the storage of intermediate results + druid.processing.buffer.sizeBytes: 50000000 + #The number of direct memory buffers available for merging query results. + druid.processing.numMergeBuffers: 4 + #The number of processing threads to have available for parallel processing of segments. + druid.processing.numThreads: 5 + coordinator: + #Running memory of the Druid-Coordinator. + java_opts: -Xmx1024m -Xms1024m + historical: + #Running memory of the Druid-Historical. + java_opts: -Xmx1024m -Xms1024m + #The size of the process's temporary cache data on disk + druid.segmentCache.locations: 300000000000 + #Worker tasks also use off-heap ("direct") memory. Set the amount of direct memory available (-XX:MaxDirectMemorySize) to at least (druid.processing.numThreads + 1) * druid.processing.buffer.sizeBytes + MaxDirectMemorySize: 512m + #This specifies a buffer size (less than 2GiB), for the storage of intermediate results + druid.processing.buffer.sizeBytes: 50000000 + #The number of direct memory buffers available for merging query results. + druid.processing.numMergeBuffers: 4 + #The number of processing threads to have available for parallel processing of segments. + druid.processing.numThreads: 5 + middlemanager: + #Running memory of the Druid-Middlemanager. + java_opts: -Xmx1024m -Xms1024m + druid.indexer.fork.property.druid.processing.numMergeBuffers: 2 + druid.indexer.fork.property.druid.processing.buffer.sizeBytes: 20000000 + druid.indexer.fork.property.druid.processing.numThreads: 1 + +hadoop: + namenode: + #Running memory of the Hadoop Namenode. + java_opt: '-Xmx1024m -Xms1024m' + #The number of Namenode RPC server threads that listen to requests from clients. + dfs.namenode.handler.count: 30 + datanode: + #Running memory of the Hadoop Datanode. + java_opt: '-Xmx1024m -Xms1024m' + #The number of server threads for the datanode. + dfs.datanode.handler.count: 40 + journalnode: + #Running memory of the Hadoop JournalNode. + java_opt: '-Xmx1024m -Xms1024m' + zkfc: + #Running memory of the Hadoop DFSZKFailoverController. + java_opt: '-Xmx1024m -Xms1024m' + yarn: + resourcemanager: + #Running memory of the Hadoop ResourceManager. + java_opt: '-Xmx1024m -Xms1024m' + nodemanager: + #Running memory of the Hadoop NodeManager. + java_opt: '-Xmx1024m -Xms1024m' + #Amount of physical memory, in MB, that can be allocated for containers. + yarn.nodemanager.resource.memory-mb: 16384 + #The maximum allocation for every container request at the RM in MBs. + yarn.scheduler.maximum-allocation-mb: 16384 + #Number of vcores that can be allocated for containers. This is used by the RM scheduler when allocating resources for containers. + yarn.nodemanager.resource.cpu-vcores: 48 + #The maximum allocation for every container request at the RM in terms of virtual CPU cores. + yarn.scheduler.maximum-allocation-vcores: 48 + +flink: + #Total Process Memory size for the JobManager. + jobmanager.memory.process.size: 1024M + #Total Process Memory size for the TaskExecutors. + taskmanager.memory.process.size: 10240M + #This is the size of off-heap memory managed for sorting, hash tables, caching of intermediate results and state backend. + taskmanager.memory.managed.size: 512M + #Framework Off-Heap Memory size for TaskExecutors. This is the size of off-heap memory reserved for TaskExecutor framework + taskmanager.memory.framework.off-heap.size: 128M + #JVM Metaspace Size for the TaskExecutors. + taskmanager.memory.jvm-metaspace.size: 1024M + #Max Network Memory size for TaskExecutors. Network Memory is off-heap memory reserved for ShuffleEnvironment. + taskmanager.memory.network.max: 256M + #The number of parallel operator or user function instances that a single TaskManager can run. + #This value is typically proportional to the number of physical CPU cores that the TaskManager's machine has (e.g., equal to the number of cores, or half the number of cores). + taskmanager.numberOfTaskSlots: 1 + +hbase: + common: + #The HBase resource isolation function is used to group tables for storage. + enable_rsgroup: false + hmaster: + #Running memory of the HBase HMaster. + java_opt: '-Xmx1024m -Xms1024m' + regionserver: + #Running memory of the HBase HRegionserver. + java_opt: '-Xmx1024m -Xms1024m -Xmn128m' + #This defines the number of threads the region server keeps open to serve requests to tables,It should generally be set to (number of cores - 1) + hbase.regionserver.handler.count: 40 + #If any one of a column families' HStoreFiles has grown to exceed this value, the hosting HRegion is split in two. + hbase.hregion.max.filesize: 10737418240 + #Indicates the memory used by all read caches. The value can be the actual memory value, expressed in MB + hbase.bucketcache.size: 100 + +kafka: + #Running memory of the Kafka. + java_opt: '-Xmx1024m -Xms1024m' + #The minimum age of a log file to be eligible for deletion due to age + log.retention.hours: 168 + #A size-based retention policy for logs,unit byte + log.retention.bytes: 10737418240 + +clickhouse: + #Limit on total memory usage. Zero means Unlimited. + max_server_memory_usage: 30000000000 + #Sets the number of threads performing background merges and mutations for tables with MergeTree engines. + background_pool_size: 16 + +hos: + #Running memory of the Kafka. + java_opt: '-Xmx1024m -Xms1024m -Xmn512m' + #Download files quickly,Used for HBase with a memory larger than 20GB.open: 1 , close: 0 + isQuickDownloadFile: 0 + #Whether to enable SSL.open: 1 , close: 0 + enable_ssl: 0 + #nacos contains the name of the namespace where the configuration is stored + nacos.config.namespace: prod + +ignite: + #Running memory of the Nacos. + java_opt: '-Xmx1024m -Xms1024m' + #Setting region max size equal to physical RAM size(5 GB). + maxSize: '#{5L * 1024 * 1024 * 1024}' diff --git a/galaxy-data-platform/configuration/hosts b/galaxy-data-platform/configuration/hosts new file mode 100644 index 0000000..cd8f665 --- /dev/null +++ b/galaxy-data-platform/configuration/hosts @@ -0,0 +1,111 @@ +#============================================================================== +# Basic Components +# +# Orchestration & Coordinator & Configuration & Cold Storage +#============================================================================== + +#The cluster use master-master replication mode,maximum 2 servers. +[mariadb] + +#Apache Zookeeper is a centralized service for maintaining configuration information, naming, providing distributed synchronization, and providing group services. +#The cluster mode at least 3 servers,The number of nodes must be odd,Like 3/5 nodes. +[zookeeper] + + +#Alibaba Nacos an easy-to-use dynamic service discovery, configuration and service management platform +#The cluster mode at least 3 servers,Multi-node HA mode. +[nacos] + + +#Apache Hadoop HDFS(Hadoop Distributed File System) +#HDFS is deployed only in cluster mode. +#At least 3 servers,An HDFS cluster consists of two Namenodes and a certain number of Datanodes node. +[hdfs] + +#============================================================================== +# BigData Processing Components +# +# Big data is a term that refers to the massive volume, variety, and velocity of data that is generated from various sources and needs to be stored, processed, and analyzed efficiently. +# The Big Data processing component is used to provide a platform for fast and efficient processing +#============================================================================== + +#Apache Kafka is a distributed event streaming platform,used for high-performance data pipelines, streaming analytics. +#The cluster mode at least 3 servers,By default install CMAK(Management tool) on the first server. +[kafka] + + +#Apache Hadoop Yarn,Includes the Flink/Groot-stream runtime environment. +#Yarn is the resource management and job scheduling technology in the open source Hadoop distributed processing framework. +#The cluster mode at least 3 servers,A Yarn cluster consists of two ResourceManager (RM) and a certain number of NodeManager(NM) node. +[yarn] + + +#============================================================================== +# Analytic Storage Components +# +# This is a data storage solution designed to support large-scale data analysis and data mining workloads. +# The analytic Storage component it offers high performance, scalability, and flexibility to meet the demands of processing vast amounts of structured and unstructured data. +#============================================================================== + +#Apache HBase is the hosting of very large tables -- billions of rows X millions of columns -- atop clusters of commodity hardware +#The cluster mode at least 3 servers,A HBase cluster consists of three HMaster and a certain number of HRegionServer node. +[hbase] + + +#Apache Druid is a high performance, real-time analytics database that delivers sub-second queries on streaming and batch data at scale and under load. +#The cluster mode at least 3 servers,A Druid cluster consists of two master/query and a certain number of worker node. +[druid] + + +#Yandex ClickHouse is the fastest and most resource efficient open-source database for real-time apps and analytics. +#The cluster mode at least 3 servers,A Clickhouse cluster consists of two query and a certain number of data node. +[clickhouse] + + +#ArangoDB is a scalable graph database system to drive value from connected data, faster. +#Only support single server deployment. +[arangodb] + + +#Redis is an open source (BSD licensed), in-memory data structure store, used as a database, cache, and message broker. +#Supports single-node and master-slave modes +[redis] + + +#Apache Ignite is a leading distributed database management system for high-performance computing with in-memory speed +#Supports single-node and cluster modes +[ignite] + + +#============================================================================== +# OLAP Self-research service +# +#============================================================================== + +#The default proxy,Includes the Nginx/Keepalived,If it is a standalone mode, only Nginx. +#A maximum of two nodes. +[loadbalancer] + + +#The clickhouse query proxy,Usually deployed with loadbalancer. +[chproxy] + + +#Galaxy-hos-service is a distributed object storage service. +#Include components:Keepalived/Nginx/Galaxy-hos-service,If it is a standalone mode, only Galaxy-hos-service/Nginx. +#The cluster mode at least 2 servers,keepalived and nginx services are deployed on the first two nodes by default. +[galaxy_hos_service] + + +#The query gateway,Provides a unified query entry +[galaxy_qgw_service] + + +#A lightweight distributed task scheduling framework. +#Include components: Galaxy-job-admin/Galaxy-job-executor +[galaxy_job_service] + + +#The report execution service. +[saved_query_scheduler] + diff --git a/Apache Druid/26.0.0/druid/hosts b/galaxy-data-platform/parcels/roles/components/Apache Druid/26.0.0/druid/hosts similarity index 100% rename from Apache Druid/26.0.0/druid/hosts rename to galaxy-data-platform/parcels/roles/components/Apache Druid/26.0.0/druid/hosts diff --git a/Apache Druid/26.0.0/druid/install.yml b/galaxy-data-platform/parcels/roles/components/Apache Druid/26.0.0/druid/install.yml similarity index 100% rename from Apache Druid/26.0.0/druid/install.yml rename to galaxy-data-platform/parcels/roles/components/Apache Druid/26.0.0/druid/install.yml diff --git a/Apache Druid/26.0.0/druid/role/defaults/main.yml b/galaxy-data-platform/parcels/roles/components/Apache Druid/26.0.0/druid/role/defaults/main.yml similarity index 100% rename from Apache Druid/26.0.0/druid/role/defaults/main.yml rename to galaxy-data-platform/parcels/roles/components/Apache Druid/26.0.0/druid/role/defaults/main.yml diff --git a/Apache Druid/26.0.0/druid/role/files/conf.zip b/galaxy-data-platform/parcels/roles/components/Apache Druid/26.0.0/druid/role/files/conf.zip similarity index 100% rename from Apache Druid/26.0.0/druid/role/files/conf.zip rename to galaxy-data-platform/parcels/roles/components/Apache Druid/26.0.0/druid/role/files/conf.zip diff --git a/Apache Druid/26.0.0/druid/role/files/mysql b/galaxy-data-platform/parcels/roles/components/Apache Druid/26.0.0/druid/role/files/mysql similarity index 100% rename from Apache Druid/26.0.0/druid/role/files/mysql rename to galaxy-data-platform/parcels/roles/components/Apache Druid/26.0.0/druid/role/files/mysql diff --git a/Apache Druid/26.0.0/druid/role/handlers/main.yml b/galaxy-data-platform/parcels/roles/components/Apache Druid/26.0.0/druid/role/handlers/main.yml similarity index 100% rename from Apache Druid/26.0.0/druid/role/handlers/main.yml rename to galaxy-data-platform/parcels/roles/components/Apache Druid/26.0.0/druid/role/handlers/main.yml diff --git a/Apache Druid/26.0.0/druid/role/tasks/deploy.yml b/galaxy-data-platform/parcels/roles/components/Apache Druid/26.0.0/druid/role/tasks/deploy.yml similarity index 100% rename from Apache Druid/26.0.0/druid/role/tasks/deploy.yml rename to galaxy-data-platform/parcels/roles/components/Apache Druid/26.0.0/druid/role/tasks/deploy.yml diff --git a/Apache Druid/26.0.0/druid/role/tasks/main.yml b/galaxy-data-platform/parcels/roles/components/Apache Druid/26.0.0/druid/role/tasks/main.yml similarity index 100% rename from Apache Druid/26.0.0/druid/role/tasks/main.yml rename to galaxy-data-platform/parcels/roles/components/Apache Druid/26.0.0/druid/role/tasks/main.yml diff --git a/Apache Druid/26.0.0/druid/role/tasks/standalone/deploy.yml b/galaxy-data-platform/parcels/roles/components/Apache Druid/26.0.0/druid/role/tasks/standalone/deploy.yml similarity index 100% rename from Apache Druid/26.0.0/druid/role/tasks/standalone/deploy.yml rename to galaxy-data-platform/parcels/roles/components/Apache Druid/26.0.0/druid/role/tasks/standalone/deploy.yml diff --git a/Apache Druid/26.0.0/druid/role/tasks/standalone/uninstall.yml b/galaxy-data-platform/parcels/roles/components/Apache Druid/26.0.0/druid/role/tasks/standalone/uninstall.yml similarity index 100% rename from Apache Druid/26.0.0/druid/role/tasks/standalone/uninstall.yml rename to galaxy-data-platform/parcels/roles/components/Apache Druid/26.0.0/druid/role/tasks/standalone/uninstall.yml diff --git a/Apache Druid/26.0.0/druid/role/tasks/status-check.yml b/galaxy-data-platform/parcels/roles/components/Apache Druid/26.0.0/druid/role/tasks/status-check.yml similarity index 100% rename from Apache Druid/26.0.0/druid/role/tasks/status-check.yml rename to galaxy-data-platform/parcels/roles/components/Apache Druid/26.0.0/druid/role/tasks/status-check.yml diff --git a/Apache Druid/26.0.0/druid/role/tasks/uninstall.yml b/galaxy-data-platform/parcels/roles/components/Apache Druid/26.0.0/druid/role/tasks/uninstall.yml similarity index 100% rename from Apache Druid/26.0.0/druid/role/tasks/uninstall.yml rename to galaxy-data-platform/parcels/roles/components/Apache Druid/26.0.0/druid/role/tasks/uninstall.yml diff --git a/Apache Druid/26.0.0/druid/role/templates/broker_jvm.j2 b/galaxy-data-platform/parcels/roles/components/Apache Druid/26.0.0/druid/role/templates/broker_jvm.j2 similarity index 100% rename from Apache Druid/26.0.0/druid/role/templates/broker_jvm.j2 rename to galaxy-data-platform/parcels/roles/components/Apache Druid/26.0.0/druid/role/templates/broker_jvm.j2 diff --git a/Apache Druid/26.0.0/druid/role/templates/broker_runtime.j2 b/galaxy-data-platform/parcels/roles/components/Apache Druid/26.0.0/druid/role/templates/broker_runtime.j2 similarity index 100% rename from Apache Druid/26.0.0/druid/role/templates/broker_runtime.j2 rename to galaxy-data-platform/parcels/roles/components/Apache Druid/26.0.0/druid/role/templates/broker_runtime.j2 diff --git a/Apache Druid/26.0.0/druid/role/templates/common.runtime.properties.j2 b/galaxy-data-platform/parcels/roles/components/Apache Druid/26.0.0/druid/role/templates/common.runtime.properties.j2 similarity index 100% rename from Apache Druid/26.0.0/druid/role/templates/common.runtime.properties.j2 rename to galaxy-data-platform/parcels/roles/components/Apache Druid/26.0.0/druid/role/templates/common.runtime.properties.j2 diff --git a/Apache Druid/26.0.0/druid/role/templates/coordinator_jvm.j2 b/galaxy-data-platform/parcels/roles/components/Apache Druid/26.0.0/druid/role/templates/coordinator_jvm.j2 similarity index 100% rename from Apache Druid/26.0.0/druid/role/templates/coordinator_jvm.j2 rename to galaxy-data-platform/parcels/roles/components/Apache Druid/26.0.0/druid/role/templates/coordinator_jvm.j2 diff --git a/Apache Druid/26.0.0/druid/role/templates/docker-compose.yml.j2 b/galaxy-data-platform/parcels/roles/components/Apache Druid/26.0.0/druid/role/templates/docker-compose.yml.j2 similarity index 100% rename from Apache Druid/26.0.0/druid/role/templates/docker-compose.yml.j2 rename to galaxy-data-platform/parcels/roles/components/Apache Druid/26.0.0/druid/role/templates/docker-compose.yml.j2 diff --git a/Apache Druid/26.0.0/druid/role/templates/docker-compose_exporter.yml.j2 b/galaxy-data-platform/parcels/roles/components/Apache Druid/26.0.0/druid/role/templates/docker-compose_exporter.yml.j2 similarity index 100% rename from Apache Druid/26.0.0/druid/role/templates/docker-compose_exporter.yml.j2 rename to galaxy-data-platform/parcels/roles/components/Apache Druid/26.0.0/druid/role/templates/docker-compose_exporter.yml.j2 diff --git a/Apache Druid/26.0.0/druid/role/templates/historical_jvm.j2 b/galaxy-data-platform/parcels/roles/components/Apache Druid/26.0.0/druid/role/templates/historical_jvm.j2 similarity index 100% rename from Apache Druid/26.0.0/druid/role/templates/historical_jvm.j2 rename to galaxy-data-platform/parcels/roles/components/Apache Druid/26.0.0/druid/role/templates/historical_jvm.j2 diff --git a/Apache Druid/26.0.0/druid/role/templates/historical_runtime.j2 b/galaxy-data-platform/parcels/roles/components/Apache Druid/26.0.0/druid/role/templates/historical_runtime.j2 similarity index 100% rename from Apache Druid/26.0.0/druid/role/templates/historical_runtime.j2 rename to galaxy-data-platform/parcels/roles/components/Apache Druid/26.0.0/druid/role/templates/historical_runtime.j2 diff --git a/Apache Druid/26.0.0/druid/role/templates/middleManager_jvm.j2 b/galaxy-data-platform/parcels/roles/components/Apache Druid/26.0.0/druid/role/templates/middleManager_jvm.j2 similarity index 100% rename from Apache Druid/26.0.0/druid/role/templates/middleManager_jvm.j2 rename to galaxy-data-platform/parcels/roles/components/Apache Druid/26.0.0/druid/role/templates/middleManager_jvm.j2 diff --git a/Apache Druid/26.0.0/druid/role/templates/middleManager_runtime.properties.j2 b/galaxy-data-platform/parcels/roles/components/Apache Druid/26.0.0/druid/role/templates/middleManager_runtime.properties.j2 similarity index 100% rename from Apache Druid/26.0.0/druid/role/templates/middleManager_runtime.properties.j2 rename to galaxy-data-platform/parcels/roles/components/Apache Druid/26.0.0/druid/role/templates/middleManager_runtime.properties.j2 diff --git a/Apache Druid/26.0.0/druid/role/templates/router_runtime.properties.j2 b/galaxy-data-platform/parcels/roles/components/Apache Druid/26.0.0/druid/role/templates/router_runtime.properties.j2 similarity index 100% rename from Apache Druid/26.0.0/druid/role/templates/router_runtime.properties.j2 rename to galaxy-data-platform/parcels/roles/components/Apache Druid/26.0.0/druid/role/templates/router_runtime.properties.j2 diff --git a/Apache Druid/26.0.0/druid/role/vars/main.yml b/galaxy-data-platform/parcels/roles/components/Apache Druid/26.0.0/druid/role/vars/main.yml similarity index 100% rename from Apache Druid/26.0.0/druid/role/vars/main.yml rename to galaxy-data-platform/parcels/roles/components/Apache Druid/26.0.0/druid/role/vars/main.yml diff --git a/Apache HBase/2.2.3/hbase/hosts b/galaxy-data-platform/parcels/roles/components/Apache HBase/2.2.3/hbase/hosts similarity index 100% rename from Apache HBase/2.2.3/hbase/hosts rename to galaxy-data-platform/parcels/roles/components/Apache HBase/2.2.3/hbase/hosts diff --git a/Apache HBase/2.2.3/hbase/install.yml b/galaxy-data-platform/parcels/roles/components/Apache HBase/2.2.3/hbase/install.yml similarity index 100% rename from Apache HBase/2.2.3/hbase/install.yml rename to galaxy-data-platform/parcels/roles/components/Apache HBase/2.2.3/hbase/install.yml diff --git a/Apache HBase/2.2.3/hbase/role/defaults/main.yml b/galaxy-data-platform/parcels/roles/components/Apache HBase/2.2.3/hbase/role/defaults/main.yml similarity index 100% rename from Apache HBase/2.2.3/hbase/role/defaults/main.yml rename to galaxy-data-platform/parcels/roles/components/Apache HBase/2.2.3/hbase/role/defaults/main.yml diff --git a/Apache HBase/2.2.3/hbase/role/files/conf.zip b/galaxy-data-platform/parcels/roles/components/Apache HBase/2.2.3/hbase/role/files/conf.zip similarity index 100% rename from Apache HBase/2.2.3/hbase/role/files/conf.zip rename to galaxy-data-platform/parcels/roles/components/Apache HBase/2.2.3/hbase/role/files/conf.zip diff --git a/Apache HBase/2.2.3/hbase/role/handlers/main.yml b/galaxy-data-platform/parcels/roles/components/Apache HBase/2.2.3/hbase/role/handlers/main.yml similarity index 100% rename from Apache HBase/2.2.3/hbase/role/handlers/main.yml rename to galaxy-data-platform/parcels/roles/components/Apache HBase/2.2.3/hbase/role/handlers/main.yml diff --git a/Apache HBase/2.2.3/hbase/role/tasks/deploy-cluster.yml b/galaxy-data-platform/parcels/roles/components/Apache HBase/2.2.3/hbase/role/tasks/deploy-cluster.yml similarity index 100% rename from Apache HBase/2.2.3/hbase/role/tasks/deploy-cluster.yml rename to galaxy-data-platform/parcels/roles/components/Apache HBase/2.2.3/hbase/role/tasks/deploy-cluster.yml diff --git a/Apache HBase/2.2.3/hbase/role/tasks/deploy-standalone.yml b/galaxy-data-platform/parcels/roles/components/Apache HBase/2.2.3/hbase/role/tasks/deploy-standalone.yml similarity index 100% rename from Apache HBase/2.2.3/hbase/role/tasks/deploy-standalone.yml rename to galaxy-data-platform/parcels/roles/components/Apache HBase/2.2.3/hbase/role/tasks/deploy-standalone.yml diff --git a/Apache HBase/2.2.3/hbase/role/tasks/main.yml b/galaxy-data-platform/parcels/roles/components/Apache HBase/2.2.3/hbase/role/tasks/main.yml similarity index 100% rename from Apache HBase/2.2.3/hbase/role/tasks/main.yml rename to galaxy-data-platform/parcels/roles/components/Apache HBase/2.2.3/hbase/role/tasks/main.yml diff --git a/Apache HBase/2.2.3/hbase/role/tasks/standalone/deploy.yml b/galaxy-data-platform/parcels/roles/components/Apache HBase/2.2.3/hbase/role/tasks/standalone/deploy.yml similarity index 100% rename from Apache HBase/2.2.3/hbase/role/tasks/standalone/deploy.yml rename to galaxy-data-platform/parcels/roles/components/Apache HBase/2.2.3/hbase/role/tasks/standalone/deploy.yml diff --git a/Apache HBase/2.2.3/hbase/role/tasks/standalone/uninstall.yml b/galaxy-data-platform/parcels/roles/components/Apache HBase/2.2.3/hbase/role/tasks/standalone/uninstall.yml similarity index 100% rename from Apache HBase/2.2.3/hbase/role/tasks/standalone/uninstall.yml rename to galaxy-data-platform/parcels/roles/components/Apache HBase/2.2.3/hbase/role/tasks/standalone/uninstall.yml diff --git a/Apache HBase/2.2.3/hbase/role/tasks/status-check.yml b/galaxy-data-platform/parcels/roles/components/Apache HBase/2.2.3/hbase/role/tasks/status-check.yml similarity index 100% rename from Apache HBase/2.2.3/hbase/role/tasks/status-check.yml rename to galaxy-data-platform/parcels/roles/components/Apache HBase/2.2.3/hbase/role/tasks/status-check.yml diff --git a/Apache HBase/2.2.3/hbase/role/tasks/uninstall.yml b/galaxy-data-platform/parcels/roles/components/Apache HBase/2.2.3/hbase/role/tasks/uninstall.yml similarity index 100% rename from Apache HBase/2.2.3/hbase/role/tasks/uninstall.yml rename to galaxy-data-platform/parcels/roles/components/Apache HBase/2.2.3/hbase/role/tasks/uninstall.yml diff --git a/Apache HBase/2.2.3/hbase/role/templates/backup-masters.j2 b/galaxy-data-platform/parcels/roles/components/Apache HBase/2.2.3/hbase/role/templates/backup-masters.j2 similarity index 100% rename from Apache HBase/2.2.3/hbase/role/templates/backup-masters.j2 rename to galaxy-data-platform/parcels/roles/components/Apache HBase/2.2.3/hbase/role/templates/backup-masters.j2 diff --git a/Apache HBase/2.2.3/hbase/role/templates/docker-compose.yml.j2 b/galaxy-data-platform/parcels/roles/components/Apache HBase/2.2.3/hbase/role/templates/docker-compose.yml.j2 similarity index 100% rename from Apache HBase/2.2.3/hbase/role/templates/docker-compose.yml.j2 rename to galaxy-data-platform/parcels/roles/components/Apache HBase/2.2.3/hbase/role/templates/docker-compose.yml.j2 diff --git a/Apache HBase/2.2.3/hbase/role/templates/hbase-env.sh.j2 b/galaxy-data-platform/parcels/roles/components/Apache HBase/2.2.3/hbase/role/templates/hbase-env.sh.j2 similarity index 100% rename from Apache HBase/2.2.3/hbase/role/templates/hbase-env.sh.j2 rename to galaxy-data-platform/parcels/roles/components/Apache HBase/2.2.3/hbase/role/templates/hbase-env.sh.j2 diff --git a/Apache HBase/2.2.3/hbase/role/templates/hbase-site.xml.j2 b/galaxy-data-platform/parcels/roles/components/Apache HBase/2.2.3/hbase/role/templates/hbase-site.xml.j2 similarity index 100% rename from Apache HBase/2.2.3/hbase/role/templates/hbase-site.xml.j2 rename to galaxy-data-platform/parcels/roles/components/Apache HBase/2.2.3/hbase/role/templates/hbase-site.xml.j2 diff --git a/Apache HBase/2.2.3/hbase/role/templates/regionservers.j2 b/galaxy-data-platform/parcels/roles/components/Apache HBase/2.2.3/hbase/role/templates/regionservers.j2 similarity index 100% rename from Apache HBase/2.2.3/hbase/role/templates/regionservers.j2 rename to galaxy-data-platform/parcels/roles/components/Apache HBase/2.2.3/hbase/role/templates/regionservers.j2 diff --git a/Apache HBase/2.2.3/hbase/role/templates/rsgroup.sh.j2 b/galaxy-data-platform/parcels/roles/components/Apache HBase/2.2.3/hbase/role/templates/rsgroup.sh.j2 similarity index 100% rename from Apache HBase/2.2.3/hbase/role/templates/rsgroup.sh.j2 rename to galaxy-data-platform/parcels/roles/components/Apache HBase/2.2.3/hbase/role/templates/rsgroup.sh.j2 diff --git a/Apache HBase/2.2.3/hbase/role/templates/startsql.sh.j2 b/galaxy-data-platform/parcels/roles/components/Apache HBase/2.2.3/hbase/role/templates/startsql.sh.j2 similarity index 100% rename from Apache HBase/2.2.3/hbase/role/templates/startsql.sh.j2 rename to galaxy-data-platform/parcels/roles/components/Apache HBase/2.2.3/hbase/role/templates/startsql.sh.j2 diff --git a/Apache HBase/2.2.3/hbase/role/vars/main.yml b/galaxy-data-platform/parcels/roles/components/Apache HBase/2.2.3/hbase/role/vars/main.yml similarity index 100% rename from Apache HBase/2.2.3/hbase/role/vars/main.yml rename to galaxy-data-platform/parcels/roles/components/Apache HBase/2.2.3/hbase/role/vars/main.yml diff --git a/Apache Hadoop/2.7.1/hdfs/hosts b/galaxy-data-platform/parcels/roles/components/Apache Hadoop/2.7.1/hdfs/hosts similarity index 100% rename from Apache Hadoop/2.7.1/hdfs/hosts rename to galaxy-data-platform/parcels/roles/components/Apache Hadoop/2.7.1/hdfs/hosts diff --git a/Apache Hadoop/2.7.1/hdfs/install.yml b/galaxy-data-platform/parcels/roles/components/Apache Hadoop/2.7.1/hdfs/install.yml similarity index 100% rename from Apache Hadoop/2.7.1/hdfs/install.yml rename to galaxy-data-platform/parcels/roles/components/Apache Hadoop/2.7.1/hdfs/install.yml diff --git a/Apache Hadoop/2.7.1/hdfs/role/defaults/main.yml b/galaxy-data-platform/parcels/roles/components/Apache Hadoop/2.7.1/hdfs/role/defaults/main.yml similarity index 100% rename from Apache Hadoop/2.7.1/hdfs/role/defaults/main.yml rename to galaxy-data-platform/parcels/roles/components/Apache Hadoop/2.7.1/hdfs/role/defaults/main.yml diff --git a/Apache Hadoop/2.7.1/hdfs/role/tasks/deploy.yml b/galaxy-data-platform/parcels/roles/components/Apache Hadoop/2.7.1/hdfs/role/tasks/deploy.yml similarity index 100% rename from Apache Hadoop/2.7.1/hdfs/role/tasks/deploy.yml rename to galaxy-data-platform/parcels/roles/components/Apache Hadoop/2.7.1/hdfs/role/tasks/deploy.yml diff --git a/Apache Hadoop/2.7.1/hdfs/role/tasks/main.yml b/galaxy-data-platform/parcels/roles/components/Apache Hadoop/2.7.1/hdfs/role/tasks/main.yml similarity index 100% rename from Apache Hadoop/2.7.1/hdfs/role/tasks/main.yml rename to galaxy-data-platform/parcels/roles/components/Apache Hadoop/2.7.1/hdfs/role/tasks/main.yml diff --git a/Apache Hadoop/2.7.1/hdfs/role/tasks/status-check.yml b/galaxy-data-platform/parcels/roles/components/Apache Hadoop/2.7.1/hdfs/role/tasks/status-check.yml similarity index 100% rename from Apache Hadoop/2.7.1/hdfs/role/tasks/status-check.yml rename to galaxy-data-platform/parcels/roles/components/Apache Hadoop/2.7.1/hdfs/role/tasks/status-check.yml diff --git a/Apache Hadoop/2.7.1/hdfs/role/tasks/uninstall.yml b/galaxy-data-platform/parcels/roles/components/Apache Hadoop/2.7.1/hdfs/role/tasks/uninstall.yml similarity index 100% rename from Apache Hadoop/2.7.1/hdfs/role/tasks/uninstall.yml rename to galaxy-data-platform/parcels/roles/components/Apache Hadoop/2.7.1/hdfs/role/tasks/uninstall.yml diff --git a/Apache Hadoop/2.7.1/hdfs/role/templates/core-site.xml.j2 b/galaxy-data-platform/parcels/roles/components/Apache Hadoop/2.7.1/hdfs/role/templates/core-site.xml.j2 similarity index 100% rename from Apache Hadoop/2.7.1/hdfs/role/templates/core-site.xml.j2 rename to galaxy-data-platform/parcels/roles/components/Apache Hadoop/2.7.1/hdfs/role/templates/core-site.xml.j2 diff --git a/Apache Hadoop/2.7.1/hdfs/role/templates/daemonscript/dae-hdfsjournal.sh.j2 b/galaxy-data-platform/parcels/roles/components/Apache Hadoop/2.7.1/hdfs/role/templates/daemonscript/dae-hdfsjournal.sh.j2 similarity index 100% rename from Apache Hadoop/2.7.1/hdfs/role/templates/daemonscript/dae-hdfsjournal.sh.j2 rename to galaxy-data-platform/parcels/roles/components/Apache Hadoop/2.7.1/hdfs/role/templates/daemonscript/dae-hdfsjournal.sh.j2 diff --git a/Apache Hadoop/2.7.1/hdfs/role/templates/daemonscript/dae-hdfsmaster.sh.j2 b/galaxy-data-platform/parcels/roles/components/Apache Hadoop/2.7.1/hdfs/role/templates/daemonscript/dae-hdfsmaster.sh.j2 similarity index 100% rename from Apache Hadoop/2.7.1/hdfs/role/templates/daemonscript/dae-hdfsmaster.sh.j2 rename to galaxy-data-platform/parcels/roles/components/Apache Hadoop/2.7.1/hdfs/role/templates/daemonscript/dae-hdfsmaster.sh.j2 diff --git a/Apache Hadoop/2.7.1/hdfs/role/templates/daemonscript/dae-hdfsslave.sh.j2 b/galaxy-data-platform/parcels/roles/components/Apache Hadoop/2.7.1/hdfs/role/templates/daemonscript/dae-hdfsslave.sh.j2 similarity index 100% rename from Apache Hadoop/2.7.1/hdfs/role/templates/daemonscript/dae-hdfsslave.sh.j2 rename to galaxy-data-platform/parcels/roles/components/Apache Hadoop/2.7.1/hdfs/role/templates/daemonscript/dae-hdfsslave.sh.j2 diff --git a/Apache Hadoop/2.7.1/hdfs/role/templates/daemonscript/dae-hdfsworker.sh.j2 b/galaxy-data-platform/parcels/roles/components/Apache Hadoop/2.7.1/hdfs/role/templates/daemonscript/dae-hdfsworker.sh.j2 similarity index 100% rename from Apache Hadoop/2.7.1/hdfs/role/templates/daemonscript/dae-hdfsworker.sh.j2 rename to galaxy-data-platform/parcels/roles/components/Apache Hadoop/2.7.1/hdfs/role/templates/daemonscript/dae-hdfsworker.sh.j2 diff --git a/Apache Hadoop/2.7.1/hdfs/role/templates/daemonscript/keephdfsjournal.j2 b/galaxy-data-platform/parcels/roles/components/Apache Hadoop/2.7.1/hdfs/role/templates/daemonscript/keephdfsjournal.j2 similarity index 100% rename from Apache Hadoop/2.7.1/hdfs/role/templates/daemonscript/keephdfsjournal.j2 rename to galaxy-data-platform/parcels/roles/components/Apache Hadoop/2.7.1/hdfs/role/templates/daemonscript/keephdfsjournal.j2 diff --git a/Apache Hadoop/2.7.1/hdfs/role/templates/daemonscript/keephdfsmaster.j2 b/galaxy-data-platform/parcels/roles/components/Apache Hadoop/2.7.1/hdfs/role/templates/daemonscript/keephdfsmaster.j2 similarity index 100% rename from Apache Hadoop/2.7.1/hdfs/role/templates/daemonscript/keephdfsmaster.j2 rename to galaxy-data-platform/parcels/roles/components/Apache Hadoop/2.7.1/hdfs/role/templates/daemonscript/keephdfsmaster.j2 diff --git a/Apache Hadoop/2.7.1/hdfs/role/templates/daemonscript/keephdfsslave.j2 b/galaxy-data-platform/parcels/roles/components/Apache Hadoop/2.7.1/hdfs/role/templates/daemonscript/keephdfsslave.j2 similarity index 100% rename from Apache Hadoop/2.7.1/hdfs/role/templates/daemonscript/keephdfsslave.j2 rename to galaxy-data-platform/parcels/roles/components/Apache Hadoop/2.7.1/hdfs/role/templates/daemonscript/keephdfsslave.j2 diff --git a/Apache Hadoop/2.7.1/hdfs/role/templates/daemonscript/keephdfsworker.j2 b/galaxy-data-platform/parcels/roles/components/Apache Hadoop/2.7.1/hdfs/role/templates/daemonscript/keephdfsworker.j2 similarity index 100% rename from Apache Hadoop/2.7.1/hdfs/role/templates/daemonscript/keephdfsworker.j2 rename to galaxy-data-platform/parcels/roles/components/Apache Hadoop/2.7.1/hdfs/role/templates/daemonscript/keephdfsworker.j2 diff --git a/Apache Hadoop/2.7.1/hdfs/role/templates/hadoop-env.sh.j2 b/galaxy-data-platform/parcels/roles/components/Apache Hadoop/2.7.1/hdfs/role/templates/hadoop-env.sh.j2 similarity index 100% rename from Apache Hadoop/2.7.1/hdfs/role/templates/hadoop-env.sh.j2 rename to galaxy-data-platform/parcels/roles/components/Apache Hadoop/2.7.1/hdfs/role/templates/hadoop-env.sh.j2 diff --git a/Apache Hadoop/2.7.1/hdfs/role/templates/hdfs-site.xml.j2 b/galaxy-data-platform/parcels/roles/components/Apache Hadoop/2.7.1/hdfs/role/templates/hdfs-site.xml.j2 similarity index 100% rename from Apache Hadoop/2.7.1/hdfs/role/templates/hdfs-site.xml.j2 rename to galaxy-data-platform/parcels/roles/components/Apache Hadoop/2.7.1/hdfs/role/templates/hdfs-site.xml.j2 diff --git a/Apache Hadoop/2.7.1/hdfs/role/templates/ini_hdfs.sh.j2 b/galaxy-data-platform/parcels/roles/components/Apache Hadoop/2.7.1/hdfs/role/templates/ini_hdfs.sh.j2 similarity index 100% rename from Apache Hadoop/2.7.1/hdfs/role/templates/ini_hdfs.sh.j2 rename to galaxy-data-platform/parcels/roles/components/Apache Hadoop/2.7.1/hdfs/role/templates/ini_hdfs.sh.j2 diff --git a/Apache Hadoop/2.7.1/hdfs/role/templates/mapred-site.xml.j2 b/galaxy-data-platform/parcels/roles/components/Apache Hadoop/2.7.1/hdfs/role/templates/mapred-site.xml.j2 similarity index 100% rename from Apache Hadoop/2.7.1/hdfs/role/templates/mapred-site.xml.j2 rename to galaxy-data-platform/parcels/roles/components/Apache Hadoop/2.7.1/hdfs/role/templates/mapred-site.xml.j2 diff --git a/Apache Hadoop/2.7.1/hdfs/role/templates/set_hdfs_env.sh.j2 b/galaxy-data-platform/parcels/roles/components/Apache Hadoop/2.7.1/hdfs/role/templates/set_hdfs_env.sh.j2 similarity index 100% rename from Apache Hadoop/2.7.1/hdfs/role/templates/set_hdfs_env.sh.j2 rename to galaxy-data-platform/parcels/roles/components/Apache Hadoop/2.7.1/hdfs/role/templates/set_hdfs_env.sh.j2 diff --git a/Apache Hadoop/2.7.1/hdfs/role/templates/slaves.j2 b/galaxy-data-platform/parcels/roles/components/Apache Hadoop/2.7.1/hdfs/role/templates/slaves.j2 similarity index 100% rename from Apache Hadoop/2.7.1/hdfs/role/templates/slaves.j2 rename to galaxy-data-platform/parcels/roles/components/Apache Hadoop/2.7.1/hdfs/role/templates/slaves.j2 diff --git a/Apache Hadoop/2.7.1/hdfs/role/templates/unload_hdfs.sh.j2 b/galaxy-data-platform/parcels/roles/components/Apache Hadoop/2.7.1/hdfs/role/templates/unload_hdfs.sh.j2 similarity index 100% rename from Apache Hadoop/2.7.1/hdfs/role/templates/unload_hdfs.sh.j2 rename to galaxy-data-platform/parcels/roles/components/Apache Hadoop/2.7.1/hdfs/role/templates/unload_hdfs.sh.j2 diff --git a/Apache Hadoop/2.7.1/hdfs/role/vars/main.yml b/galaxy-data-platform/parcels/roles/components/Apache Hadoop/2.7.1/hdfs/role/vars/main.yml similarity index 100% rename from Apache Hadoop/2.7.1/hdfs/role/vars/main.yml rename to galaxy-data-platform/parcels/roles/components/Apache Hadoop/2.7.1/hdfs/role/vars/main.yml diff --git a/Apache Hadoop/2.7.1/yarn/hosts b/galaxy-data-platform/parcels/roles/components/Apache Hadoop/2.7.1/yarn/hosts similarity index 100% rename from Apache Hadoop/2.7.1/yarn/hosts rename to galaxy-data-platform/parcels/roles/components/Apache Hadoop/2.7.1/yarn/hosts diff --git a/Apache Hadoop/2.7.1/yarn/install.yml b/galaxy-data-platform/parcels/roles/components/Apache Hadoop/2.7.1/yarn/install.yml similarity index 100% rename from Apache Hadoop/2.7.1/yarn/install.yml rename to galaxy-data-platform/parcels/roles/components/Apache Hadoop/2.7.1/yarn/install.yml diff --git a/Apache Hadoop/2.7.1/yarn/role/defaults/main.yml b/galaxy-data-platform/parcels/roles/components/Apache Hadoop/2.7.1/yarn/role/defaults/main.yml similarity index 100% rename from Apache Hadoop/2.7.1/yarn/role/defaults/main.yml rename to galaxy-data-platform/parcels/roles/components/Apache Hadoop/2.7.1/yarn/role/defaults/main.yml diff --git a/Apache Hadoop/2.7.1/yarn/role/tasks/deploy-cluster.yml b/galaxy-data-platform/parcels/roles/components/Apache Hadoop/2.7.1/yarn/role/tasks/deploy-cluster.yml similarity index 100% rename from Apache Hadoop/2.7.1/yarn/role/tasks/deploy-cluster.yml rename to galaxy-data-platform/parcels/roles/components/Apache Hadoop/2.7.1/yarn/role/tasks/deploy-cluster.yml diff --git a/Apache Hadoop/2.7.1/yarn/role/tasks/deploy-standalone.yml b/galaxy-data-platform/parcels/roles/components/Apache Hadoop/2.7.1/yarn/role/tasks/deploy-standalone.yml similarity index 100% rename from Apache Hadoop/2.7.1/yarn/role/tasks/deploy-standalone.yml rename to galaxy-data-platform/parcels/roles/components/Apache Hadoop/2.7.1/yarn/role/tasks/deploy-standalone.yml diff --git a/Apache Hadoop/2.7.1/yarn/role/tasks/main.yml b/galaxy-data-platform/parcels/roles/components/Apache Hadoop/2.7.1/yarn/role/tasks/main.yml similarity index 100% rename from Apache Hadoop/2.7.1/yarn/role/tasks/main.yml rename to galaxy-data-platform/parcels/roles/components/Apache Hadoop/2.7.1/yarn/role/tasks/main.yml diff --git a/Apache Hadoop/2.7.1/yarn/role/tasks/status-check.yml b/galaxy-data-platform/parcels/roles/components/Apache Hadoop/2.7.1/yarn/role/tasks/status-check.yml similarity index 100% rename from Apache Hadoop/2.7.1/yarn/role/tasks/status-check.yml rename to galaxy-data-platform/parcels/roles/components/Apache Hadoop/2.7.1/yarn/role/tasks/status-check.yml diff --git a/Apache Hadoop/2.7.1/yarn/role/tasks/uninstall.yml b/galaxy-data-platform/parcels/roles/components/Apache Hadoop/2.7.1/yarn/role/tasks/uninstall.yml similarity index 100% rename from Apache Hadoop/2.7.1/yarn/role/tasks/uninstall.yml rename to galaxy-data-platform/parcels/roles/components/Apache Hadoop/2.7.1/yarn/role/tasks/uninstall.yml diff --git a/Apache Hadoop/2.7.1/yarn/role/templates/capacity-scheduler.xml.j2 b/galaxy-data-platform/parcels/roles/components/Apache Hadoop/2.7.1/yarn/role/templates/capacity-scheduler.xml.j2 similarity index 100% rename from Apache Hadoop/2.7.1/yarn/role/templates/capacity-scheduler.xml.j2 rename to galaxy-data-platform/parcels/roles/components/Apache Hadoop/2.7.1/yarn/role/templates/capacity-scheduler.xml.j2 diff --git a/Apache Hadoop/2.7.1/yarn/role/templates/core-site.xml.j2 b/galaxy-data-platform/parcels/roles/components/Apache Hadoop/2.7.1/yarn/role/templates/core-site.xml.j2 similarity index 100% rename from Apache Hadoop/2.7.1/yarn/role/templates/core-site.xml.j2 rename to galaxy-data-platform/parcels/roles/components/Apache Hadoop/2.7.1/yarn/role/templates/core-site.xml.j2 diff --git a/Apache Hadoop/2.7.1/yarn/role/templates/daemonscript/dae-yarnhistory.sh.j2 b/galaxy-data-platform/parcels/roles/components/Apache Hadoop/2.7.1/yarn/role/templates/daemonscript/dae-yarnhistory.sh.j2 similarity index 100% rename from Apache Hadoop/2.7.1/yarn/role/templates/daemonscript/dae-yarnhistory.sh.j2 rename to galaxy-data-platform/parcels/roles/components/Apache Hadoop/2.7.1/yarn/role/templates/daemonscript/dae-yarnhistory.sh.j2 diff --git a/Apache Hadoop/2.7.1/yarn/role/templates/daemonscript/dae-yarnmaster.sh.j2 b/galaxy-data-platform/parcels/roles/components/Apache Hadoop/2.7.1/yarn/role/templates/daemonscript/dae-yarnmaster.sh.j2 similarity index 100% rename from Apache Hadoop/2.7.1/yarn/role/templates/daemonscript/dae-yarnmaster.sh.j2 rename to galaxy-data-platform/parcels/roles/components/Apache Hadoop/2.7.1/yarn/role/templates/daemonscript/dae-yarnmaster.sh.j2 diff --git a/Apache Hadoop/2.7.1/yarn/role/templates/daemonscript/dae-yarnworker.sh.j2 b/galaxy-data-platform/parcels/roles/components/Apache Hadoop/2.7.1/yarn/role/templates/daemonscript/dae-yarnworker.sh.j2 similarity index 100% rename from Apache Hadoop/2.7.1/yarn/role/templates/daemonscript/dae-yarnworker.sh.j2 rename to galaxy-data-platform/parcels/roles/components/Apache Hadoop/2.7.1/yarn/role/templates/daemonscript/dae-yarnworker.sh.j2 diff --git a/Apache Hadoop/2.7.1/yarn/role/templates/daemonscript/keepyarnhistory.j2 b/galaxy-data-platform/parcels/roles/components/Apache Hadoop/2.7.1/yarn/role/templates/daemonscript/keepyarnhistory.j2 similarity index 100% rename from Apache Hadoop/2.7.1/yarn/role/templates/daemonscript/keepyarnhistory.j2 rename to galaxy-data-platform/parcels/roles/components/Apache Hadoop/2.7.1/yarn/role/templates/daemonscript/keepyarnhistory.j2 diff --git a/Apache Hadoop/2.7.1/yarn/role/templates/daemonscript/keepyarnmaster.j2 b/galaxy-data-platform/parcels/roles/components/Apache Hadoop/2.7.1/yarn/role/templates/daemonscript/keepyarnmaster.j2 similarity index 100% rename from Apache Hadoop/2.7.1/yarn/role/templates/daemonscript/keepyarnmaster.j2 rename to galaxy-data-platform/parcels/roles/components/Apache Hadoop/2.7.1/yarn/role/templates/daemonscript/keepyarnmaster.j2 diff --git a/Apache Hadoop/2.7.1/yarn/role/templates/daemonscript/keepyarnworker.j2 b/galaxy-data-platform/parcels/roles/components/Apache Hadoop/2.7.1/yarn/role/templates/daemonscript/keepyarnworker.j2 similarity index 100% rename from Apache Hadoop/2.7.1/yarn/role/templates/daemonscript/keepyarnworker.j2 rename to galaxy-data-platform/parcels/roles/components/Apache Hadoop/2.7.1/yarn/role/templates/daemonscript/keepyarnworker.j2 diff --git a/Apache Hadoop/2.7.1/yarn/role/templates/flink/flink-conf.yaml.j2 b/galaxy-data-platform/parcels/roles/components/Apache Hadoop/2.7.1/yarn/role/templates/flink/flink-conf.yaml.j2 similarity index 100% rename from Apache Hadoop/2.7.1/yarn/role/templates/flink/flink-conf.yaml.j2 rename to galaxy-data-platform/parcels/roles/components/Apache Hadoop/2.7.1/yarn/role/templates/flink/flink-conf.yaml.j2 diff --git a/Apache Hadoop/2.7.1/yarn/role/templates/flink/flink.sh.j2 b/galaxy-data-platform/parcels/roles/components/Apache Hadoop/2.7.1/yarn/role/templates/flink/flink.sh.j2 similarity index 100% rename from Apache Hadoop/2.7.1/yarn/role/templates/flink/flink.sh.j2 rename to galaxy-data-platform/parcels/roles/components/Apache Hadoop/2.7.1/yarn/role/templates/flink/flink.sh.j2 diff --git a/Apache Hadoop/2.7.1/yarn/role/templates/hadoop-env.sh.j2 b/galaxy-data-platform/parcels/roles/components/Apache Hadoop/2.7.1/yarn/role/templates/hadoop-env.sh.j2 similarity index 100% rename from Apache Hadoop/2.7.1/yarn/role/templates/hadoop-env.sh.j2 rename to galaxy-data-platform/parcels/roles/components/Apache Hadoop/2.7.1/yarn/role/templates/hadoop-env.sh.j2 diff --git a/Apache Hadoop/2.7.1/yarn/role/templates/hdfs-site.xml.j2 b/galaxy-data-platform/parcels/roles/components/Apache Hadoop/2.7.1/yarn/role/templates/hdfs-site.xml.j2 similarity index 100% rename from Apache Hadoop/2.7.1/yarn/role/templates/hdfs-site.xml.j2 rename to galaxy-data-platform/parcels/roles/components/Apache Hadoop/2.7.1/yarn/role/templates/hdfs-site.xml.j2 diff --git a/Apache Hadoop/2.7.1/yarn/role/templates/mapred-site.xml.j2 b/galaxy-data-platform/parcels/roles/components/Apache Hadoop/2.7.1/yarn/role/templates/mapred-site.xml.j2 similarity index 100% rename from Apache Hadoop/2.7.1/yarn/role/templates/mapred-site.xml.j2 rename to galaxy-data-platform/parcels/roles/components/Apache Hadoop/2.7.1/yarn/role/templates/mapred-site.xml.j2 diff --git a/Apache Hadoop/2.7.1/yarn/role/templates/set_yarn_env.sh.j2 b/galaxy-data-platform/parcels/roles/components/Apache Hadoop/2.7.1/yarn/role/templates/set_yarn_env.sh.j2 similarity index 100% rename from Apache Hadoop/2.7.1/yarn/role/templates/set_yarn_env.sh.j2 rename to galaxy-data-platform/parcels/roles/components/Apache Hadoop/2.7.1/yarn/role/templates/set_yarn_env.sh.j2 diff --git a/Apache Hadoop/2.7.1/yarn/role/templates/slaves.j2 b/galaxy-data-platform/parcels/roles/components/Apache Hadoop/2.7.1/yarn/role/templates/slaves.j2 similarity index 100% rename from Apache Hadoop/2.7.1/yarn/role/templates/slaves.j2 rename to galaxy-data-platform/parcels/roles/components/Apache Hadoop/2.7.1/yarn/role/templates/slaves.j2 diff --git a/Apache Hadoop/2.7.1/yarn/role/templates/standalone/core-site.xml.j2 b/galaxy-data-platform/parcels/roles/components/Apache Hadoop/2.7.1/yarn/role/templates/standalone/core-site.xml.j2 similarity index 100% rename from Apache Hadoop/2.7.1/yarn/role/templates/standalone/core-site.xml.j2 rename to galaxy-data-platform/parcels/roles/components/Apache Hadoop/2.7.1/yarn/role/templates/standalone/core-site.xml.j2 diff --git a/Apache Hadoop/2.7.1/yarn/role/templates/standalone/hdfs-site.xml.j2 b/galaxy-data-platform/parcels/roles/components/Apache Hadoop/2.7.1/yarn/role/templates/standalone/hdfs-site.xml.j2 similarity index 100% rename from Apache Hadoop/2.7.1/yarn/role/templates/standalone/hdfs-site.xml.j2 rename to galaxy-data-platform/parcels/roles/components/Apache Hadoop/2.7.1/yarn/role/templates/standalone/hdfs-site.xml.j2 diff --git a/Apache Hadoop/2.7.1/yarn/role/templates/standalone/yarn-site.xml.j2 b/galaxy-data-platform/parcels/roles/components/Apache Hadoop/2.7.1/yarn/role/templates/standalone/yarn-site.xml.j2 similarity index 100% rename from Apache Hadoop/2.7.1/yarn/role/templates/standalone/yarn-site.xml.j2 rename to galaxy-data-platform/parcels/roles/components/Apache Hadoop/2.7.1/yarn/role/templates/standalone/yarn-site.xml.j2 diff --git a/Apache Hadoop/2.7.1/yarn/role/templates/unload_hadoop_yarn.sh.j2 b/galaxy-data-platform/parcels/roles/components/Apache Hadoop/2.7.1/yarn/role/templates/unload_hadoop_yarn.sh.j2 similarity index 100% rename from Apache Hadoop/2.7.1/yarn/role/templates/unload_hadoop_yarn.sh.j2 rename to galaxy-data-platform/parcels/roles/components/Apache Hadoop/2.7.1/yarn/role/templates/unload_hadoop_yarn.sh.j2 diff --git a/Apache Hadoop/2.7.1/yarn/role/templates/yarn-env.sh.j2 b/galaxy-data-platform/parcels/roles/components/Apache Hadoop/2.7.1/yarn/role/templates/yarn-env.sh.j2 similarity index 100% rename from Apache Hadoop/2.7.1/yarn/role/templates/yarn-env.sh.j2 rename to galaxy-data-platform/parcels/roles/components/Apache Hadoop/2.7.1/yarn/role/templates/yarn-env.sh.j2 diff --git a/Apache Hadoop/2.7.1/yarn/role/templates/yarn-site.xml.j2 b/galaxy-data-platform/parcels/roles/components/Apache Hadoop/2.7.1/yarn/role/templates/yarn-site.xml.j2 similarity index 100% rename from Apache Hadoop/2.7.1/yarn/role/templates/yarn-site.xml.j2 rename to galaxy-data-platform/parcels/roles/components/Apache Hadoop/2.7.1/yarn/role/templates/yarn-site.xml.j2 diff --git a/Apache Hadoop/2.7.1/yarn/role/vars/main.yml b/galaxy-data-platform/parcels/roles/components/Apache Hadoop/2.7.1/yarn/role/vars/main.yml similarity index 100% rename from Apache Hadoop/2.7.1/yarn/role/vars/main.yml rename to galaxy-data-platform/parcels/roles/components/Apache Hadoop/2.7.1/yarn/role/vars/main.yml diff --git a/Apache Ignite/2.15.0/ignite/hosts b/galaxy-data-platform/parcels/roles/components/Apache Ignite/2.15.0/ignite/hosts similarity index 100% rename from Apache Ignite/2.15.0/ignite/hosts rename to galaxy-data-platform/parcels/roles/components/Apache Ignite/2.15.0/ignite/hosts diff --git a/Apache Ignite/2.15.0/ignite/install.yml b/galaxy-data-platform/parcels/roles/components/Apache Ignite/2.15.0/ignite/install.yml similarity index 100% rename from Apache Ignite/2.15.0/ignite/install.yml rename to galaxy-data-platform/parcels/roles/components/Apache Ignite/2.15.0/ignite/install.yml diff --git a/Apache Ignite/2.15.0/ignite/role/defaults/main.yml b/galaxy-data-platform/parcels/roles/components/Apache Ignite/2.15.0/ignite/role/defaults/main.yml similarity index 100% rename from Apache Ignite/2.15.0/ignite/role/defaults/main.yml rename to galaxy-data-platform/parcels/roles/components/Apache Ignite/2.15.0/ignite/role/defaults/main.yml diff --git a/Apache Ignite/2.15.0/ignite/role/handlers/main.yml b/galaxy-data-platform/parcels/roles/components/Apache Ignite/2.15.0/ignite/role/handlers/main.yml similarity index 100% rename from Apache Ignite/2.15.0/ignite/role/handlers/main.yml rename to galaxy-data-platform/parcels/roles/components/Apache Ignite/2.15.0/ignite/role/handlers/main.yml diff --git a/Apache Ignite/2.15.0/ignite/role/tasks/deploy.yml b/galaxy-data-platform/parcels/roles/components/Apache Ignite/2.15.0/ignite/role/tasks/deploy.yml similarity index 100% rename from Apache Ignite/2.15.0/ignite/role/tasks/deploy.yml rename to galaxy-data-platform/parcels/roles/components/Apache Ignite/2.15.0/ignite/role/tasks/deploy.yml diff --git a/Apache Ignite/2.15.0/ignite/role/tasks/main.yml b/galaxy-data-platform/parcels/roles/components/Apache Ignite/2.15.0/ignite/role/tasks/main.yml similarity index 100% rename from Apache Ignite/2.15.0/ignite/role/tasks/main.yml rename to galaxy-data-platform/parcels/roles/components/Apache Ignite/2.15.0/ignite/role/tasks/main.yml diff --git a/Apache Ignite/2.15.0/ignite/role/tasks/status-check.yml b/galaxy-data-platform/parcels/roles/components/Apache Ignite/2.15.0/ignite/role/tasks/status-check.yml similarity index 100% rename from Apache Ignite/2.15.0/ignite/role/tasks/status-check.yml rename to galaxy-data-platform/parcels/roles/components/Apache Ignite/2.15.0/ignite/role/tasks/status-check.yml diff --git a/Apache Ignite/2.15.0/ignite/role/tasks/uninstall.yml b/galaxy-data-platform/parcels/roles/components/Apache Ignite/2.15.0/ignite/role/tasks/uninstall.yml similarity index 100% rename from Apache Ignite/2.15.0/ignite/role/tasks/uninstall.yml rename to galaxy-data-platform/parcels/roles/components/Apache Ignite/2.15.0/ignite/role/tasks/uninstall.yml diff --git a/Apache Ignite/2.15.0/ignite/role/templates/default-config.xml.j2 b/galaxy-data-platform/parcels/roles/components/Apache Ignite/2.15.0/ignite/role/templates/default-config.xml.j2 similarity index 100% rename from Apache Ignite/2.15.0/ignite/role/templates/default-config.xml.j2 rename to galaxy-data-platform/parcels/roles/components/Apache Ignite/2.15.0/ignite/role/templates/default-config.xml.j2 diff --git a/Apache Ignite/2.15.0/ignite/role/templates/docker-compose.yml.j2 b/galaxy-data-platform/parcels/roles/components/Apache Ignite/2.15.0/ignite/role/templates/docker-compose.yml.j2 similarity index 100% rename from Apache Ignite/2.15.0/ignite/role/templates/docker-compose.yml.j2 rename to galaxy-data-platform/parcels/roles/components/Apache Ignite/2.15.0/ignite/role/templates/docker-compose.yml.j2 diff --git a/Apache Ignite/2.15.0/ignite/role/vars/.main.yml.swp b/galaxy-data-platform/parcels/roles/components/Apache Ignite/2.15.0/ignite/role/vars/.main.yml.swp similarity index 100% rename from Apache Ignite/2.15.0/ignite/role/vars/.main.yml.swp rename to galaxy-data-platform/parcels/roles/components/Apache Ignite/2.15.0/ignite/role/vars/.main.yml.swp diff --git a/Apache Ignite/2.15.0/ignite/role/vars/main.yml b/galaxy-data-platform/parcels/roles/components/Apache Ignite/2.15.0/ignite/role/vars/main.yml similarity index 100% rename from Apache Ignite/2.15.0/ignite/role/vars/main.yml rename to galaxy-data-platform/parcels/roles/components/Apache Ignite/2.15.0/ignite/role/vars/main.yml diff --git a/Apache Kafka/3.4.1/kafka/hosts b/galaxy-data-platform/parcels/roles/components/Apache Kafka/3.4.1/kafka/hosts similarity index 100% rename from Apache Kafka/3.4.1/kafka/hosts rename to galaxy-data-platform/parcels/roles/components/Apache Kafka/3.4.1/kafka/hosts diff --git a/Apache Kafka/3.4.1/kafka/install.yml b/galaxy-data-platform/parcels/roles/components/Apache Kafka/3.4.1/kafka/install.yml similarity index 100% rename from Apache Kafka/3.4.1/kafka/install.yml rename to galaxy-data-platform/parcels/roles/components/Apache Kafka/3.4.1/kafka/install.yml diff --git a/Apache Kafka/3.4.1/kafka/role/defaults/main.yml b/galaxy-data-platform/parcels/roles/components/Apache Kafka/3.4.1/kafka/role/defaults/main.yml similarity index 100% rename from Apache Kafka/3.4.1/kafka/role/defaults/main.yml rename to galaxy-data-platform/parcels/roles/components/Apache Kafka/3.4.1/kafka/role/defaults/main.yml diff --git a/Apache Kafka/3.4.1/kafka/role/handlers/main.yml b/galaxy-data-platform/parcels/roles/components/Apache Kafka/3.4.1/kafka/role/handlers/main.yml similarity index 100% rename from Apache Kafka/3.4.1/kafka/role/handlers/main.yml rename to galaxy-data-platform/parcels/roles/components/Apache Kafka/3.4.1/kafka/role/handlers/main.yml diff --git a/Apache Kafka/3.4.1/kafka/role/tasks/deploy.yml b/galaxy-data-platform/parcels/roles/components/Apache Kafka/3.4.1/kafka/role/tasks/deploy.yml similarity index 100% rename from Apache Kafka/3.4.1/kafka/role/tasks/deploy.yml rename to galaxy-data-platform/parcels/roles/components/Apache Kafka/3.4.1/kafka/role/tasks/deploy.yml diff --git a/Apache Kafka/3.4.1/kafka/role/tasks/main.yml b/galaxy-data-platform/parcels/roles/components/Apache Kafka/3.4.1/kafka/role/tasks/main.yml similarity index 100% rename from Apache Kafka/3.4.1/kafka/role/tasks/main.yml rename to galaxy-data-platform/parcels/roles/components/Apache Kafka/3.4.1/kafka/role/tasks/main.yml diff --git a/Apache Kafka/3.4.1/kafka/role/tasks/status-check.yml b/galaxy-data-platform/parcels/roles/components/Apache Kafka/3.4.1/kafka/role/tasks/status-check.yml similarity index 100% rename from Apache Kafka/3.4.1/kafka/role/tasks/status-check.yml rename to galaxy-data-platform/parcels/roles/components/Apache Kafka/3.4.1/kafka/role/tasks/status-check.yml diff --git a/Apache Kafka/3.4.1/kafka/role/tasks/uninstall.yml b/galaxy-data-platform/parcels/roles/components/Apache Kafka/3.4.1/kafka/role/tasks/uninstall.yml similarity index 100% rename from Apache Kafka/3.4.1/kafka/role/tasks/uninstall.yml rename to galaxy-data-platform/parcels/roles/components/Apache Kafka/3.4.1/kafka/role/tasks/uninstall.yml diff --git a/Apache Kafka/3.4.1/kafka/role/templates/docker-compose.yml.j2 b/galaxy-data-platform/parcels/roles/components/Apache Kafka/3.4.1/kafka/role/templates/docker-compose.yml.j2 similarity index 100% rename from Apache Kafka/3.4.1/kafka/role/templates/docker-compose.yml.j2 rename to galaxy-data-platform/parcels/roles/components/Apache Kafka/3.4.1/kafka/role/templates/docker-compose.yml.j2 diff --git a/Apache Kafka/3.4.1/kafka/role/templates/docker-compose_exporter.yml.j2 b/galaxy-data-platform/parcels/roles/components/Apache Kafka/3.4.1/kafka/role/templates/docker-compose_exporter.yml.j2 similarity index 100% rename from Apache Kafka/3.4.1/kafka/role/templates/docker-compose_exporter.yml.j2 rename to galaxy-data-platform/parcels/roles/components/Apache Kafka/3.4.1/kafka/role/templates/docker-compose_exporter.yml.j2 diff --git a/Apache Kafka/3.4.1/kafka/role/templates/kafka-operation.sh.j2 b/galaxy-data-platform/parcels/roles/components/Apache Kafka/3.4.1/kafka/role/templates/kafka-operation.sh.j2 similarity index 100% rename from Apache Kafka/3.4.1/kafka/role/templates/kafka-operation.sh.j2 rename to galaxy-data-platform/parcels/roles/components/Apache Kafka/3.4.1/kafka/role/templates/kafka-operation.sh.j2 diff --git a/Apache Kafka/3.4.1/kafka/role/templates/kafka.sh.j2 b/galaxy-data-platform/parcels/roles/components/Apache Kafka/3.4.1/kafka/role/templates/kafka.sh.j2 similarity index 100% rename from Apache Kafka/3.4.1/kafka/role/templates/kafka.sh.j2 rename to galaxy-data-platform/parcels/roles/components/Apache Kafka/3.4.1/kafka/role/templates/kafka.sh.j2 diff --git a/Apache Kafka/3.4.1/kafka/role/templates/server.properties.j2 b/galaxy-data-platform/parcels/roles/components/Apache Kafka/3.4.1/kafka/role/templates/server.properties.j2 similarity index 100% rename from Apache Kafka/3.4.1/kafka/role/templates/server.properties.j2 rename to galaxy-data-platform/parcels/roles/components/Apache Kafka/3.4.1/kafka/role/templates/server.properties.j2 diff --git a/Apache Kafka/3.4.1/kafka/role/vars/main.yml b/galaxy-data-platform/parcels/roles/components/Apache Kafka/3.4.1/kafka/role/vars/main.yml similarity index 100% rename from Apache Kafka/3.4.1/kafka/role/vars/main.yml rename to galaxy-data-platform/parcels/roles/components/Apache Kafka/3.4.1/kafka/role/vars/main.yml diff --git a/Apache Zookeeper/3.5.9/zookeeper/hosts b/galaxy-data-platform/parcels/roles/components/Apache Zookeeper/3.5.9/zookeeper/hosts similarity index 100% rename from Apache Zookeeper/3.5.9/zookeeper/hosts rename to galaxy-data-platform/parcels/roles/components/Apache Zookeeper/3.5.9/zookeeper/hosts diff --git a/Apache Zookeeper/3.5.9/zookeeper/install.yml b/galaxy-data-platform/parcels/roles/components/Apache Zookeeper/3.5.9/zookeeper/install.yml similarity index 100% rename from Apache Zookeeper/3.5.9/zookeeper/install.yml rename to galaxy-data-platform/parcels/roles/components/Apache Zookeeper/3.5.9/zookeeper/install.yml diff --git a/Apache Zookeeper/3.5.9/zookeeper/role/defaults/main.yml b/galaxy-data-platform/parcels/roles/components/Apache Zookeeper/3.5.9/zookeeper/role/defaults/main.yml similarity index 100% rename from Apache Zookeeper/3.5.9/zookeeper/role/defaults/main.yml rename to galaxy-data-platform/parcels/roles/components/Apache Zookeeper/3.5.9/zookeeper/role/defaults/main.yml diff --git a/Apache Zookeeper/3.5.9/zookeeper/role/handlers/main.yml b/galaxy-data-platform/parcels/roles/components/Apache Zookeeper/3.5.9/zookeeper/role/handlers/main.yml similarity index 100% rename from Apache Zookeeper/3.5.9/zookeeper/role/handlers/main.yml rename to galaxy-data-platform/parcels/roles/components/Apache Zookeeper/3.5.9/zookeeper/role/handlers/main.yml diff --git a/Apache Zookeeper/3.5.9/zookeeper/role/tasks/deploy.yml b/galaxy-data-platform/parcels/roles/components/Apache Zookeeper/3.5.9/zookeeper/role/tasks/deploy.yml similarity index 100% rename from Apache Zookeeper/3.5.9/zookeeper/role/tasks/deploy.yml rename to galaxy-data-platform/parcels/roles/components/Apache Zookeeper/3.5.9/zookeeper/role/tasks/deploy.yml diff --git a/Apache Zookeeper/3.5.9/zookeeper/role/tasks/main.yml b/galaxy-data-platform/parcels/roles/components/Apache Zookeeper/3.5.9/zookeeper/role/tasks/main.yml similarity index 100% rename from Apache Zookeeper/3.5.9/zookeeper/role/tasks/main.yml rename to galaxy-data-platform/parcels/roles/components/Apache Zookeeper/3.5.9/zookeeper/role/tasks/main.yml diff --git a/Apache Zookeeper/3.5.9/zookeeper/role/tasks/status-check.yml b/galaxy-data-platform/parcels/roles/components/Apache Zookeeper/3.5.9/zookeeper/role/tasks/status-check.yml similarity index 100% rename from Apache Zookeeper/3.5.9/zookeeper/role/tasks/status-check.yml rename to galaxy-data-platform/parcels/roles/components/Apache Zookeeper/3.5.9/zookeeper/role/tasks/status-check.yml diff --git a/Apache Zookeeper/3.5.9/zookeeper/role/tasks/uninstall.yml b/galaxy-data-platform/parcels/roles/components/Apache Zookeeper/3.5.9/zookeeper/role/tasks/uninstall.yml similarity index 100% rename from Apache Zookeeper/3.5.9/zookeeper/role/tasks/uninstall.yml rename to galaxy-data-platform/parcels/roles/components/Apache Zookeeper/3.5.9/zookeeper/role/tasks/uninstall.yml diff --git a/Apache Zookeeper/3.5.9/zookeeper/role/templates/docker-compose.yml.j2 b/galaxy-data-platform/parcels/roles/components/Apache Zookeeper/3.5.9/zookeeper/role/templates/docker-compose.yml.j2 similarity index 100% rename from Apache Zookeeper/3.5.9/zookeeper/role/templates/docker-compose.yml.j2 rename to galaxy-data-platform/parcels/roles/components/Apache Zookeeper/3.5.9/zookeeper/role/templates/docker-compose.yml.j2 diff --git a/Apache Zookeeper/3.5.9/zookeeper/role/templates/docker-compose_exporter.yml.j2 b/galaxy-data-platform/parcels/roles/components/Apache Zookeeper/3.5.9/zookeeper/role/templates/docker-compose_exporter.yml.j2 similarity index 100% rename from Apache Zookeeper/3.5.9/zookeeper/role/templates/docker-compose_exporter.yml.j2 rename to galaxy-data-platform/parcels/roles/components/Apache Zookeeper/3.5.9/zookeeper/role/templates/docker-compose_exporter.yml.j2 diff --git a/Apache Zookeeper/3.5.9/zookeeper/role/templates/myid.j2 b/galaxy-data-platform/parcels/roles/components/Apache Zookeeper/3.5.9/zookeeper/role/templates/myid.j2 similarity index 100% rename from Apache Zookeeper/3.5.9/zookeeper/role/templates/myid.j2 rename to galaxy-data-platform/parcels/roles/components/Apache Zookeeper/3.5.9/zookeeper/role/templates/myid.j2 diff --git a/Apache Zookeeper/3.5.9/zookeeper/role/templates/zoo.cfg.j2 b/galaxy-data-platform/parcels/roles/components/Apache Zookeeper/3.5.9/zookeeper/role/templates/zoo.cfg.j2 similarity index 100% rename from Apache Zookeeper/3.5.9/zookeeper/role/templates/zoo.cfg.j2 rename to galaxy-data-platform/parcels/roles/components/Apache Zookeeper/3.5.9/zookeeper/role/templates/zoo.cfg.j2 diff --git a/Apache Zookeeper/3.5.9/zookeeper/role/vars/main.yml b/galaxy-data-platform/parcels/roles/components/Apache Zookeeper/3.5.9/zookeeper/role/vars/main.yml similarity index 100% rename from Apache Zookeeper/3.5.9/zookeeper/role/vars/main.yml rename to galaxy-data-platform/parcels/roles/components/Apache Zookeeper/3.5.9/zookeeper/role/vars/main.yml diff --git a/ArangoDB/3.6.4/arangodb/hosts b/galaxy-data-platform/parcels/roles/components/ArangoDB/3.6.4/arangodb/hosts similarity index 100% rename from ArangoDB/3.6.4/arangodb/hosts rename to galaxy-data-platform/parcels/roles/components/ArangoDB/3.6.4/arangodb/hosts diff --git a/ArangoDB/3.6.4/arangodb/install.yml b/galaxy-data-platform/parcels/roles/components/ArangoDB/3.6.4/arangodb/install.yml similarity index 100% rename from ArangoDB/3.6.4/arangodb/install.yml rename to galaxy-data-platform/parcels/roles/components/ArangoDB/3.6.4/arangodb/install.yml diff --git a/ArangoDB/3.6.4/arangodb/role/defaults/main.yml b/galaxy-data-platform/parcels/roles/components/ArangoDB/3.6.4/arangodb/role/defaults/main.yml similarity index 100% rename from ArangoDB/3.6.4/arangodb/role/defaults/main.yml rename to galaxy-data-platform/parcels/roles/components/ArangoDB/3.6.4/arangodb/role/defaults/main.yml diff --git a/ArangoDB/3.6.4/arangodb/role/files/init.zip b/galaxy-data-platform/parcels/roles/components/ArangoDB/3.6.4/arangodb/role/files/init.zip similarity index 100% rename from ArangoDB/3.6.4/arangodb/role/files/init.zip rename to galaxy-data-platform/parcels/roles/components/ArangoDB/3.6.4/arangodb/role/files/init.zip diff --git a/ArangoDB/3.6.4/arangodb/role/handlers/main.yml b/galaxy-data-platform/parcels/roles/components/ArangoDB/3.6.4/arangodb/role/handlers/main.yml similarity index 100% rename from ArangoDB/3.6.4/arangodb/role/handlers/main.yml rename to galaxy-data-platform/parcels/roles/components/ArangoDB/3.6.4/arangodb/role/handlers/main.yml diff --git a/ArangoDB/3.6.4/arangodb/role/tasks/deploy.yml b/galaxy-data-platform/parcels/roles/components/ArangoDB/3.6.4/arangodb/role/tasks/deploy.yml similarity index 100% rename from ArangoDB/3.6.4/arangodb/role/tasks/deploy.yml rename to galaxy-data-platform/parcels/roles/components/ArangoDB/3.6.4/arangodb/role/tasks/deploy.yml diff --git a/ArangoDB/3.6.4/arangodb/role/tasks/main.yml b/galaxy-data-platform/parcels/roles/components/ArangoDB/3.6.4/arangodb/role/tasks/main.yml similarity index 100% rename from ArangoDB/3.6.4/arangodb/role/tasks/main.yml rename to galaxy-data-platform/parcels/roles/components/ArangoDB/3.6.4/arangodb/role/tasks/main.yml diff --git a/ArangoDB/3.6.4/arangodb/role/tasks/status-check.yml b/galaxy-data-platform/parcels/roles/components/ArangoDB/3.6.4/arangodb/role/tasks/status-check.yml similarity index 100% rename from ArangoDB/3.6.4/arangodb/role/tasks/status-check.yml rename to galaxy-data-platform/parcels/roles/components/ArangoDB/3.6.4/arangodb/role/tasks/status-check.yml diff --git a/ArangoDB/3.6.4/arangodb/role/tasks/uninstall.yml b/galaxy-data-platform/parcels/roles/components/ArangoDB/3.6.4/arangodb/role/tasks/uninstall.yml similarity index 100% rename from ArangoDB/3.6.4/arangodb/role/tasks/uninstall.yml rename to galaxy-data-platform/parcels/roles/components/ArangoDB/3.6.4/arangodb/role/tasks/uninstall.yml diff --git a/ArangoDB/3.6.4/arangodb/role/templates/docker-compose.yml.j2 b/galaxy-data-platform/parcels/roles/components/ArangoDB/3.6.4/arangodb/role/templates/docker-compose.yml.j2 similarity index 100% rename from ArangoDB/3.6.4/arangodb/role/templates/docker-compose.yml.j2 rename to galaxy-data-platform/parcels/roles/components/ArangoDB/3.6.4/arangodb/role/templates/docker-compose.yml.j2 diff --git a/ArangoDB/3.6.4/arangodb/role/vars/main.yml b/galaxy-data-platform/parcels/roles/components/ArangoDB/3.6.4/arangodb/role/vars/main.yml similarity index 100% rename from ArangoDB/3.6.4/arangodb/role/vars/main.yml rename to galaxy-data-platform/parcels/roles/components/ArangoDB/3.6.4/arangodb/role/vars/main.yml diff --git a/CMAK/3.0.0.6/cmak/hosts b/galaxy-data-platform/parcels/roles/components/CMAK/3.0.0.6/cmak/hosts similarity index 100% rename from CMAK/3.0.0.6/cmak/hosts rename to galaxy-data-platform/parcels/roles/components/CMAK/3.0.0.6/cmak/hosts diff --git a/CMAK/3.0.0.6/cmak/install.yml b/galaxy-data-platform/parcels/roles/components/CMAK/3.0.0.6/cmak/install.yml similarity index 100% rename from CMAK/3.0.0.6/cmak/install.yml rename to galaxy-data-platform/parcels/roles/components/CMAK/3.0.0.6/cmak/install.yml diff --git a/CMAK/3.0.0.6/cmak/role/defaults/main.yml b/galaxy-data-platform/parcels/roles/components/CMAK/3.0.0.6/cmak/role/defaults/main.yml similarity index 100% rename from CMAK/3.0.0.6/cmak/role/defaults/main.yml rename to galaxy-data-platform/parcels/roles/components/CMAK/3.0.0.6/cmak/role/defaults/main.yml diff --git a/CMAK/3.0.0.6/cmak/role/files/kafka_client_jaas.conf b/galaxy-data-platform/parcels/roles/components/CMAK/3.0.0.6/cmak/role/files/kafka_client_jaas.conf similarity index 100% rename from CMAK/3.0.0.6/cmak/role/files/kafka_client_jaas.conf rename to galaxy-data-platform/parcels/roles/components/CMAK/3.0.0.6/cmak/role/files/kafka_client_jaas.conf diff --git a/CMAK/3.0.0.6/cmak/role/handlers/main.yml b/galaxy-data-platform/parcels/roles/components/CMAK/3.0.0.6/cmak/role/handlers/main.yml similarity index 100% rename from CMAK/3.0.0.6/cmak/role/handlers/main.yml rename to galaxy-data-platform/parcels/roles/components/CMAK/3.0.0.6/cmak/role/handlers/main.yml diff --git a/CMAK/3.0.0.6/cmak/role/tasks/deploy.yml b/galaxy-data-platform/parcels/roles/components/CMAK/3.0.0.6/cmak/role/tasks/deploy.yml similarity index 100% rename from CMAK/3.0.0.6/cmak/role/tasks/deploy.yml rename to galaxy-data-platform/parcels/roles/components/CMAK/3.0.0.6/cmak/role/tasks/deploy.yml diff --git a/CMAK/3.0.0.6/cmak/role/tasks/main.yml b/galaxy-data-platform/parcels/roles/components/CMAK/3.0.0.6/cmak/role/tasks/main.yml similarity index 100% rename from CMAK/3.0.0.6/cmak/role/tasks/main.yml rename to galaxy-data-platform/parcels/roles/components/CMAK/3.0.0.6/cmak/role/tasks/main.yml diff --git a/CMAK/3.0.0.6/cmak/role/tasks/status-check.yml b/galaxy-data-platform/parcels/roles/components/CMAK/3.0.0.6/cmak/role/tasks/status-check.yml similarity index 100% rename from CMAK/3.0.0.6/cmak/role/tasks/status-check.yml rename to galaxy-data-platform/parcels/roles/components/CMAK/3.0.0.6/cmak/role/tasks/status-check.yml diff --git a/CMAK/3.0.0.6/cmak/role/tasks/unload.yml b/galaxy-data-platform/parcels/roles/components/CMAK/3.0.0.6/cmak/role/tasks/unload.yml similarity index 100% rename from CMAK/3.0.0.6/cmak/role/tasks/unload.yml rename to galaxy-data-platform/parcels/roles/components/CMAK/3.0.0.6/cmak/role/tasks/unload.yml diff --git a/CMAK/3.0.0.6/cmak/role/templates/docker-compose.yml.j2 b/galaxy-data-platform/parcels/roles/components/CMAK/3.0.0.6/cmak/role/templates/docker-compose.yml.j2 similarity index 100% rename from CMAK/3.0.0.6/cmak/role/templates/docker-compose.yml.j2 rename to galaxy-data-platform/parcels/roles/components/CMAK/3.0.0.6/cmak/role/templates/docker-compose.yml.j2 diff --git a/CMAK/3.0.0.6/cmak/role/vars/main.yml b/galaxy-data-platform/parcels/roles/components/CMAK/3.0.0.6/cmak/role/vars/main.yml similarity index 100% rename from CMAK/3.0.0.6/cmak/role/vars/main.yml rename to galaxy-data-platform/parcels/roles/components/CMAK/3.0.0.6/cmak/role/vars/main.yml diff --git a/Chproxy/21.06.30/chproxy/hosts b/galaxy-data-platform/parcels/roles/components/Chproxy/21.06.30/chproxy/hosts similarity index 100% rename from Chproxy/21.06.30/chproxy/hosts rename to galaxy-data-platform/parcels/roles/components/Chproxy/21.06.30/chproxy/hosts diff --git a/Chproxy/21.06.30/chproxy/install.yml b/galaxy-data-platform/parcels/roles/components/Chproxy/21.06.30/chproxy/install.yml similarity index 100% rename from Chproxy/21.06.30/chproxy/install.yml rename to galaxy-data-platform/parcels/roles/components/Chproxy/21.06.30/chproxy/install.yml diff --git a/Chproxy/21.06.30/chproxy/role/defaults/main.yml b/galaxy-data-platform/parcels/roles/components/Chproxy/21.06.30/chproxy/role/defaults/main.yml similarity index 100% rename from Chproxy/21.06.30/chproxy/role/defaults/main.yml rename to galaxy-data-platform/parcels/roles/components/Chproxy/21.06.30/chproxy/role/defaults/main.yml diff --git a/Chproxy/21.06.30/chproxy/role/handlers/main.yml b/galaxy-data-platform/parcels/roles/components/Chproxy/21.06.30/chproxy/role/handlers/main.yml similarity index 100% rename from Chproxy/21.06.30/chproxy/role/handlers/main.yml rename to galaxy-data-platform/parcels/roles/components/Chproxy/21.06.30/chproxy/role/handlers/main.yml diff --git a/Chproxy/21.06.30/chproxy/role/tasks/deploy.yml b/galaxy-data-platform/parcels/roles/components/Chproxy/21.06.30/chproxy/role/tasks/deploy.yml similarity index 100% rename from Chproxy/21.06.30/chproxy/role/tasks/deploy.yml rename to galaxy-data-platform/parcels/roles/components/Chproxy/21.06.30/chproxy/role/tasks/deploy.yml diff --git a/Chproxy/21.06.30/chproxy/role/tasks/main.yml b/galaxy-data-platform/parcels/roles/components/Chproxy/21.06.30/chproxy/role/tasks/main.yml similarity index 100% rename from Chproxy/21.06.30/chproxy/role/tasks/main.yml rename to galaxy-data-platform/parcels/roles/components/Chproxy/21.06.30/chproxy/role/tasks/main.yml diff --git a/Chproxy/21.06.30/chproxy/role/tasks/status-check.yml b/galaxy-data-platform/parcels/roles/components/Chproxy/21.06.30/chproxy/role/tasks/status-check.yml similarity index 100% rename from Chproxy/21.06.30/chproxy/role/tasks/status-check.yml rename to galaxy-data-platform/parcels/roles/components/Chproxy/21.06.30/chproxy/role/tasks/status-check.yml diff --git a/Chproxy/21.06.30/chproxy/role/tasks/uninstall.yml b/galaxy-data-platform/parcels/roles/components/Chproxy/21.06.30/chproxy/role/tasks/uninstall.yml similarity index 100% rename from Chproxy/21.06.30/chproxy/role/tasks/uninstall.yml rename to galaxy-data-platform/parcels/roles/components/Chproxy/21.06.30/chproxy/role/tasks/uninstall.yml diff --git a/Chproxy/21.06.30/chproxy/role/templates/config.yml.j2 b/galaxy-data-platform/parcels/roles/components/Chproxy/21.06.30/chproxy/role/templates/config.yml.j2 similarity index 100% rename from Chproxy/21.06.30/chproxy/role/templates/config.yml.j2 rename to galaxy-data-platform/parcels/roles/components/Chproxy/21.06.30/chproxy/role/templates/config.yml.j2 diff --git a/Chproxy/21.06.30/chproxy/role/templates/docker-compose.yml.j2 b/galaxy-data-platform/parcels/roles/components/Chproxy/21.06.30/chproxy/role/templates/docker-compose.yml.j2 similarity index 100% rename from Chproxy/21.06.30/chproxy/role/templates/docker-compose.yml.j2 rename to galaxy-data-platform/parcels/roles/components/Chproxy/21.06.30/chproxy/role/templates/docker-compose.yml.j2 diff --git a/Chproxy/21.06.30/chproxy/role/vars/main.yml b/galaxy-data-platform/parcels/roles/components/Chproxy/21.06.30/chproxy/role/vars/main.yml similarity index 100% rename from Chproxy/21.06.30/chproxy/role/vars/main.yml rename to galaxy-data-platform/parcels/roles/components/Chproxy/21.06.30/chproxy/role/vars/main.yml diff --git a/Clickhouse/21.8.13.1/clickhouse/hosts b/galaxy-data-platform/parcels/roles/components/Clickhouse/21.8.13.1/clickhouse/hosts similarity index 100% rename from Clickhouse/21.8.13.1/clickhouse/hosts rename to galaxy-data-platform/parcels/roles/components/Clickhouse/21.8.13.1/clickhouse/hosts diff --git a/Clickhouse/21.8.13.1/clickhouse/install.yml b/galaxy-data-platform/parcels/roles/components/Clickhouse/21.8.13.1/clickhouse/install.yml similarity index 100% rename from Clickhouse/21.8.13.1/clickhouse/install.yml rename to galaxy-data-platform/parcels/roles/components/Clickhouse/21.8.13.1/clickhouse/install.yml diff --git a/Clickhouse/21.8.13.1/clickhouse/role/defaults/main.yml b/galaxy-data-platform/parcels/roles/components/Clickhouse/21.8.13.1/clickhouse/role/defaults/main.yml similarity index 100% rename from Clickhouse/21.8.13.1/clickhouse/role/defaults/main.yml rename to galaxy-data-platform/parcels/roles/components/Clickhouse/21.8.13.1/clickhouse/role/defaults/main.yml diff --git a/Clickhouse/21.8.13.1/clickhouse/role/handlers/main.yml b/galaxy-data-platform/parcels/roles/components/Clickhouse/21.8.13.1/clickhouse/role/handlers/main.yml similarity index 100% rename from Clickhouse/21.8.13.1/clickhouse/role/handlers/main.yml rename to galaxy-data-platform/parcels/roles/components/Clickhouse/21.8.13.1/clickhouse/role/handlers/main.yml diff --git a/Clickhouse/21.8.13.1/clickhouse/role/tasks/cluster/deploy.yml b/galaxy-data-platform/parcels/roles/components/Clickhouse/21.8.13.1/clickhouse/role/tasks/cluster/deploy.yml similarity index 100% rename from Clickhouse/21.8.13.1/clickhouse/role/tasks/cluster/deploy.yml rename to galaxy-data-platform/parcels/roles/components/Clickhouse/21.8.13.1/clickhouse/role/tasks/cluster/deploy.yml diff --git a/Clickhouse/21.8.13.1/clickhouse/role/tasks/cluster/status-check.yml b/galaxy-data-platform/parcels/roles/components/Clickhouse/21.8.13.1/clickhouse/role/tasks/cluster/status-check.yml similarity index 100% rename from Clickhouse/21.8.13.1/clickhouse/role/tasks/cluster/status-check.yml rename to galaxy-data-platform/parcels/roles/components/Clickhouse/21.8.13.1/clickhouse/role/tasks/cluster/status-check.yml diff --git a/Clickhouse/21.8.13.1/clickhouse/role/tasks/cluster/uninstall.yml b/galaxy-data-platform/parcels/roles/components/Clickhouse/21.8.13.1/clickhouse/role/tasks/cluster/uninstall.yml similarity index 100% rename from Clickhouse/21.8.13.1/clickhouse/role/tasks/cluster/uninstall.yml rename to galaxy-data-platform/parcels/roles/components/Clickhouse/21.8.13.1/clickhouse/role/tasks/cluster/uninstall.yml diff --git a/Clickhouse/21.8.13.1/clickhouse/role/tasks/main.yml b/galaxy-data-platform/parcels/roles/components/Clickhouse/21.8.13.1/clickhouse/role/tasks/main.yml similarity index 100% rename from Clickhouse/21.8.13.1/clickhouse/role/tasks/main.yml rename to galaxy-data-platform/parcels/roles/components/Clickhouse/21.8.13.1/clickhouse/role/tasks/main.yml diff --git a/Clickhouse/21.8.13.1/clickhouse/role/tasks/standalone/deploy.yml b/galaxy-data-platform/parcels/roles/components/Clickhouse/21.8.13.1/clickhouse/role/tasks/standalone/deploy.yml similarity index 100% rename from Clickhouse/21.8.13.1/clickhouse/role/tasks/standalone/deploy.yml rename to galaxy-data-platform/parcels/roles/components/Clickhouse/21.8.13.1/clickhouse/role/tasks/standalone/deploy.yml diff --git a/Clickhouse/21.8.13.1/clickhouse/role/tasks/standalone/status-check.yml b/galaxy-data-platform/parcels/roles/components/Clickhouse/21.8.13.1/clickhouse/role/tasks/standalone/status-check.yml similarity index 100% rename from Clickhouse/21.8.13.1/clickhouse/role/tasks/standalone/status-check.yml rename to galaxy-data-platform/parcels/roles/components/Clickhouse/21.8.13.1/clickhouse/role/tasks/standalone/status-check.yml diff --git a/Clickhouse/21.8.13.1/clickhouse/role/tasks/standalone/uninstall.yml b/galaxy-data-platform/parcels/roles/components/Clickhouse/21.8.13.1/clickhouse/role/tasks/standalone/uninstall.yml similarity index 100% rename from Clickhouse/21.8.13.1/clickhouse/role/tasks/standalone/uninstall.yml rename to galaxy-data-platform/parcels/roles/components/Clickhouse/21.8.13.1/clickhouse/role/tasks/standalone/uninstall.yml diff --git a/Clickhouse/21.8.13.1/clickhouse/role/templates/ck_monitor.sh.j2 b/galaxy-data-platform/parcels/roles/components/Clickhouse/21.8.13.1/clickhouse/role/templates/ck_monitor.sh.j2 similarity index 100% rename from Clickhouse/21.8.13.1/clickhouse/role/templates/ck_monitor.sh.j2 rename to galaxy-data-platform/parcels/roles/components/Clickhouse/21.8.13.1/clickhouse/role/templates/ck_monitor.sh.j2 diff --git a/Clickhouse/21.8.13.1/clickhouse/role/templates/clickhouse-server.j2 b/galaxy-data-platform/parcels/roles/components/Clickhouse/21.8.13.1/clickhouse/role/templates/clickhouse-server.j2 similarity index 100% rename from Clickhouse/21.8.13.1/clickhouse/role/templates/clickhouse-server.j2 rename to galaxy-data-platform/parcels/roles/components/Clickhouse/21.8.13.1/clickhouse/role/templates/clickhouse-server.j2 diff --git a/Clickhouse/21.8.13.1/clickhouse/role/templates/config.xml.j2 b/galaxy-data-platform/parcels/roles/components/Clickhouse/21.8.13.1/clickhouse/role/templates/config.xml.j2 similarity index 100% rename from Clickhouse/21.8.13.1/clickhouse/role/templates/config.xml.j2 rename to galaxy-data-platform/parcels/roles/components/Clickhouse/21.8.13.1/clickhouse/role/templates/config.xml.j2 diff --git a/Clickhouse/21.8.13.1/clickhouse/role/templates/docker-compose_exporter.yml.j2 b/galaxy-data-platform/parcels/roles/components/Clickhouse/21.8.13.1/clickhouse/role/templates/docker-compose_exporter.yml.j2 similarity index 100% rename from Clickhouse/21.8.13.1/clickhouse/role/templates/docker-compose_exporter.yml.j2 rename to galaxy-data-platform/parcels/roles/components/Clickhouse/21.8.13.1/clickhouse/role/templates/docker-compose_exporter.yml.j2 diff --git a/Clickhouse/21.8.13.1/clickhouse/role/templates/metrika_data.xml.j2 b/galaxy-data-platform/parcels/roles/components/Clickhouse/21.8.13.1/clickhouse/role/templates/metrika_data.xml.j2 similarity index 100% rename from Clickhouse/21.8.13.1/clickhouse/role/templates/metrika_data.xml.j2 rename to galaxy-data-platform/parcels/roles/components/Clickhouse/21.8.13.1/clickhouse/role/templates/metrika_data.xml.j2 diff --git a/Clickhouse/21.8.13.1/clickhouse/role/templates/metrika_query.xml.j2 b/galaxy-data-platform/parcels/roles/components/Clickhouse/21.8.13.1/clickhouse/role/templates/metrika_query.xml.j2 similarity index 100% rename from Clickhouse/21.8.13.1/clickhouse/role/templates/metrika_query.xml.j2 rename to galaxy-data-platform/parcels/roles/components/Clickhouse/21.8.13.1/clickhouse/role/templates/metrika_query.xml.j2 diff --git a/Clickhouse/21.8.13.1/clickhouse/role/templates/standalone/ck_monitor.sh.j2 b/galaxy-data-platform/parcels/roles/components/Clickhouse/21.8.13.1/clickhouse/role/templates/standalone/ck_monitor.sh.j2 similarity index 100% rename from Clickhouse/21.8.13.1/clickhouse/role/templates/standalone/ck_monitor.sh.j2 rename to galaxy-data-platform/parcels/roles/components/Clickhouse/21.8.13.1/clickhouse/role/templates/standalone/ck_monitor.sh.j2 diff --git a/Clickhouse/21.8.13.1/clickhouse/role/templates/standalone/config.xml.j2 b/galaxy-data-platform/parcels/roles/components/Clickhouse/21.8.13.1/clickhouse/role/templates/standalone/config.xml.j2 similarity index 100% rename from Clickhouse/21.8.13.1/clickhouse/role/templates/standalone/config.xml.j2 rename to galaxy-data-platform/parcels/roles/components/Clickhouse/21.8.13.1/clickhouse/role/templates/standalone/config.xml.j2 diff --git a/Clickhouse/21.8.13.1/clickhouse/role/templates/standalone/docker-compose.yml.j2 b/galaxy-data-platform/parcels/roles/components/Clickhouse/21.8.13.1/clickhouse/role/templates/standalone/docker-compose.yml.j2 similarity index 100% rename from Clickhouse/21.8.13.1/clickhouse/role/templates/standalone/docker-compose.yml.j2 rename to galaxy-data-platform/parcels/roles/components/Clickhouse/21.8.13.1/clickhouse/role/templates/standalone/docker-compose.yml.j2 diff --git a/Clickhouse/21.8.13.1/clickhouse/role/templates/standalone/metrika_standalone.xml.j2 b/galaxy-data-platform/parcels/roles/components/Clickhouse/21.8.13.1/clickhouse/role/templates/standalone/metrika_standalone.xml.j2 similarity index 100% rename from Clickhouse/21.8.13.1/clickhouse/role/templates/standalone/metrika_standalone.xml.j2 rename to galaxy-data-platform/parcels/roles/components/Clickhouse/21.8.13.1/clickhouse/role/templates/standalone/metrika_standalone.xml.j2 diff --git a/Clickhouse/21.8.13.1/clickhouse/role/templates/unload_ck.sh.j2 b/galaxy-data-platform/parcels/roles/components/Clickhouse/21.8.13.1/clickhouse/role/templates/unload_ck.sh.j2 similarity index 100% rename from Clickhouse/21.8.13.1/clickhouse/role/templates/unload_ck.sh.j2 rename to galaxy-data-platform/parcels/roles/components/Clickhouse/21.8.13.1/clickhouse/role/templates/unload_ck.sh.j2 diff --git a/Clickhouse/21.8.13.1/clickhouse/role/templates/users.xml.j2 b/galaxy-data-platform/parcels/roles/components/Clickhouse/21.8.13.1/clickhouse/role/templates/users.xml.j2 similarity index 100% rename from Clickhouse/21.8.13.1/clickhouse/role/templates/users.xml.j2 rename to galaxy-data-platform/parcels/roles/components/Clickhouse/21.8.13.1/clickhouse/role/templates/users.xml.j2 diff --git a/Clickhouse/21.8.13.1/clickhouse/role/vars/.main.yml.swp b/galaxy-data-platform/parcels/roles/components/Clickhouse/21.8.13.1/clickhouse/role/vars/.main.yml.swp similarity index 100% rename from Clickhouse/21.8.13.1/clickhouse/role/vars/.main.yml.swp rename to galaxy-data-platform/parcels/roles/components/Clickhouse/21.8.13.1/clickhouse/role/vars/.main.yml.swp diff --git a/Clickhouse/21.8.13.1/clickhouse/role/vars/main.yml b/galaxy-data-platform/parcels/roles/components/Clickhouse/21.8.13.1/clickhouse/role/vars/main.yml similarity index 100% rename from Clickhouse/21.8.13.1/clickhouse/role/vars/main.yml rename to galaxy-data-platform/parcels/roles/components/Clickhouse/21.8.13.1/clickhouse/role/vars/main.yml diff --git a/GrootStream/1.0/grootstream/hosts b/galaxy-data-platform/parcels/roles/components/GrootStream/1.0/grootstream/hosts similarity index 100% rename from GrootStream/1.0/grootstream/hosts rename to galaxy-data-platform/parcels/roles/components/GrootStream/1.0/grootstream/hosts diff --git a/GrootStream/1.0/grootstream/install.yml b/galaxy-data-platform/parcels/roles/components/GrootStream/1.0/grootstream/install.yml similarity index 100% rename from GrootStream/1.0/grootstream/install.yml rename to galaxy-data-platform/parcels/roles/components/GrootStream/1.0/grootstream/install.yml diff --git a/GrootStream/1.0/grootstream/role/defaults/main.yml b/galaxy-data-platform/parcels/roles/components/GrootStream/1.0/grootstream/role/defaults/main.yml similarity index 100% rename from GrootStream/1.0/grootstream/role/defaults/main.yml rename to galaxy-data-platform/parcels/roles/components/GrootStream/1.0/grootstream/role/defaults/main.yml diff --git a/GrootStream/1.0/grootstream/role/tasks/deploy.yml b/galaxy-data-platform/parcels/roles/components/GrootStream/1.0/grootstream/role/tasks/deploy.yml similarity index 100% rename from GrootStream/1.0/grootstream/role/tasks/deploy.yml rename to galaxy-data-platform/parcels/roles/components/GrootStream/1.0/grootstream/role/tasks/deploy.yml diff --git a/GrootStream/1.0/grootstream/role/tasks/main.yml b/galaxy-data-platform/parcels/roles/components/GrootStream/1.0/grootstream/role/tasks/main.yml similarity index 100% rename from GrootStream/1.0/grootstream/role/tasks/main.yml rename to galaxy-data-platform/parcels/roles/components/GrootStream/1.0/grootstream/role/tasks/main.yml diff --git a/GrootStream/1.0/grootstream/role/tasks/uninstall.yml b/galaxy-data-platform/parcels/roles/components/GrootStream/1.0/grootstream/role/tasks/uninstall.yml similarity index 100% rename from GrootStream/1.0/grootstream/role/tasks/uninstall.yml rename to galaxy-data-platform/parcels/roles/components/GrootStream/1.0/grootstream/role/tasks/uninstall.yml diff --git a/GrootStream/1.0/grootstream/role/templates/groot-stream.sh.j2 b/galaxy-data-platform/parcels/roles/components/GrootStream/1.0/grootstream/role/templates/groot-stream.sh.j2 similarity index 100% rename from GrootStream/1.0/grootstream/role/templates/groot-stream.sh.j2 rename to galaxy-data-platform/parcels/roles/components/GrootStream/1.0/grootstream/role/templates/groot-stream.sh.j2 diff --git a/GrootStream/1.0/grootstream/role/templates/grootstream.yaml.j2 b/galaxy-data-platform/parcels/roles/components/GrootStream/1.0/grootstream/role/templates/grootstream.yaml.j2 similarity index 100% rename from GrootStream/1.0/grootstream/role/templates/grootstream.yaml.j2 rename to galaxy-data-platform/parcels/roles/components/GrootStream/1.0/grootstream/role/templates/grootstream.yaml.j2 diff --git a/GrootStream/1.0/grootstream/role/vars/main.yml b/galaxy-data-platform/parcels/roles/components/GrootStream/1.0/grootstream/role/vars/main.yml similarity index 100% rename from GrootStream/1.0/grootstream/role/vars/main.yml rename to galaxy-data-platform/parcels/roles/components/GrootStream/1.0/grootstream/role/vars/main.yml diff --git a/MariaDB/10.5.3/mariadb/hosts b/galaxy-data-platform/parcels/roles/components/MariaDB/10.5.3/mariadb/hosts similarity index 100% rename from MariaDB/10.5.3/mariadb/hosts rename to galaxy-data-platform/parcels/roles/components/MariaDB/10.5.3/mariadb/hosts diff --git a/MariaDB/10.5.3/mariadb/install.yml b/galaxy-data-platform/parcels/roles/components/MariaDB/10.5.3/mariadb/install.yml similarity index 100% rename from MariaDB/10.5.3/mariadb/install.yml rename to galaxy-data-platform/parcels/roles/components/MariaDB/10.5.3/mariadb/install.yml diff --git a/MariaDB/10.5.3/mariadb/role/defaults/main.yml b/galaxy-data-platform/parcels/roles/components/MariaDB/10.5.3/mariadb/role/defaults/main.yml similarity index 100% rename from MariaDB/10.5.3/mariadb/role/defaults/main.yml rename to galaxy-data-platform/parcels/roles/components/MariaDB/10.5.3/mariadb/role/defaults/main.yml diff --git a/MariaDB/10.5.3/mariadb/role/files/pyMysql.zip b/galaxy-data-platform/parcels/roles/components/MariaDB/10.5.3/mariadb/role/files/pyMysql.zip similarity index 100% rename from MariaDB/10.5.3/mariadb/role/files/pyMysql.zip rename to galaxy-data-platform/parcels/roles/components/MariaDB/10.5.3/mariadb/role/files/pyMysql.zip diff --git a/MariaDB/10.5.3/mariadb/role/handlers/main.yml b/galaxy-data-platform/parcels/roles/components/MariaDB/10.5.3/mariadb/role/handlers/main.yml similarity index 100% rename from MariaDB/10.5.3/mariadb/role/handlers/main.yml rename to galaxy-data-platform/parcels/roles/components/MariaDB/10.5.3/mariadb/role/handlers/main.yml diff --git a/MariaDB/10.5.3/mariadb/role/tasks/deploy-cluster.yml b/galaxy-data-platform/parcels/roles/components/MariaDB/10.5.3/mariadb/role/tasks/deploy-cluster.yml similarity index 100% rename from MariaDB/10.5.3/mariadb/role/tasks/deploy-cluster.yml rename to galaxy-data-platform/parcels/roles/components/MariaDB/10.5.3/mariadb/role/tasks/deploy-cluster.yml diff --git a/MariaDB/10.5.3/mariadb/role/tasks/deploy-standalone.yml b/galaxy-data-platform/parcels/roles/components/MariaDB/10.5.3/mariadb/role/tasks/deploy-standalone.yml similarity index 100% rename from MariaDB/10.5.3/mariadb/role/tasks/deploy-standalone.yml rename to galaxy-data-platform/parcels/roles/components/MariaDB/10.5.3/mariadb/role/tasks/deploy-standalone.yml diff --git a/MariaDB/10.5.3/mariadb/role/tasks/main.yml b/galaxy-data-platform/parcels/roles/components/MariaDB/10.5.3/mariadb/role/tasks/main.yml similarity index 100% rename from MariaDB/10.5.3/mariadb/role/tasks/main.yml rename to galaxy-data-platform/parcels/roles/components/MariaDB/10.5.3/mariadb/role/tasks/main.yml diff --git a/MariaDB/10.5.3/mariadb/role/tasks/status-check.yml b/galaxy-data-platform/parcels/roles/components/MariaDB/10.5.3/mariadb/role/tasks/status-check.yml similarity index 100% rename from MariaDB/10.5.3/mariadb/role/tasks/status-check.yml rename to galaxy-data-platform/parcels/roles/components/MariaDB/10.5.3/mariadb/role/tasks/status-check.yml diff --git a/MariaDB/10.5.3/mariadb/role/tasks/uninstall.yml b/galaxy-data-platform/parcels/roles/components/MariaDB/10.5.3/mariadb/role/tasks/uninstall.yml similarity index 100% rename from MariaDB/10.5.3/mariadb/role/tasks/uninstall.yml rename to galaxy-data-platform/parcels/roles/components/MariaDB/10.5.3/mariadb/role/tasks/uninstall.yml diff --git a/MariaDB/10.5.3/mariadb/role/templates/docker-compose.yml.j2 b/galaxy-data-platform/parcels/roles/components/MariaDB/10.5.3/mariadb/role/templates/docker-compose.yml.j2 similarity index 100% rename from MariaDB/10.5.3/mariadb/role/templates/docker-compose.yml.j2 rename to galaxy-data-platform/parcels/roles/components/MariaDB/10.5.3/mariadb/role/templates/docker-compose.yml.j2 diff --git a/MariaDB/10.5.3/mariadb/role/templates/exporter_docker-compose.yml.j2 b/galaxy-data-platform/parcels/roles/components/MariaDB/10.5.3/mariadb/role/templates/exporter_docker-compose.yml.j2 similarity index 100% rename from MariaDB/10.5.3/mariadb/role/templates/exporter_docker-compose.yml.j2 rename to galaxy-data-platform/parcels/roles/components/MariaDB/10.5.3/mariadb/role/templates/exporter_docker-compose.yml.j2 diff --git a/MariaDB/10.5.3/mariadb/role/templates/keepalived/check_mariadb.sh.j2 b/galaxy-data-platform/parcels/roles/components/MariaDB/10.5.3/mariadb/role/templates/keepalived/check_mariadb.sh.j2 similarity index 100% rename from MariaDB/10.5.3/mariadb/role/templates/keepalived/check_mariadb.sh.j2 rename to galaxy-data-platform/parcels/roles/components/MariaDB/10.5.3/mariadb/role/templates/keepalived/check_mariadb.sh.j2 diff --git a/MariaDB/10.5.3/mariadb/role/templates/keepalived/keepalived-mariadb.conf.j2 b/galaxy-data-platform/parcels/roles/components/MariaDB/10.5.3/mariadb/role/templates/keepalived/keepalived-mariadb.conf.j2 similarity index 100% rename from MariaDB/10.5.3/mariadb/role/templates/keepalived/keepalived-mariadb.conf.j2 rename to galaxy-data-platform/parcels/roles/components/MariaDB/10.5.3/mariadb/role/templates/keepalived/keepalived-mariadb.conf.j2 diff --git a/MariaDB/10.5.3/mariadb/role/templates/keepalived/unload_balancer.sh.j2 b/galaxy-data-platform/parcels/roles/components/MariaDB/10.5.3/mariadb/role/templates/keepalived/unload_balancer.sh.j2 similarity index 100% rename from MariaDB/10.5.3/mariadb/role/templates/keepalived/unload_balancer.sh.j2 rename to galaxy-data-platform/parcels/roles/components/MariaDB/10.5.3/mariadb/role/templates/keepalived/unload_balancer.sh.j2 diff --git a/MariaDB/10.5.3/mariadb/role/templates/my.cnf.j2 b/galaxy-data-platform/parcels/roles/components/MariaDB/10.5.3/mariadb/role/templates/my.cnf.j2 similarity index 100% rename from MariaDB/10.5.3/mariadb/role/templates/my.cnf.j2 rename to galaxy-data-platform/parcels/roles/components/MariaDB/10.5.3/mariadb/role/templates/my.cnf.j2 diff --git a/MariaDB/10.5.3/mariadb/role/vars/main.yml b/galaxy-data-platform/parcels/roles/components/MariaDB/10.5.3/mariadb/role/vars/main.yml similarity index 100% rename from MariaDB/10.5.3/mariadb/role/vars/main.yml rename to galaxy-data-platform/parcels/roles/components/MariaDB/10.5.3/mariadb/role/vars/main.yml diff --git a/Nacos/2.0.2/hosts b/galaxy-data-platform/parcels/roles/components/Nacos/2.0.2/hosts similarity index 100% rename from Nacos/2.0.2/hosts rename to galaxy-data-platform/parcels/roles/components/Nacos/2.0.2/hosts diff --git a/Nacos/2.0.2/install.yml b/galaxy-data-platform/parcels/roles/components/Nacos/2.0.2/install.yml similarity index 100% rename from Nacos/2.0.2/install.yml rename to galaxy-data-platform/parcels/roles/components/Nacos/2.0.2/install.yml diff --git a/Nacos/2.0.2/role/defaults/main.yml b/galaxy-data-platform/parcels/roles/components/Nacos/2.0.2/role/defaults/main.yml similarity index 100% rename from Nacos/2.0.2/role/defaults/main.yml rename to galaxy-data-platform/parcels/roles/components/Nacos/2.0.2/role/defaults/main.yml diff --git a/Nacos/2.0.2/role/files/mysql b/galaxy-data-platform/parcels/roles/components/Nacos/2.0.2/role/files/mysql similarity index 100% rename from Nacos/2.0.2/role/files/mysql rename to galaxy-data-platform/parcels/roles/components/Nacos/2.0.2/role/files/mysql diff --git a/Nacos/2.0.2/role/handlers/main.yml b/galaxy-data-platform/parcels/roles/components/Nacos/2.0.2/role/handlers/main.yml similarity index 100% rename from Nacos/2.0.2/role/handlers/main.yml rename to galaxy-data-platform/parcels/roles/components/Nacos/2.0.2/role/handlers/main.yml diff --git a/Nacos/2.0.2/role/tasks/deploy.yml b/galaxy-data-platform/parcels/roles/components/Nacos/2.0.2/role/tasks/deploy.yml similarity index 100% rename from Nacos/2.0.2/role/tasks/deploy.yml rename to galaxy-data-platform/parcels/roles/components/Nacos/2.0.2/role/tasks/deploy.yml diff --git a/Nacos/2.0.2/role/tasks/main.yml b/galaxy-data-platform/parcels/roles/components/Nacos/2.0.2/role/tasks/main.yml similarity index 100% rename from Nacos/2.0.2/role/tasks/main.yml rename to galaxy-data-platform/parcels/roles/components/Nacos/2.0.2/role/tasks/main.yml diff --git a/Nacos/2.0.2/role/tasks/status-check.yml b/galaxy-data-platform/parcels/roles/components/Nacos/2.0.2/role/tasks/status-check.yml similarity index 100% rename from Nacos/2.0.2/role/tasks/status-check.yml rename to galaxy-data-platform/parcels/roles/components/Nacos/2.0.2/role/tasks/status-check.yml diff --git a/Nacos/2.0.2/role/tasks/uninstall.yml b/galaxy-data-platform/parcels/roles/components/Nacos/2.0.2/role/tasks/uninstall.yml similarity index 100% rename from Nacos/2.0.2/role/tasks/uninstall.yml rename to galaxy-data-platform/parcels/roles/components/Nacos/2.0.2/role/tasks/uninstall.yml diff --git a/Nacos/2.0.2/role/templates/application.properties.j2 b/galaxy-data-platform/parcels/roles/components/Nacos/2.0.2/role/templates/application.properties.j2 similarity index 100% rename from Nacos/2.0.2/role/templates/application.properties.j2 rename to galaxy-data-platform/parcels/roles/components/Nacos/2.0.2/role/templates/application.properties.j2 diff --git a/Nacos/2.0.2/role/templates/cluster.conf.j2 b/galaxy-data-platform/parcels/roles/components/Nacos/2.0.2/role/templates/cluster.conf.j2 similarity index 100% rename from Nacos/2.0.2/role/templates/cluster.conf.j2 rename to galaxy-data-platform/parcels/roles/components/Nacos/2.0.2/role/templates/cluster.conf.j2 diff --git a/Nacos/2.0.2/role/templates/docker-compose.yml.j2 b/galaxy-data-platform/parcels/roles/components/Nacos/2.0.2/role/templates/docker-compose.yml.j2 similarity index 100% rename from Nacos/2.0.2/role/templates/docker-compose.yml.j2 rename to galaxy-data-platform/parcels/roles/components/Nacos/2.0.2/role/templates/docker-compose.yml.j2 diff --git a/Nacos/2.0.2/role/templates/nacos-logback.xml.j2 b/galaxy-data-platform/parcels/roles/components/Nacos/2.0.2/role/templates/nacos-logback.xml.j2 similarity index 100% rename from Nacos/2.0.2/role/templates/nacos-logback.xml.j2 rename to galaxy-data-platform/parcels/roles/components/Nacos/2.0.2/role/templates/nacos-logback.xml.j2 diff --git a/Nacos/2.0.2/role/templates/nacos-mysql.sql.j2 b/galaxy-data-platform/parcels/roles/components/Nacos/2.0.2/role/templates/nacos-mysql.sql.j2 similarity index 100% rename from Nacos/2.0.2/role/templates/nacos-mysql.sql.j2 rename to galaxy-data-platform/parcels/roles/components/Nacos/2.0.2/role/templates/nacos-mysql.sql.j2 diff --git a/Nacos/2.0.2/role/vars/main.yml b/galaxy-data-platform/parcels/roles/components/Nacos/2.0.2/role/vars/main.yml similarity index 100% rename from Nacos/2.0.2/role/vars/main.yml rename to galaxy-data-platform/parcels/roles/components/Nacos/2.0.2/role/vars/main.yml diff --git a/Pushgateway/1.4.2/pushgateway/hosts b/galaxy-data-platform/parcels/roles/components/Pushgateway/1.4.2/pushgateway/hosts similarity index 100% rename from Pushgateway/1.4.2/pushgateway/hosts rename to galaxy-data-platform/parcels/roles/components/Pushgateway/1.4.2/pushgateway/hosts diff --git a/Pushgateway/1.4.2/pushgateway/install.yml b/galaxy-data-platform/parcels/roles/components/Pushgateway/1.4.2/pushgateway/install.yml similarity index 100% rename from Pushgateway/1.4.2/pushgateway/install.yml rename to galaxy-data-platform/parcels/roles/components/Pushgateway/1.4.2/pushgateway/install.yml diff --git a/Pushgateway/1.4.2/pushgateway/role/defaults/main.yml b/galaxy-data-platform/parcels/roles/components/Pushgateway/1.4.2/pushgateway/role/defaults/main.yml similarity index 100% rename from Pushgateway/1.4.2/pushgateway/role/defaults/main.yml rename to galaxy-data-platform/parcels/roles/components/Pushgateway/1.4.2/pushgateway/role/defaults/main.yml diff --git a/Pushgateway/1.4.2/pushgateway/role/handlers/main.yml b/galaxy-data-platform/parcels/roles/components/Pushgateway/1.4.2/pushgateway/role/handlers/main.yml similarity index 100% rename from Pushgateway/1.4.2/pushgateway/role/handlers/main.yml rename to galaxy-data-platform/parcels/roles/components/Pushgateway/1.4.2/pushgateway/role/handlers/main.yml diff --git a/Pushgateway/1.4.2/pushgateway/role/tasks/deploy.yml b/galaxy-data-platform/parcels/roles/components/Pushgateway/1.4.2/pushgateway/role/tasks/deploy.yml similarity index 100% rename from Pushgateway/1.4.2/pushgateway/role/tasks/deploy.yml rename to galaxy-data-platform/parcels/roles/components/Pushgateway/1.4.2/pushgateway/role/tasks/deploy.yml diff --git a/Pushgateway/1.4.2/pushgateway/role/tasks/main.yml b/galaxy-data-platform/parcels/roles/components/Pushgateway/1.4.2/pushgateway/role/tasks/main.yml similarity index 100% rename from Pushgateway/1.4.2/pushgateway/role/tasks/main.yml rename to galaxy-data-platform/parcels/roles/components/Pushgateway/1.4.2/pushgateway/role/tasks/main.yml diff --git a/Pushgateway/1.4.2/pushgateway/role/tasks/status-check.yml b/galaxy-data-platform/parcels/roles/components/Pushgateway/1.4.2/pushgateway/role/tasks/status-check.yml similarity index 100% rename from Pushgateway/1.4.2/pushgateway/role/tasks/status-check.yml rename to galaxy-data-platform/parcels/roles/components/Pushgateway/1.4.2/pushgateway/role/tasks/status-check.yml diff --git a/Pushgateway/1.4.2/pushgateway/role/tasks/uninstall.yml b/galaxy-data-platform/parcels/roles/components/Pushgateway/1.4.2/pushgateway/role/tasks/uninstall.yml similarity index 100% rename from Pushgateway/1.4.2/pushgateway/role/tasks/uninstall.yml rename to galaxy-data-platform/parcels/roles/components/Pushgateway/1.4.2/pushgateway/role/tasks/uninstall.yml diff --git a/Pushgateway/1.4.2/pushgateway/role/templates/docker-compose.yml.j2 b/galaxy-data-platform/parcels/roles/components/Pushgateway/1.4.2/pushgateway/role/templates/docker-compose.yml.j2 similarity index 100% rename from Pushgateway/1.4.2/pushgateway/role/templates/docker-compose.yml.j2 rename to galaxy-data-platform/parcels/roles/components/Pushgateway/1.4.2/pushgateway/role/templates/docker-compose.yml.j2 diff --git a/Pushgateway/1.4.2/pushgateway/role/vars/.main.yml.swp b/galaxy-data-platform/parcels/roles/components/Pushgateway/1.4.2/pushgateway/role/vars/.main.yml.swp similarity index 100% rename from Pushgateway/1.4.2/pushgateway/role/vars/.main.yml.swp rename to galaxy-data-platform/parcels/roles/components/Pushgateway/1.4.2/pushgateway/role/vars/.main.yml.swp diff --git a/Pushgateway/1.4.2/pushgateway/role/vars/main.yml b/galaxy-data-platform/parcels/roles/components/Pushgateway/1.4.2/pushgateway/role/vars/main.yml similarity index 100% rename from Pushgateway/1.4.2/pushgateway/role/vars/main.yml rename to galaxy-data-platform/parcels/roles/components/Pushgateway/1.4.2/pushgateway/role/vars/main.yml diff --git a/Redis/6.2.5/redis/hosts b/galaxy-data-platform/parcels/roles/components/Redis/6.2.5/redis/hosts similarity index 100% rename from Redis/6.2.5/redis/hosts rename to galaxy-data-platform/parcels/roles/components/Redis/6.2.5/redis/hosts diff --git a/Redis/6.2.5/redis/install.yml b/galaxy-data-platform/parcels/roles/components/Redis/6.2.5/redis/install.yml similarity index 100% rename from Redis/6.2.5/redis/install.yml rename to galaxy-data-platform/parcels/roles/components/Redis/6.2.5/redis/install.yml diff --git a/Redis/6.2.5/redis/role/defaults/main.yml b/galaxy-data-platform/parcels/roles/components/Redis/6.2.5/redis/role/defaults/main.yml similarity index 100% rename from Redis/6.2.5/redis/role/defaults/main.yml rename to galaxy-data-platform/parcels/roles/components/Redis/6.2.5/redis/role/defaults/main.yml diff --git a/Redis/6.2.5/redis/role/handlers/main.yml b/galaxy-data-platform/parcels/roles/components/Redis/6.2.5/redis/role/handlers/main.yml similarity index 100% rename from Redis/6.2.5/redis/role/handlers/main.yml rename to galaxy-data-platform/parcels/roles/components/Redis/6.2.5/redis/role/handlers/main.yml diff --git a/Redis/6.2.5/redis/role/tasks/deploy-cluster.yml b/galaxy-data-platform/parcels/roles/components/Redis/6.2.5/redis/role/tasks/deploy-cluster.yml similarity index 100% rename from Redis/6.2.5/redis/role/tasks/deploy-cluster.yml rename to galaxy-data-platform/parcels/roles/components/Redis/6.2.5/redis/role/tasks/deploy-cluster.yml diff --git a/Redis/6.2.5/redis/role/tasks/deploy-standalone.yml b/galaxy-data-platform/parcels/roles/components/Redis/6.2.5/redis/role/tasks/deploy-standalone.yml similarity index 100% rename from Redis/6.2.5/redis/role/tasks/deploy-standalone.yml rename to galaxy-data-platform/parcels/roles/components/Redis/6.2.5/redis/role/tasks/deploy-standalone.yml diff --git a/Redis/6.2.5/redis/role/tasks/main.yml b/galaxy-data-platform/parcels/roles/components/Redis/6.2.5/redis/role/tasks/main.yml similarity index 100% rename from Redis/6.2.5/redis/role/tasks/main.yml rename to galaxy-data-platform/parcels/roles/components/Redis/6.2.5/redis/role/tasks/main.yml diff --git a/Redis/6.2.5/redis/role/tasks/status-check.yml b/galaxy-data-platform/parcels/roles/components/Redis/6.2.5/redis/role/tasks/status-check.yml similarity index 100% rename from Redis/6.2.5/redis/role/tasks/status-check.yml rename to galaxy-data-platform/parcels/roles/components/Redis/6.2.5/redis/role/tasks/status-check.yml diff --git a/Redis/6.2.5/redis/role/tasks/uninstall.yml b/galaxy-data-platform/parcels/roles/components/Redis/6.2.5/redis/role/tasks/uninstall.yml similarity index 100% rename from Redis/6.2.5/redis/role/tasks/uninstall.yml rename to galaxy-data-platform/parcels/roles/components/Redis/6.2.5/redis/role/tasks/uninstall.yml diff --git a/Redis/6.2.5/redis/role/templates/docker-compose.yml.j2 b/galaxy-data-platform/parcels/roles/components/Redis/6.2.5/redis/role/templates/docker-compose.yml.j2 similarity index 100% rename from Redis/6.2.5/redis/role/templates/docker-compose.yml.j2 rename to galaxy-data-platform/parcels/roles/components/Redis/6.2.5/redis/role/templates/docker-compose.yml.j2 diff --git a/Redis/6.2.5/redis/role/templates/redis-master.conf.j2 b/galaxy-data-platform/parcels/roles/components/Redis/6.2.5/redis/role/templates/redis-master.conf.j2 similarity index 100% rename from Redis/6.2.5/redis/role/templates/redis-master.conf.j2 rename to galaxy-data-platform/parcels/roles/components/Redis/6.2.5/redis/role/templates/redis-master.conf.j2 diff --git a/Redis/6.2.5/redis/role/templates/redis-slave.conf.j2 b/galaxy-data-platform/parcels/roles/components/Redis/6.2.5/redis/role/templates/redis-slave.conf.j2 similarity index 100% rename from Redis/6.2.5/redis/role/templates/redis-slave.conf.j2 rename to galaxy-data-platform/parcels/roles/components/Redis/6.2.5/redis/role/templates/redis-slave.conf.j2 diff --git a/Redis/6.2.5/redis/role/vars/main.yml b/galaxy-data-platform/parcels/roles/components/Redis/6.2.5/redis/role/vars/main.yml similarity index 100% rename from Redis/6.2.5/redis/role/vars/main.yml rename to galaxy-data-platform/parcels/roles/components/Redis/6.2.5/redis/role/vars/main.yml diff --git a/tsg-olap/configuration/config.yml b/tsg-olap/configuration/config.yml new file mode 100644 index 0000000..1cd7a1d --- /dev/null +++ b/tsg-olap/configuration/config.yml @@ -0,0 +1,39 @@ +#============================Galaxy OLAP Configuration===============================# +#The default installation location +deploy_dir: /data/hdd/olap + +#The default data storage location,use storing application data,logs and configuration files +data_dir: /data/ssd/olap + +#Use commas (,) to separate the network segments that the firewall allows to access +allowed_ips: 192.168.44.0/24,192.168.45.0/24,192.168.54.0/24,192.168.58.0/24,192.168.41.0/24 + +#============================Keepalived Configuration===============================# +#Specify the interface virtual IP address.It used to configure high availability for OLAP query engine +#Only one IP address can be configured on the same network segment +#The following three ip addresses must be unique +vrrp_instance: + default: + virtual_ipaddress: 192.168.45.102 + interface: eth0 + virtual_router_id: 61 + oss: + virtual_ipaddress: 192.168.45.102 + interface: eth0 + virtual_router_id: 62 + +#============================OSS Configuration===============================# +#HOS token +hos_token: fea0ee76be8147bd9b53ad995b7ef603 + +#HOS token(加密) +encrypted_hos_token: M+0IMYS1+XENltUe585ahhqwY+QZJmnvtxML1vXExB9aO+CPT3GfsP4rtbVuWXpf + +#===========================Central Management Settings==============================# +#Central Management Server IP, Used for Dos detection task get policy. +cm_api: 192.168.44.3 + +#Central Management Server Token, Each environment Token is different. +#Requires communication with CM developers. +cm_api_token: aa2bdec5518ad131f71944b13ce5c298&1& + diff --git a/tsg-olap/configuration/hosts b/tsg-olap/configuration/hosts new file mode 100644 index 0000000..3b820ac --- /dev/null +++ b/tsg-olap/configuration/hosts @@ -0,0 +1,105 @@ +#============================================================================== +# Basic Components +# +# Orchestration & Coordinator & Configuration & Cold Storage +#============================================================================== + +#The cluster use master-master replication mode,maximum 2 servers. +[mariadb] +192.168.45.102 + +#Apache Zookeeper is a centralized service for maintaining configuration information, naming, providing distributed synchronization, and providing group services. +#The cluster mode at least 3 servers,The number of nodes must be odd,Like 3/5 nodes. +[zookeeper] +192.168.45.102 + +#Alibaba Nacos an easy-to-use dynamic service discovery, configuration and service management platform +#The cluster mode at least 3 servers,Multi-node HA mode. +[nacos] +192.168.45.102 + +#Apache Hadoop HDFS(Hadoop Distributed File System) +#HDFS is deployed only in cluster mode. +#At least 3 servers,An HDFS cluster consists of two Namenodes and a certain number of Datanodes node. +[hdfs] +192.168.45.102 + +#============================================================================== +# BigData Processing Components +# +# Big data is a term that refers to the massive volume, variety, and velocity of data that is generated from various sources and needs to be stored, processed, and analyzed efficiently. +# The Big Data processing component is used to provide a platform for fast and efficient processing +#============================================================================== + +#Apache Kafka is a distributed event streaming platform,used for high-performance data pipelines, streaming analytics. +#The cluster mode at least 3 servers,By default install CMAK(Management tool) on the first server. +[kafka] +192.168.45.102 + +#Apache Hadoop Yarn,Includes the Flink/Groot-stream runtime environment. +#Yarn is the resource management and job scheduling technology in the open source Hadoop distributed processing framework. +#The cluster mode at least 3 servers,A Yarn cluster consists of two ResourceManager (RM) and a certain number of NodeManager(NM) node. +[yarn] +192.168.45.102 + +#============================================================================== +# Analytic Storage Components +# +# This is a data storage solution designed to support large-scale data analysis and data mining workloads. +# The analytic Storage component it offers high performance, scalability, and flexibility to meet the demands of processing vast amounts of structured and unstructured data. +#============================================================================== + +#Apache HBase is the hosting of very large tables -- billions of rows X millions of columns -- atop clusters of commodity hardware +#The cluster mode at least 3 servers,A HBase cluster consists of three HMaster and a certain number of HRegionServer node. +[hbase] +192.168.45.102 +#Apache Druid is a high performance, real-time analytics database that delivers sub-second queries on streaming and batch data at scale and under load. +#The cluster mode at least 3 servers,A Druid cluster consists of two master/query and a certain number of worker node. +[druid] +192.168.45.102 + +#Yandex ClickHouse is the fastest and most resource efficient open-source database for real-time apps and analytics. +#The cluster mode at least 3 servers,A Clickhouse cluster consists of two query and a certain number of data node. +[clickhouse] +192.168.45.102 + +#ArangoDB is a scalable graph database system to drive value from connected data, faster. +#Only support single server deployment. +[arangodb] +192.168.45.102 + +#============================================================================== +# OLAP Self-research service +# +#============================================================================== + +#The default proxy,Includes the Nginx/Keepalived,If it is a standalone mode, only Nginx. +#A maximum of two nodes. +[loadbalancer] +192.168.45.102 + +#The clickhouse query proxy,Usually deployed with loadbalancer. +[chproxy] +192.168.45.102 + +#Galaxy-hos-service is a distributed object storage service. +#Include components:Keepalived/Nginx/Galaxy-hos-service,If it is a standalone mode, only Galaxy-hos-service/Nginx. +#The cluster mode at least 2 servers,keepalived and nginx services are deployed on the first two nodes by default. +[galaxy_hos_service] +192.168.45.102 + + +#The query gateway,Provides a unified query entry +[galaxy_qgw_service] +192.168.45.102 + +#A lightweight distributed task scheduling framework. +#Include components: Galaxy-job-admin/Galaxy-job-executor +[galaxy_job_service] +192.168.45.102 + +#The report execution service. +[saved_query_scheduler] +192.168.45.102 + + diff --git a/tsg-olap/configuration/tsg-olap.yml b/tsg-olap/configuration/tsg-olap.yml new file mode 100644 index 0000000..9ef347d --- /dev/null +++ b/tsg-olap/configuration/tsg-olap.yml @@ -0,0 +1,93 @@ +config_namespace: "prod" + +# Name of the data center +data_center_name: xxg + +galaxy_qgw_service: + # Running memory of the Galaxy-qgw-service. + java_opts: "-Xms1024m -Xmx3120m -XX:+ExitOnOutOfMemoryError" + +galaxy_job_service: + # Running memory of the Galaxy-job-admin. + admin_java_opts: '-Xms512m -Xmx740m' + # Running memory of the Galaxy-job-executor. + executor_java_opts: '-Xms512m -Xmx1024m' + +saved_query_scheduler: + # Running memory of the saved-query-scheduler. + java_opts: "-Xms512m -Xmx1024m" + +druid: + # Druid job parallelism + index_kafka_statistics_rule: + taskCount: 1 + druid.indexer.runner.javaOpts: "-server -Xms1g -Xmx2g -XX:MaxDirectMemorySize=1g" + +flink: + agg_app_protocol_traffic: + parallelism: 1 + taskmanager.memory.process.size: 2048m + taskmanager.memory.jvm-metaspace.size: 256m + taskmanager.numberOfTaskSlots: 1 + taskmanager.memory.framework.off-heap.size: 256m + detection_dos_attack: + parallelism: 1 + taskmanager.memory.process.size: 2048m + taskmanager.memory.jvm-metaspace.size: 256m + taskmanager.numberOfTaskSlots: 1 + taskmanager.memory.framework.off-heap.size: 256m + agg_traffic_file_chunk_combine: + parallelism: 1 + taskmanager.memory.process.size: 2048m + taskmanager.memory.jvm-metaspace.size: 256m + taskmanager.numberOfTaskSlots: 1 + taskmanager.memory.framework.off-heap.size: 256m + agg_troubleshooting_file_chunk_combine: + parallelism: 1 + taskmanager.memory.process.size: 2048m + taskmanager.memory.jvm-metaspace.size: 256m + taskmanager.numberOfTaskSlots: 1 + taskmanager.memory.framework.off-heap.size: 256m + correlation_sip_rtp_session: + parallelism: 1 + taskmanager.memory.process.size: 2048m + taskmanager.memory.jvm-metaspace.size: 256m + taskmanager.numberOfTaskSlots: 1 + taskmanager.memory.framework.off-heap.size: 256m + agg_session_record_topn: + parallelism: 1 + taskmanager.memory.process.size: 2048m + taskmanager.memory.jvm-metaspace.size: 256m + taskmanager.numberOfTaskSlots: 1 + taskmanager.memory.framework.off-heap.size: 256m + dos_event_kafka_to_clickhouse: + parallelism: 1 + taskmanager.memory.process.size: 2048m + taskmanager.memory.jvm-metaspace.size: 128m + taskmanager.numberOfTaskSlots: 1 + taskmanager.memory.framework.off-heap.size: 256m + etl_proxy_event_kafka_to_clickhouse: + parallelism: 1 + taskmanager.memory.process.size: 2048m + taskmanager.memory.jvm-metaspace.size: 256m + taskmanager.numberOfTaskSlots: 1 + taskmanager.memory.framework.off-heap.size: 256m + etl_session_record_kafka_to_clickhouse: + parallelism: 1 + taskmanager.memory.process.size: 3072m + taskmanager.memory.jvm-metaspace.size: 256m + taskmanager.numberOfTaskSlots: 1 + taskmanager.memory.framework.off-heap.size: 256m + etl_transaction_record_kafka_to_clickhouse: + parallelism: 1 + taskmanager.memory.process.size: 3072m + taskmanager.memory.jvm-metaspace.size: 256m + taskmanager.numberOfTaskSlots: 1 + taskmanager.memory.framework.off-heap.size: 256m + etl_voip_record_kafka_to_clickhouse: + parallelism: 1 + taskmanager.memory.process.size: 2048m + taskmanager.memory.jvm-metaspace.size: 128m + taskmanager.numberOfTaskSlots: 1 + taskmanager.memory.framework.off-heap.size: 256m + diff --git a/tsg-olap/parcels/roles/initialization/arangodb/tasks/check.yml b/tsg-olap/parcels/roles/initialization/arangodb/tasks/check.yml new file mode 100644 index 0000000..dfb0b32 --- /dev/null +++ b/tsg-olap/parcels/roles/initialization/arangodb/tasks/check.yml @@ -0,0 +1,11 @@ +- name: Set arangodb check variable + set_fact: + pin: "root:{{ arangodb_default_pin }}" + +- name: Check if collection exists in ArangoDB + uri: + url: "http://{{ groups.arangodb[0] }}:8529/_db/{{ arangodb_database }}/_api/collection/{{ item }}" + method: GET + headers: + Authorization: Basic {{ pin | b64encode }} + loop: "{{ arangodb_collections }}" diff --git a/tsg-olap/parcels/roles/initialization/arangodb/tasks/init.yml b/tsg-olap/parcels/roles/initialization/arangodb/tasks/init.yml new file mode 100644 index 0000000..920b6d4 --- /dev/null +++ b/tsg-olap/parcels/roles/initialization/arangodb/tasks/init.yml @@ -0,0 +1,21 @@ +- name: Creating directory + file: + state: directory + path: '{{ deploy_dir }}/{{ container_name }}/init' + +- name: Copying init files + template: + src: "create_database.sh.j2" + dest: "{{ deploy_dir }}/{{ container_name }}/init/create_database.sh" + mode: 0755 + force: true + +- name: Creating database and collection + shell: 'cd {{ deploy_dir }}/{{ container_name }}/init && sh create_database.sh' + register: response + until: response.rc == 0 + retries: 3 + delay: 3 + failed_when: response.rc != 0 + run_once: true + diff --git a/tsg-olap/parcels/roles/initialization/arangodb/tasks/main.yml b/tsg-olap/parcels/roles/initialization/arangodb/tasks/main.yml new file mode 100644 index 0000000..8894d83 --- /dev/null +++ b/tsg-olap/parcels/roles/initialization/arangodb/tasks/main.yml @@ -0,0 +1,3 @@ +- include: init.yml + when: operation == 'install' +- include: check.yml diff --git a/tsg-olap/parcels/roles/initialization/arangodb/templates/create_database.sh.j2 b/tsg-olap/parcels/roles/initialization/arangodb/templates/create_database.sh.j2 new file mode 100644 index 0000000..29657da --- /dev/null +++ b/tsg-olap/parcels/roles/initialization/arangodb/templates/create_database.sh.j2 @@ -0,0 +1,54 @@ +#!/bin/bash +source /etc/profile + +arangodb_host={{ groups.arangodb[0] | default('localhost') }} +username=root +pin="{{ arangodb_default_pin }}" +database="{{ arangodb_database }}" + +function create_database() { + # 检查数据库是否存在 + sleep 2 + check_database=$(curl -u $username:$pin -s -o /dev/null -w "%{http_code}" http://$arangodb_host:8529/_db/$database/_api/database/current) + if [[ $check_database -eq 200 ]]; then + echo "Database $database already exists." + else + # 创建数据库 + local response_code=$(curl -u $username:$pin -s -o /dev/null -w "%{http_code}" -X POST -H "accept: application/json" -d "{\"name\": \"$database\"}" http://$arangodb_host:8529/_api/database) + if [[ $response_code -eq 201 ]]; then + echo "Database $database created successfully." + else + echo "Failed to create database $database." + exit 1 + fi + fi + sleep 2 + +} + +function create_collection() { + local collection_name=$1 + local collection_type=$2 + sleep 2 + # 检查文档是否存在 + check_collection=$(curl -u $username:$pin -s -o /dev/null -w "%{http_code}" http://$arangodb_host:8529/_db/$database/_api/collection/$collection_name) + if [[ $check_collection -eq 200 ]]; then + echo "Collection $collection_name already exists." + else + # 创建文档$collection_name + local response_code=$(curl -u $username:$pin -s -o /dev/null -w "%{http_code}" -X POST -H 'accept: application/json' -d "{\"name\": \"$collection_name\",\"type\": $collection_type }" http://$arangodb_host:8529/_db/$database/_api/collection?isSystem=false) + if [[ $response_code -eq 201 ]]; then + echo "Collection $collection_name created successfully." + else + echo "Failed to create collection $collection_name." + exit 1 + fi + fi + sleep 2 +} + +# 2: document 3: edges +create_database +create_collection IP 2 +create_collection R_LOCATE_FQDN2IP 3 + diff --git a/tsg-olap/parcels/roles/initialization/arangodb/vars/main.yml b/tsg-olap/parcels/roles/initialization/arangodb/vars/main.yml new file mode 100644 index 0000000..fa8b9d4 --- /dev/null +++ b/tsg-olap/parcels/roles/initialization/arangodb/vars/main.yml @@ -0,0 +1,9 @@ +container_name: arangodb + +# 数据库 +arangodb_database: 'tsg_galaxy_v3' + +# 库表 +arangodb_collections: + - IP + - R_LOCATE_FQDN2IP diff --git a/tsg-olap/parcels/roles/initialization/clickhouse/files/create_ck_table.sql b/tsg-olap/parcels/roles/initialization/clickhouse/files/create_ck_table.sql new file mode 100644 index 0000000..7eb3923 --- /dev/null +++ b/tsg-olap/parcels/roles/initialization/clickhouse/files/create_ck_table.sql @@ -0,0 +1,4174 @@ +create database IF NOT EXISTS tsg_galaxy_v3 ON CLUSTER ck_cluster; +create database IF NOT EXISTS tsg_galaxy_v3 ON CLUSTER ck_query; + +CREATE TABLE IF NOT EXISTS tsg_galaxy_v3.dos_event_local on cluster ck_cluster ( + vsys_id Int32, + recv_time Int64, + log_id UInt64, + profile_id Int64, + start_time Int64, + end_time Int64, + attack_type String, + severity String, + conditions String, + destination_ip String, + destination_country String, + source_ip_list String, + source_country_list String, + session_rate Int64, + packet_rate Int64, + bit_rate Int64 +) +ENGINE = MergeTree +PARTITION BY toYYYYMMDD(toDate(recv_time)) +ORDER BY (vsys_id,destination_ip,recv_time,log_id); + +CREATE TABLE IF NOT EXISTS tsg_galaxy_v3.dos_event on cluster ck_cluster ( + vsys_id Int32, + recv_time Int64, + log_id UInt64, + profile_id Int64, + start_time Int64, + end_time Int64, + attack_type String, + severity String, + conditions String, + destination_ip String, + destination_country String, + source_ip_list String, + source_country_list String, + session_rate Int64, + packet_rate Int64, + bit_rate Int64 +) +ENGINE =Distributed(ck_cluster,tsg_galaxy_v3,dos_event_local,rand()); + +CREATE TABLE IF NOT EXISTS tsg_galaxy_v3.dos_event on cluster ck_query ( + vsys_id Int32, + recv_time Int64, + log_id UInt64, + profile_id Int64, + start_time Int64, + end_time Int64, + attack_type String, + severity String, + conditions String, + destination_ip String, + destination_country String, + source_ip_list String, + source_country_list String, + session_rate Int64, + packet_rate Int64, + bit_rate Int64 +) +ENGINE =Distributed(ck_cluster,tsg_galaxy_v3,dos_event_local,rand()); + + +CREATE TABLE IF NOT EXISTS tsg_galaxy_v3.assessment_event_local on cluster ck_cluster ( + log_id UInt64, + recv_time Int64, + vsys_id Int64, + assessment_date Int64, + lot_number String, + file_name String, + assessment_file String, + assessment_type String, + features String, + size Int64, + file_checksum_sha String +) +ENGINE = MergeTree +PARTITION BY toYYYYMMDD(toDate(recv_time)) +ORDER BY (vsys_id,recv_time,log_id); + +CREATE TABLE IF NOT EXISTS tsg_galaxy_v3.assessment_event on cluster ck_query ( + log_id UInt64, + recv_time Int64, + vsys_id Int64, + assessment_date Int64, + lot_number String, + file_name String, + assessment_file String, + assessment_type String, + features String, + size Int64, + file_checksum_sha String +) +ENGINE =Distributed(ck_cluster,tsg_galaxy_v3,assessment_event_local,rand()); + +CREATE TABLE IF NOT EXISTS tsg_galaxy_v3.assessment_event on cluster ck_cluster ( + log_id UInt64, + recv_time Int64, + vsys_id Int64, + assessment_date Int64, + lot_number String, + file_name String, + assessment_file String, + assessment_type String, + features String, + size Int64, + file_checksum_sha String +) +ENGINE =Distributed(ck_cluster,tsg_galaxy_v3,assessment_event_local,rand()); + + + + +CREATE TABLE IF NOT EXISTS tsg_galaxy_v3.session_record_local on cluster ck_cluster ( +recv_time Int64, +log_id UInt64, +decoded_as String, +session_id UInt64, +start_timestamp_ms DateTime64(3), +end_timestamp_ms DateTime64(3), +duration_ms Int32, +tcp_handshake_latency_ms Nullable(Int32), +ingestion_time Int64, +processing_time Int64, +insert_time Int64 MATERIALIZED toUnixTimestamp(now()), +device_id String, +out_link_id Nullable(Int32), +in_link_id Nullable(Int32), +device_tag String, +data_center String, +device_group String, +sled_ip String, +address_type Int32, +vsys_id Int32, +t_vsys_id Int32, +flags Int64, +flags_identify_info String, +security_rule_list Array(Int64), +security_action String, +monitor_rule_list Array(Int64), +shaping_rule_list Array(Int64), +proxy_rule_list Array(Int64), +statistics_rule_list Array(Int64), +sc_rule_list Array(Int64), +sc_rsp_raw Array(Int64), +sc_rsp_decrypted Array(Int64), +proxy_action String, +proxy_pinning_status Nullable(Int32), +proxy_intercept_status Nullable(Int32), +proxy_passthrough_reason String, +proxy_client_side_latency_ms Nullable(Int32), +proxy_server_side_latency_ms Nullable(Int32), +proxy_client_side_version String, +proxy_server_side_version String, +proxy_cert_verify Nullable(Int32), +proxy_intercept_error String, +monitor_mirrored_pkts Nullable(Int32), +monitor_mirrored_bytes Nullable(Int32), +client_ip String, +client_port Int32, +client_os_desc String, +client_geolocation LowCardinality(String), +client_asn Nullable(Int64), +subscriber_id String, +imei String, +imsi String, +phone_number String, +apn String, +server_ip String, +server_port Int32, +server_os_desc String, +server_geolocation LowCardinality(String), +server_asn Nullable(Int64), +server_fqdn String, +server_domain String, +app_transition String,  +app LowCardinality(String), +app_debug_info String, +app_content String, +fqdn_category_list Array(Int64), +ip_protocol LowCardinality(String), +decoded_path LowCardinality(String), +dns_message_id Nullable(Int32), +dns_qr Nullable(Int32), +dns_opcode Nullable(Int32), +dns_aa Nullable(Int32), +dns_tc Nullable(Int32), +dns_rd Nullable(Int32), +dns_ra Nullable(Int32), +dns_rcode Nullable(Int32), +dns_qdcount Nullable(Int32), +dns_ancount Nullable(Int32), +dns_nscount Nullable(Int32), +dns_arcount Nullable(Int32), +dns_qname String, +dns_qtype Nullable(Int32), +dns_qclass Nullable(Int32), +dns_cname String, +dns_sub Nullable(Int32), +dns_rr String, +dns_response_latency_ms Nullable(Int32), +http_url String, +http_host String, +http_request_line String, +http_response_line String, +http_request_body String, +http_response_body String, +http_proxy_flag Nullable(Int32), +http_sequence Nullable(Int32), +http_cookie String, +http_referer String, +http_user_agent String, +http_request_content_length Nullable(Int64), +http_request_content_type String, +http_response_content_length Nullable(Int64), +http_response_content_type String, +http_set_cookie String, +http_version String, +http_status_code Nullable(Int32), +http_response_latency_ms Nullable(Int32), +http_session_duration_ms Nullable(Int32), +http_action_file_size Nullable(Int64), +ssl_version String, +ssl_sni String, +ssl_san String, +ssl_cn String, +ssl_handshake_latency_ms Nullable(Int32), +ssl_ja3_hash String, +ssl_ja3s_hash String, +ssl_cert_issuer String, +ssl_cert_subject String, +ssl_esni_flag Nullable(Int32), +ssl_ech_flag Nullable(Int32), +dtls_cookie String, +dtls_version  String, +dtls_sni String, +dtls_san String, +dtls_cn String, +dtls_handshake_latency_ms Nullable(Int32), +dtls_ja3_fingerprint String, +dtls_ja3_hash String, +dtls_cert_issuer String, +dtls_cert_subject String, +mail_protocol_type String, +mail_account String, +mail_from_cmd String, +mail_to_cmd String, +mail_from String, +mail_password String, +mail_to String, +mail_cc String, +mail_bcc String, +mail_subject String, +mail_subject_charset String, +mail_attachment_name String, +mail_attachment_name_charset String, +mail_eml_file String, +ftp_account String, +ftp_url String, +ftp_link_type String, +quic_version String, +quic_sni String, +quic_user_agent String, +rdp_cookie String, +rdp_security_protocol String, +rdp_client_channels String, +rdp_keyboard_layout String, +rdp_client_version String, +rdp_client_name String, +rdp_client_product_id String, +rdp_desktop_width String, +rdp_desktop_height String, +rdp_requested_color_depth String, +rdp_certificate_type String, +rdp_certificate_count Nullable(Int32), +rdp_certificate_permanent Nullable(Int32), +rdp_encryption_level String, +rdp_encryption_method String, +ssh_version String, +ssh_auth_success String, +ssh_client_version String, +ssh_server_version String, +ssh_cipher_alg String, +ssh_mac_alg String, +ssh_compression_alg String, +ssh_kex_alg String, +ssh_host_key_alg String, +ssh_host_key String, +ssh_hassh String, +sip_call_id String, +sip_originator_description String, +sip_responder_description String, +sip_user_agent String, +sip_server String, +sip_originator_sdp_connect_ip String, +sip_originator_sdp_media_port Nullable(Int32), +sip_originator_sdp_media_type String, +sip_originator_sdp_content String, +sip_responder_sdp_connect_ip String, +sip_responder_sdp_media_port Nullable(Int32), +sip_responder_sdp_media_type String, +sip_responder_sdp_content String, +sip_duration_s Nullable(Int32), +sip_bye String, +rtp_payload_type_c2s Nullable(Int32), +rtp_payload_type_s2c Nullable(Int32), +rtp_pcap_path String, +rtp_originator_dir Nullable(Int32), +stratum_cryptocurrency String, +stratum_mining_pools String, +stratum_mining_program String, +stratum_mining_subscribe String, +sent_pkts Int64, +received_pkts Int64, +sent_bytes Int64, +received_bytes Int64, +tcp_c2s_ip_fragments Nullable(Int64), +tcp_s2c_ip_fragments Nullable(Int64), +tcp_c2s_lost_bytes Nullable(Int64), +tcp_s2c_lost_bytes Nullable(Int64), +tcp_c2s_o3_pkts Nullable(Int64), +tcp_s2c_o3_pkts Nullable(Int64), +tcp_c2s_rtx_pkts Nullable(Int64), +tcp_s2c_rtx_pkts Nullable(Int64), +tcp_c2s_rtx_bytes Nullable(Int64), +tcp_s2c_rtx_bytes Nullable(Int64), +tcp_rtt_ms Nullable(Int32), +tcp_client_isn Nullable(Int64), +tcp_server_isn Nullable(Int64), +packet_capture_file String, +in_src_mac String, +out_src_mac String, +in_dest_mac String, +out_dest_mac String, +tunnels String, +dup_traffic_flag Nullable(Int32), +tunnel_endpoint_a_desc String, +tunnel_endpoint_b_desc String +) +ENGINE = MergeTree +PARTITION BY toYYYYMMDD(toDate(recv_time)) +ORDER BY (vsys_id, security_action,proxy_action,decoded_as,data_center, device_group,recv_time); + + +CREATE TABLE IF NOT EXISTS tsg_galaxy_v3.session_record on cluster ck_cluster ( +recv_time Int64, +log_id UInt64, +decoded_as String, +session_id UInt64, +start_timestamp_ms DateTime64(3), +end_timestamp_ms DateTime64(3), +duration_ms Int32, +tcp_handshake_latency_ms Nullable(Int32), +ingestion_time Int64, +processing_time Int64, +insert_time Int64, +device_id String, +out_link_id Nullable(Int32), +in_link_id Nullable(Int32), +device_tag String, +data_center String, +device_group String, +sled_ip String, +address_type Int32, +vsys_id Int32, +t_vsys_id Int32, +flags Int64, +flags_identify_info String, +security_rule_list Array(Int64), +security_action String, +monitor_rule_list Array(Int64), +shaping_rule_list Array(Int64), +proxy_rule_list Array(Int64), +statistics_rule_list Array(Int64), +sc_rule_list Array(Int64), +sc_rsp_raw Array(Int64), +sc_rsp_decrypted Array(Int64), +proxy_action String, +proxy_pinning_status Nullable(Int32), +proxy_intercept_status Nullable(Int32), +proxy_passthrough_reason String, +proxy_client_side_latency_ms Nullable(Int32), +proxy_server_side_latency_ms Nullable(Int32), +proxy_client_side_version String, +proxy_server_side_version String, +proxy_cert_verify Nullable(Int32), +proxy_intercept_error String, +monitor_mirrored_pkts Nullable(Int32), +monitor_mirrored_bytes Nullable(Int32), +client_ip String, +client_port Int32, +client_os_desc String, +client_geolocation LowCardinality(String), +client_asn Nullable(Int64), +subscriber_id String, +imei String, +imsi String, +phone_number String, +apn String, +server_ip String, +server_port Int32, +server_os_desc String, +server_geolocation LowCardinality(String), +server_asn Nullable(Int64), +server_fqdn String, +server_domain String, +app_transition String,  +app LowCardinality(String), +app_debug_info String, +app_content String, +fqdn_category_list Array(Int64), +ip_protocol LowCardinality(String), +decoded_path LowCardinality(String), +dns_message_id Nullable(Int32), +dns_qr Nullable(Int32), +dns_opcode Nullable(Int32), +dns_aa Nullable(Int32), +dns_tc Nullable(Int32), +dns_rd Nullable(Int32), +dns_ra Nullable(Int32), +dns_rcode Nullable(Int32), +dns_qdcount Nullable(Int32), +dns_ancount Nullable(Int32), +dns_nscount Nullable(Int32), +dns_arcount Nullable(Int32), +dns_qname String, +dns_qtype Nullable(Int32), +dns_qclass Nullable(Int32), +dns_cname String, +dns_sub Nullable(Int32), +dns_rr String, +dns_response_latency_ms Nullable(Int32), +http_url String, +http_host String, +http_request_line String, +http_response_line String, +http_request_body String, +http_response_body String, +http_proxy_flag Nullable(Int32), +http_sequence Nullable(Int32), +http_cookie String, +http_referer String, +http_user_agent String, +http_request_content_length Nullable(Int64), +http_request_content_type String, +http_response_content_length Nullable(Int64), +http_response_content_type String, +http_set_cookie String, +http_version String, +http_status_code Nullable(Int32), +http_response_latency_ms Nullable(Int32), +http_session_duration_ms Nullable(Int32), +http_action_file_size Nullable(Int64), +ssl_version String, +ssl_sni String, +ssl_san String, +ssl_cn String, +ssl_handshake_latency_ms Nullable(Int32), +ssl_ja3_hash String, +ssl_ja3s_hash String, +ssl_cert_issuer String, +ssl_cert_subject String, +ssl_esni_flag Nullable(Int32), +ssl_ech_flag Nullable(Int32), +dtls_cookie String, +dtls_version  String, +dtls_sni String, +dtls_san String, +dtls_cn String, +dtls_handshake_latency_ms Nullable(Int32), +dtls_ja3_fingerprint String, +dtls_ja3_hash String, +dtls_cert_issuer String, +dtls_cert_subject String, +mail_protocol_type String, +mail_account String, +mail_from_cmd String, +mail_to_cmd String, +mail_from String, +mail_password String, +mail_to String, +mail_cc String, +mail_bcc String, +mail_subject String, +mail_subject_charset String, +mail_attachment_name String, +mail_attachment_name_charset String, +mail_eml_file String, +ftp_account String, +ftp_url String, +ftp_link_type String, +quic_version String, +quic_sni String, +quic_user_agent String, +rdp_cookie String, +rdp_security_protocol String, +rdp_client_channels String, +rdp_keyboard_layout String, +rdp_client_version String, +rdp_client_name String, +rdp_client_product_id String, +rdp_desktop_width String, +rdp_desktop_height String, +rdp_requested_color_depth String, +rdp_certificate_type String, +rdp_certificate_count Nullable(Int32), +rdp_certificate_permanent Nullable(Int32), +rdp_encryption_level String, +rdp_encryption_method String, +ssh_version String, +ssh_auth_success String, +ssh_client_version String, +ssh_server_version String, +ssh_cipher_alg String, +ssh_mac_alg String, +ssh_compression_alg String, +ssh_kex_alg String, +ssh_host_key_alg String, +ssh_host_key String, +ssh_hassh String, +sip_call_id String, +sip_originator_description String, +sip_responder_description String, +sip_user_agent String, +sip_server String, +sip_originator_sdp_connect_ip String, +sip_originator_sdp_media_port Nullable(Int32), +sip_originator_sdp_media_type String, +sip_originator_sdp_content String, +sip_responder_sdp_connect_ip String, +sip_responder_sdp_media_port Nullable(Int32), +sip_responder_sdp_media_type String, +sip_responder_sdp_content String, +sip_duration_s Nullable(Int32), +sip_bye String, +rtp_payload_type_c2s Nullable(Int32), +rtp_payload_type_s2c Nullable(Int32), +rtp_pcap_path String, +rtp_originator_dir Nullable(Int32), +stratum_cryptocurrency String, +stratum_mining_pools String, +stratum_mining_program String, +stratum_mining_subscribe String, +sent_pkts Int64, +received_pkts Int64, +sent_bytes Int64, +received_bytes Int64, +tcp_c2s_ip_fragments Nullable(Int64), +tcp_s2c_ip_fragments Nullable(Int64), +tcp_c2s_lost_bytes Nullable(Int64), +tcp_s2c_lost_bytes Nullable(Int64), +tcp_c2s_o3_pkts Nullable(Int64), +tcp_s2c_o3_pkts Nullable(Int64), +tcp_c2s_rtx_pkts Nullable(Int64), +tcp_s2c_rtx_pkts Nullable(Int64), +tcp_c2s_rtx_bytes Nullable(Int64), +tcp_s2c_rtx_bytes Nullable(Int64), +tcp_rtt_ms Nullable(Int32), +tcp_client_isn Nullable(Int64), +tcp_server_isn Nullable(Int64), +packet_capture_file String, +in_src_mac String, +out_src_mac String, +in_dest_mac String, +out_dest_mac String, +tunnels String, +dup_traffic_flag Nullable(Int32), +tunnel_endpoint_a_desc String, +tunnel_endpoint_b_desc String +) +ENGINE =Distributed(ck_cluster,tsg_galaxy_v3,session_record_local,rand()); + + +CREATE TABLE IF NOT EXISTS tsg_galaxy_v3.session_record on cluster ck_query ( +recv_time Int64, +log_id UInt64, +decoded_as String, +session_id UInt64, +start_timestamp_ms DateTime64(3), +end_timestamp_ms DateTime64(3), +duration_ms Int32, +tcp_handshake_latency_ms Nullable(Int32), +ingestion_time Int64, +processing_time Int64, +insert_time Int64, +device_id String, +out_link_id Nullable(Int32), +in_link_id Nullable(Int32), +device_tag String, +data_center String, +device_group String, +sled_ip String, +address_type Int32, +vsys_id Int32, +t_vsys_id Int32, +flags Int64, +flags_identify_info String, +security_rule_list Array(Int64), +security_action String, +monitor_rule_list Array(Int64), +shaping_rule_list Array(Int64), +proxy_rule_list Array(Int64), +statistics_rule_list Array(Int64), +sc_rule_list Array(Int64), +sc_rsp_raw Array(Int64), +sc_rsp_decrypted Array(Int64), +proxy_action String, +proxy_pinning_status Nullable(Int32), +proxy_intercept_status Nullable(Int32), +proxy_passthrough_reason String, +proxy_client_side_latency_ms Nullable(Int32), +proxy_server_side_latency_ms Nullable(Int32), +proxy_client_side_version String, +proxy_server_side_version String, +proxy_cert_verify Nullable(Int32), +proxy_intercept_error String, +monitor_mirrored_pkts Nullable(Int32), +monitor_mirrored_bytes Nullable(Int32), +client_ip String, +client_port Int32, +client_os_desc String, +client_geolocation LowCardinality(String), +client_asn Nullable(Int64), +subscriber_id String, +imei String, +imsi String, +phone_number String, +apn String, +server_ip String, +server_port Int32, +server_os_desc String, +server_geolocation LowCardinality(String), +server_asn Nullable(Int64), +server_fqdn String, +server_domain String, +app_transition String,  +app LowCardinality(String), +app_debug_info String, +app_content String, +fqdn_category_list Array(Int64), +ip_protocol LowCardinality(String), +decoded_path LowCardinality(String), +dns_message_id Nullable(Int32), +dns_qr Nullable(Int32), +dns_opcode Nullable(Int32), +dns_aa Nullable(Int32), +dns_tc Nullable(Int32), +dns_rd Nullable(Int32), +dns_ra Nullable(Int32), +dns_rcode Nullable(Int32), +dns_qdcount Nullable(Int32), +dns_ancount Nullable(Int32), +dns_nscount Nullable(Int32), +dns_arcount Nullable(Int32), +dns_qname String, +dns_qtype Nullable(Int32), +dns_qclass Nullable(Int32), +dns_cname String, +dns_sub Nullable(Int32), +dns_rr String, +dns_response_latency_ms Nullable(Int32), +http_url String, +http_host String, +http_request_line String, +http_response_line String, +http_request_body String, +http_response_body String, +http_proxy_flag Nullable(Int32), +http_sequence Nullable(Int32), +http_cookie String, +http_referer String, +http_user_agent String, +http_request_content_length Nullable(Int64), +http_request_content_type String, +http_response_content_length Nullable(Int64), +http_response_content_type String, +http_set_cookie String, +http_version String, +http_status_code Nullable(Int32), +http_response_latency_ms Nullable(Int32), +http_session_duration_ms Nullable(Int32), +http_action_file_size Nullable(Int64), +ssl_version String, +ssl_sni String, +ssl_san String, +ssl_cn String, +ssl_handshake_latency_ms Nullable(Int32), +ssl_ja3_hash String, +ssl_ja3s_hash String, +ssl_cert_issuer String, +ssl_cert_subject String, +ssl_esni_flag Nullable(Int32), +ssl_ech_flag Nullable(Int32), +dtls_cookie String, +dtls_version  String, +dtls_sni String, +dtls_san String, +dtls_cn String, +dtls_handshake_latency_ms Nullable(Int32), +dtls_ja3_fingerprint String, +dtls_ja3_hash String, +dtls_cert_issuer String, +dtls_cert_subject String, +mail_protocol_type String, +mail_account String, +mail_from_cmd String, +mail_to_cmd String, +mail_from String, +mail_password String, +mail_to String, +mail_cc String, +mail_bcc String, +mail_subject String, +mail_subject_charset String, +mail_attachment_name String, +mail_attachment_name_charset String, +mail_eml_file String, +ftp_account String, +ftp_url String, +ftp_link_type String, +quic_version String, +quic_sni String, +quic_user_agent String, +rdp_cookie String, +rdp_security_protocol String, +rdp_client_channels String, +rdp_keyboard_layout String, +rdp_client_version String, +rdp_client_name String, +rdp_client_product_id String, +rdp_desktop_width String, +rdp_desktop_height String, +rdp_requested_color_depth String, +rdp_certificate_type String, +rdp_certificate_count Nullable(Int32), +rdp_certificate_permanent Nullable(Int32), +rdp_encryption_level String, +rdp_encryption_method String, +ssh_version String, +ssh_auth_success String, +ssh_client_version String, +ssh_server_version String, +ssh_cipher_alg String, +ssh_mac_alg String, +ssh_compression_alg String, +ssh_kex_alg String, +ssh_host_key_alg String, +ssh_host_key String, +ssh_hassh String, +sip_call_id String, +sip_originator_description String, +sip_responder_description String, +sip_user_agent String, +sip_server String, +sip_originator_sdp_connect_ip String, +sip_originator_sdp_media_port Nullable(Int32), +sip_originator_sdp_media_type String, +sip_originator_sdp_content String, +sip_responder_sdp_connect_ip String, +sip_responder_sdp_media_port Nullable(Int32), +sip_responder_sdp_media_type String, +sip_responder_sdp_content String, +sip_duration_s Nullable(Int32), +sip_bye String, +rtp_payload_type_c2s Nullable(Int32), +rtp_payload_type_s2c Nullable(Int32), +rtp_pcap_path String, +rtp_originator_dir Nullable(Int32), +stratum_cryptocurrency String, +stratum_mining_pools String, +stratum_mining_program String, +stratum_mining_subscribe String, +sent_pkts Int64, +received_pkts Int64, +sent_bytes Int64, +received_bytes Int64, +tcp_c2s_ip_fragments Nullable(Int64), +tcp_s2c_ip_fragments Nullable(Int64), +tcp_c2s_lost_bytes Nullable(Int64), +tcp_s2c_lost_bytes Nullable(Int64), +tcp_c2s_o3_pkts Nullable(Int64), +tcp_s2c_o3_pkts Nullable(Int64), +tcp_c2s_rtx_pkts Nullable(Int64), +tcp_s2c_rtx_pkts Nullable(Int64), +tcp_c2s_rtx_bytes Nullable(Int64), +tcp_s2c_rtx_bytes Nullable(Int64), +tcp_rtt_ms Nullable(Int32), +tcp_client_isn Nullable(Int64), +tcp_server_isn Nullable(Int64), +packet_capture_file String, +in_src_mac String, +out_src_mac String, +in_dest_mac String, +out_dest_mac String, +tunnels String, +dup_traffic_flag Nullable(Int32), +tunnel_endpoint_a_desc String, +tunnel_endpoint_b_desc String +) +ENGINE =Distributed(ck_cluster,tsg_galaxy_v3,session_record_local,rand()); + +CREATE TABLE IF NOT EXISTS tsg_galaxy_v3.security_event_local on cluster ck_cluster ( +recv_time Int64, +log_id UInt64, +decoded_as String, +session_id UInt64, +start_timestamp_ms DateTime64(3), +end_timestamp_ms DateTime64(3), +duration_ms Int32, +tcp_handshake_latency_ms Nullable(Int32), +ingestion_time Int64, +processing_time Int64, +insert_time Int64 MATERIALIZED toUnixTimestamp(now()), +device_id String, +out_link_id Nullable(Int32), +in_link_id Nullable(Int32), +device_tag String, +data_center String, +device_group String, +sled_ip String, +address_type Int32, +vsys_id Int32, +t_vsys_id Int32, +flags Int64, +flags_identify_info String, +security_rule_list Array(Int64), +security_action String, +monitor_rule_list Array(Int64), +shaping_rule_list Array(Int64), +proxy_rule_list Array(Int64), +statistics_rule_list Array(Int64), +sc_rule_list Array(Int64), +sc_rsp_raw Array(Int64), +sc_rsp_decrypted Array(Int64), +proxy_action String, +proxy_pinning_status Nullable(Int32), +proxy_intercept_status Nullable(Int32), +proxy_passthrough_reason String, +proxy_client_side_latency_ms Nullable(Int32), +proxy_server_side_latency_ms Nullable(Int32), +proxy_client_side_version String, +proxy_server_side_version String, +proxy_cert_verify Nullable(Int32), +proxy_intercept_error String, +monitor_mirrored_pkts Nullable(Int32), +monitor_mirrored_bytes Nullable(Int32), +client_ip String, +client_port Int32, +client_os_desc String, +client_geolocation LowCardinality(String), +client_asn Nullable(Int64), +subscriber_id String, +imei String, +imsi String, +phone_number String, +apn String, +server_ip String, +server_port Int32, +server_os_desc String, +server_geolocation LowCardinality(String), +server_asn Nullable(Int64), +server_fqdn String, +server_domain String, +app_transition String,  +app LowCardinality(String), +app_debug_info String, +app_content String, +fqdn_category_list Array(Int64), +ip_protocol LowCardinality(String), +decoded_path LowCardinality(String), +dns_message_id Nullable(Int32), +dns_qr Nullable(Int32), +dns_opcode Nullable(Int32), +dns_aa Nullable(Int32), +dns_tc Nullable(Int32), +dns_rd Nullable(Int32), +dns_ra Nullable(Int32), +dns_rcode Nullable(Int32), +dns_qdcount Nullable(Int32), +dns_ancount Nullable(Int32), +dns_nscount Nullable(Int32), +dns_arcount Nullable(Int32), +dns_qname String, +dns_qtype Nullable(Int32), +dns_qclass Nullable(Int32), +dns_cname String, +dns_sub Nullable(Int32), +dns_rr String, +dns_response_latency_ms Nullable(Int32), +http_url String, +http_host String, +http_request_line String, +http_response_line String, +http_request_body String, +http_response_body String, +http_proxy_flag Nullable(Int32), +http_sequence Nullable(Int32), +http_cookie String, +http_referer String, +http_user_agent String, +http_request_content_length Nullable(Int64), +http_request_content_type String, +http_response_content_length Nullable(Int64), +http_response_content_type String, +http_set_cookie String, +http_version String, +http_status_code Nullable(Int32), +http_response_latency_ms Nullable(Int32), +http_session_duration_ms Nullable(Int32), +http_action_file_size Nullable(Int64), +ssl_version String, +ssl_sni String, +ssl_san String, +ssl_cn String, +ssl_handshake_latency_ms Nullable(Int32), +ssl_ja3_hash String, +ssl_ja3s_hash String, +ssl_cert_issuer String, +ssl_cert_subject String, +ssl_esni_flag Nullable(Int32), +ssl_ech_flag Nullable(Int32), +dtls_cookie String, +dtls_version  String, +dtls_sni String, +dtls_san String, +dtls_cn String, +dtls_handshake_latency_ms Nullable(Int32), +dtls_ja3_fingerprint String, +dtls_ja3_hash String, +dtls_cert_issuer String, +dtls_cert_subject String, +mail_protocol_type String, +mail_account String, +mail_from_cmd String, +mail_to_cmd String, +mail_from String, +mail_password String, +mail_to String, +mail_cc String, +mail_bcc String, +mail_subject String, +mail_subject_charset String, +mail_attachment_name String, +mail_attachment_name_charset String, +mail_eml_file String, +ftp_account String, +ftp_url String, +ftp_link_type String, +quic_version String, +quic_sni String, +quic_user_agent String, +rdp_cookie String, +rdp_security_protocol String, +rdp_client_channels String, +rdp_keyboard_layout String, +rdp_client_version String, +rdp_client_name String, +rdp_client_product_id String, +rdp_desktop_width String, +rdp_desktop_height String, +rdp_requested_color_depth String, +rdp_certificate_type String, +rdp_certificate_count Nullable(Int32), +rdp_certificate_permanent Nullable(Int32), +rdp_encryption_level String, +rdp_encryption_method String, +ssh_version String, +ssh_auth_success String, +ssh_client_version String, +ssh_server_version String, +ssh_cipher_alg String, +ssh_mac_alg String, +ssh_compression_alg String, +ssh_kex_alg String, +ssh_host_key_alg String, +ssh_host_key String, +ssh_hassh String, +sip_call_id String, +sip_originator_description String, +sip_responder_description String, +sip_user_agent String, +sip_server String, +sip_originator_sdp_connect_ip String, +sip_originator_sdp_media_port Nullable(Int32), +sip_originator_sdp_media_type String, +sip_originator_sdp_content String, +sip_responder_sdp_connect_ip String, +sip_responder_sdp_media_port Nullable(Int32), +sip_responder_sdp_media_type String, +sip_responder_sdp_content String, +sip_duration_s Nullable(Int32), +sip_bye String, +rtp_payload_type_c2s Nullable(Int32), +rtp_payload_type_s2c Nullable(Int32), +rtp_pcap_path String, +rtp_originator_dir Nullable(Int32), +stratum_cryptocurrency String, +stratum_mining_pools String, +stratum_mining_program String, +stratum_mining_subscribe String, +sent_pkts Int64, +received_pkts Int64, +sent_bytes Int64, +received_bytes Int64, +tcp_c2s_ip_fragments Nullable(Int64), +tcp_s2c_ip_fragments Nullable(Int64), +tcp_c2s_lost_bytes Nullable(Int64), +tcp_s2c_lost_bytes Nullable(Int64), +tcp_c2s_o3_pkts Nullable(Int64), +tcp_s2c_o3_pkts Nullable(Int64), +tcp_c2s_rtx_pkts Nullable(Int64), +tcp_s2c_rtx_pkts Nullable(Int64), +tcp_c2s_rtx_bytes Nullable(Int64), +tcp_s2c_rtx_bytes Nullable(Int64), +tcp_rtt_ms Nullable(Int32), +tcp_client_isn Nullable(Int64), +tcp_server_isn Nullable(Int64), +packet_capture_file String, +in_src_mac String, +out_src_mac String, +in_dest_mac String, +out_dest_mac String, +tunnels String, +dup_traffic_flag Nullable(Int32), +tunnel_endpoint_a_desc String, +tunnel_endpoint_b_desc String +) +ENGINE = MergeTree +PARTITION BY toYYYYMMDD(toDate(recv_time)) +ORDER BY (vsys_id, security_action,proxy_action,decoded_as,data_center, device_group,recv_time); + +CREATE TABLE IF NOT EXISTS tsg_galaxy_v3.security_event on cluster ck_cluster ( +recv_time Int64, +log_id UInt64, +decoded_as String, +session_id UInt64, +start_timestamp_ms DateTime64(3), +end_timestamp_ms DateTime64(3), +duration_ms Int32, +tcp_handshake_latency_ms Nullable(Int32), +ingestion_time Int64, +processing_time Int64, +insert_time Int64 , +device_id String, +out_link_id Nullable(Int32), +in_link_id Nullable(Int32), +device_tag String, +data_center String, +device_group String, +sled_ip String, +address_type Int32, +vsys_id Int32, +t_vsys_id Int32, +flags Int64, +flags_identify_info String, +security_rule_list Array(Int64), +security_action String, +monitor_rule_list Array(Int64), +shaping_rule_list Array(Int64), +proxy_rule_list Array(Int64), +statistics_rule_list Array(Int64), +sc_rule_list Array(Int64), +sc_rsp_raw Array(Int64), +sc_rsp_decrypted Array(Int64), +proxy_action String, +proxy_pinning_status Nullable(Int32), +proxy_intercept_status Nullable(Int32), +proxy_passthrough_reason String, +proxy_client_side_latency_ms Nullable(Int32), +proxy_server_side_latency_ms Nullable(Int32), +proxy_client_side_version String, +proxy_server_side_version String, +proxy_cert_verify Nullable(Int32), +proxy_intercept_error String, +monitor_mirrored_pkts Nullable(Int32), +monitor_mirrored_bytes Nullable(Int32), +client_ip String, +client_port Int32, +client_os_desc String, +client_geolocation LowCardinality(String), +client_asn Nullable(Int64), +subscriber_id String, +imei String, +imsi String, +phone_number String, +apn String, +server_ip String, +server_port Int32, +server_os_desc String, +server_geolocation LowCardinality(String), +server_asn Nullable(Int64), +server_fqdn String, +server_domain String, +app_transition String,  +app LowCardinality(String), +app_debug_info String, +app_content String, +fqdn_category_list Array(Int64), +ip_protocol LowCardinality(String), +decoded_path LowCardinality(String), +dns_message_id Nullable(Int32), +dns_qr Nullable(Int32), +dns_opcode Nullable(Int32), +dns_aa Nullable(Int32), +dns_tc Nullable(Int32), +dns_rd Nullable(Int32), +dns_ra Nullable(Int32), +dns_rcode Nullable(Int32), +dns_qdcount Nullable(Int32), +dns_ancount Nullable(Int32), +dns_nscount Nullable(Int32), +dns_arcount Nullable(Int32), +dns_qname String, +dns_qtype Nullable(Int32), +dns_qclass Nullable(Int32), +dns_cname String, +dns_sub Nullable(Int32), +dns_rr String, +dns_response_latency_ms Nullable(Int32), +http_url String, +http_host String, +http_request_line String, +http_response_line String, +http_request_body String, +http_response_body String, +http_proxy_flag Nullable(Int32), +http_sequence Nullable(Int32), +http_cookie String, +http_referer String, +http_user_agent String, +http_request_content_length Nullable(Int64), +http_request_content_type String, +http_response_content_length Nullable(Int64), +http_response_content_type String, +http_set_cookie String, +http_version String, +http_status_code Nullable(Int32), +http_response_latency_ms Nullable(Int32), +http_session_duration_ms Nullable(Int32), +http_action_file_size Nullable(Int64), +ssl_version String, +ssl_sni String, +ssl_san String, +ssl_cn String, +ssl_handshake_latency_ms Nullable(Int32), +ssl_ja3_hash String, +ssl_ja3s_hash String, +ssl_cert_issuer String, +ssl_cert_subject String, +ssl_esni_flag Nullable(Int32), +ssl_ech_flag Nullable(Int32), +dtls_cookie String, +dtls_version  String, +dtls_sni String, +dtls_san String, +dtls_cn String, +dtls_handshake_latency_ms Nullable(Int32), +dtls_ja3_fingerprint String, +dtls_ja3_hash String, +dtls_cert_issuer String, +dtls_cert_subject String, +mail_protocol_type String, +mail_account String, +mail_from_cmd String, +mail_to_cmd String, +mail_from String, +mail_password String, +mail_to String, +mail_cc String, +mail_bcc String, +mail_subject String, +mail_subject_charset String, +mail_attachment_name String, +mail_attachment_name_charset String, +mail_eml_file String, +ftp_account String, +ftp_url String, +ftp_link_type String, +quic_version String, +quic_sni String, +quic_user_agent String, +rdp_cookie String, +rdp_security_protocol String, +rdp_client_channels String, +rdp_keyboard_layout String, +rdp_client_version String, +rdp_client_name String, +rdp_client_product_id String, +rdp_desktop_width String, +rdp_desktop_height String, +rdp_requested_color_depth String, +rdp_certificate_type String, +rdp_certificate_count Nullable(Int32), +rdp_certificate_permanent Nullable(Int32), +rdp_encryption_level String, +rdp_encryption_method String, +ssh_version String, +ssh_auth_success String, +ssh_client_version String, +ssh_server_version String, +ssh_cipher_alg String, +ssh_mac_alg String, +ssh_compression_alg String, +ssh_kex_alg String, +ssh_host_key_alg String, +ssh_host_key String, +ssh_hassh String, +sip_call_id String, +sip_originator_description String, +sip_responder_description String, +sip_user_agent String, +sip_server String, +sip_originator_sdp_connect_ip String, +sip_originator_sdp_media_port Nullable(Int32), +sip_originator_sdp_media_type String, +sip_originator_sdp_content String, +sip_responder_sdp_connect_ip String, +sip_responder_sdp_media_port Nullable(Int32), +sip_responder_sdp_media_type String, +sip_responder_sdp_content String, +sip_duration_s Nullable(Int32), +sip_bye String, +rtp_payload_type_c2s Nullable(Int32), +rtp_payload_type_s2c Nullable(Int32), +rtp_pcap_path String, +rtp_originator_dir Nullable(Int32), +stratum_cryptocurrency String, +stratum_mining_pools String, +stratum_mining_program String, +stratum_mining_subscribe String, +sent_pkts Int64, +received_pkts Int64, +sent_bytes Int64, +received_bytes Int64, +tcp_c2s_ip_fragments Nullable(Int64), +tcp_s2c_ip_fragments Nullable(Int64), +tcp_c2s_lost_bytes Nullable(Int64), +tcp_s2c_lost_bytes Nullable(Int64), +tcp_c2s_o3_pkts Nullable(Int64), +tcp_s2c_o3_pkts Nullable(Int64), +tcp_c2s_rtx_pkts Nullable(Int64), +tcp_s2c_rtx_pkts Nullable(Int64), +tcp_c2s_rtx_bytes Nullable(Int64), +tcp_s2c_rtx_bytes Nullable(Int64), +tcp_rtt_ms Nullable(Int32), +tcp_client_isn Nullable(Int64), +tcp_server_isn Nullable(Int64), +packet_capture_file String, +in_src_mac String, +out_src_mac String, +in_dest_mac String, +out_dest_mac String, +tunnels String, +dup_traffic_flag Nullable(Int32), +tunnel_endpoint_a_desc String, +tunnel_endpoint_b_desc String +) +ENGINE =Distributed(ck_cluster,tsg_galaxy_v3,security_event_local,rand()); + +CREATE TABLE IF NOT EXISTS tsg_galaxy_v3.security_event on cluster ck_query ( +recv_time Int64, +log_id UInt64, +decoded_as String, +session_id UInt64, +start_timestamp_ms DateTime64(3), +end_timestamp_ms DateTime64(3), +duration_ms Int32, +tcp_handshake_latency_ms Nullable(Int32), +ingestion_time Int64, +processing_time Int64, +insert_time Int64 , +device_id String, +out_link_id Nullable(Int32), +in_link_id Nullable(Int32), +device_tag String, +data_center String, +device_group String, +sled_ip String, +address_type Int32, +vsys_id Int32, +t_vsys_id Int32, +flags Int64, +flags_identify_info String, +security_rule_list Array(Int64), +security_action String, +monitor_rule_list Array(Int64), +shaping_rule_list Array(Int64), +proxy_rule_list Array(Int64), +statistics_rule_list Array(Int64), +sc_rule_list Array(Int64), +sc_rsp_raw Array(Int64), +sc_rsp_decrypted Array(Int64), +proxy_action String, +proxy_pinning_status Nullable(Int32), +proxy_intercept_status Nullable(Int32), +proxy_passthrough_reason String, +proxy_client_side_latency_ms Nullable(Int32), +proxy_server_side_latency_ms Nullable(Int32), +proxy_client_side_version String, +proxy_server_side_version String, +proxy_cert_verify Nullable(Int32), +proxy_intercept_error String, +monitor_mirrored_pkts Nullable(Int32), +monitor_mirrored_bytes Nullable(Int32), +client_ip String, +client_port Int32, +client_os_desc String, +client_geolocation LowCardinality(String), +client_asn Nullable(Int64), +subscriber_id String, +imei String, +imsi String, +phone_number String, +apn String, +server_ip String, +server_port Int32, +server_os_desc String, +server_geolocation LowCardinality(String), +server_asn Nullable(Int64), +server_fqdn String, +server_domain String, +app_transition String,  +app LowCardinality(String), +app_debug_info String, +app_content String, +fqdn_category_list Array(Int64), +ip_protocol LowCardinality(String), +decoded_path LowCardinality(String), +dns_message_id Nullable(Int32), +dns_qr Nullable(Int32), +dns_opcode Nullable(Int32), +dns_aa Nullable(Int32), +dns_tc Nullable(Int32), +dns_rd Nullable(Int32), +dns_ra Nullable(Int32), +dns_rcode Nullable(Int32), +dns_qdcount Nullable(Int32), +dns_ancount Nullable(Int32), +dns_nscount Nullable(Int32), +dns_arcount Nullable(Int32), +dns_qname String, +dns_qtype Nullable(Int32), +dns_qclass Nullable(Int32), +dns_cname String, +dns_sub Nullable(Int32), +dns_rr String, +dns_response_latency_ms Nullable(Int32), +http_url String, +http_host String, +http_request_line String, +http_response_line String, +http_request_body String, +http_response_body String, +http_proxy_flag Nullable(Int32), +http_sequence Nullable(Int32), +http_cookie String, +http_referer String, +http_user_agent String, +http_request_content_length Nullable(Int64), +http_request_content_type String, +http_response_content_length Nullable(Int64), +http_response_content_type String, +http_set_cookie String, +http_version String, +http_status_code Nullable(Int32), +http_response_latency_ms Nullable(Int32), +http_session_duration_ms Nullable(Int32), +http_action_file_size Nullable(Int64), +ssl_version String, +ssl_sni String, +ssl_san String, +ssl_cn String, +ssl_handshake_latency_ms Nullable(Int32), +ssl_ja3_hash String, +ssl_ja3s_hash String, +ssl_cert_issuer String, +ssl_cert_subject String, +ssl_esni_flag Nullable(Int32), +ssl_ech_flag Nullable(Int32), +dtls_cookie String, +dtls_version  String, +dtls_sni String, +dtls_san String, +dtls_cn String, +dtls_handshake_latency_ms Nullable(Int32), +dtls_ja3_fingerprint String, +dtls_ja3_hash String, +dtls_cert_issuer String, +dtls_cert_subject String, +mail_protocol_type String, +mail_account String, +mail_from_cmd String, +mail_to_cmd String, +mail_from String, +mail_password String, +mail_to String, +mail_cc String, +mail_bcc String, +mail_subject String, +mail_subject_charset String, +mail_attachment_name String, +mail_attachment_name_charset String, +mail_eml_file String, +ftp_account String, +ftp_url String, +ftp_link_type String, +quic_version String, +quic_sni String, +quic_user_agent String, +rdp_cookie String, +rdp_security_protocol String, +rdp_client_channels String, +rdp_keyboard_layout String, +rdp_client_version String, +rdp_client_name String, +rdp_client_product_id String, +rdp_desktop_width String, +rdp_desktop_height String, +rdp_requested_color_depth String, +rdp_certificate_type String, +rdp_certificate_count Nullable(Int32), +rdp_certificate_permanent Nullable(Int32), +rdp_encryption_level String, +rdp_encryption_method String, +ssh_version String, +ssh_auth_success String, +ssh_client_version String, +ssh_server_version String, +ssh_cipher_alg String, +ssh_mac_alg String, +ssh_compression_alg String, +ssh_kex_alg String, +ssh_host_key_alg String, +ssh_host_key String, +ssh_hassh String, +sip_call_id String, +sip_originator_description String, +sip_responder_description String, +sip_user_agent String, +sip_server String, +sip_originator_sdp_connect_ip String, +sip_originator_sdp_media_port Nullable(Int32), +sip_originator_sdp_media_type String, +sip_originator_sdp_content String, +sip_responder_sdp_connect_ip String, +sip_responder_sdp_media_port Nullable(Int32), +sip_responder_sdp_media_type String, +sip_responder_sdp_content String, +sip_duration_s Nullable(Int32), +sip_bye String, +rtp_payload_type_c2s Nullable(Int32), +rtp_payload_type_s2c Nullable(Int32), +rtp_pcap_path String, +rtp_originator_dir Nullable(Int32), +stratum_cryptocurrency String, +stratum_mining_pools String, +stratum_mining_program String, +stratum_mining_subscribe String, +sent_pkts Int64, +received_pkts Int64, +sent_bytes Int64, +received_bytes Int64, +tcp_c2s_ip_fragments Nullable(Int64), +tcp_s2c_ip_fragments Nullable(Int64), +tcp_c2s_lost_bytes Nullable(Int64), +tcp_s2c_lost_bytes Nullable(Int64), +tcp_c2s_o3_pkts Nullable(Int64), +tcp_s2c_o3_pkts Nullable(Int64), +tcp_c2s_rtx_pkts Nullable(Int64), +tcp_s2c_rtx_pkts Nullable(Int64), +tcp_c2s_rtx_bytes Nullable(Int64), +tcp_s2c_rtx_bytes Nullable(Int64), +tcp_rtt_ms Nullable(Int32), +tcp_client_isn Nullable(Int64), +tcp_server_isn Nullable(Int64), +packet_capture_file String, +in_src_mac String, +out_src_mac String, +in_dest_mac String, +out_dest_mac String, +tunnels String, +dup_traffic_flag Nullable(Int32), +tunnel_endpoint_a_desc String, +tunnel_endpoint_b_desc String +) +ENGINE =Distributed(ck_cluster,tsg_galaxy_v3,security_event_local,rand()); + + +CREATE TABLE IF NOT EXISTS tsg_galaxy_v3.monitor_event_local on cluster ck_cluster ( +recv_time Int64, +log_id UInt64, +decoded_as String, +session_id UInt64, +start_timestamp_ms DateTime64(3), +end_timestamp_ms DateTime64(3), +duration_ms Int32, +tcp_handshake_latency_ms Nullable(Int32), +ingestion_time Int64, +processing_time Int64, +insert_time Int64 MATERIALIZED toUnixTimestamp(now()), +device_id String, +out_link_id Nullable(Int32), +in_link_id Nullable(Int32), +device_tag String, +data_center String, +device_group String, +sled_ip String, +address_type Int32, +vsys_id Int32, +t_vsys_id Int32, +flags Int64, +flags_identify_info String, +security_rule_list Array(Int64), +security_action String, +monitor_rule_list Array(Int64), +shaping_rule_list Array(Int64), +proxy_rule_list Array(Int64), +statistics_rule_list Array(Int64), +sc_rule_list Array(Int64), +sc_rsp_raw Array(Int64), +sc_rsp_decrypted Array(Int64), +proxy_action String, +proxy_pinning_status Nullable(Int32), +proxy_intercept_status Nullable(Int32), +proxy_passthrough_reason String, +proxy_client_side_latency_ms Nullable(Int32), +proxy_server_side_latency_ms Nullable(Int32), +proxy_client_side_version String, +proxy_server_side_version String, +proxy_cert_verify Nullable(Int32), +proxy_intercept_error String, +monitor_mirrored_pkts Nullable(Int32), +monitor_mirrored_bytes Nullable(Int32), +client_ip String, +client_port Int32, +client_os_desc String, +client_geolocation LowCardinality(String), +client_asn Nullable(Int64), +subscriber_id String, +imei String, +imsi String, +phone_number String, +apn String, +server_ip String, +server_port Int32, +server_os_desc String, +server_geolocation LowCardinality(String), +server_asn Nullable(Int64), +server_fqdn String, +server_domain String, +app_transition String,  +app LowCardinality(String), +app_debug_info String, +app_content String, +fqdn_category_list Array(Int64), +ip_protocol LowCardinality(String), +decoded_path LowCardinality(String), +dns_message_id Nullable(Int32), +dns_qr Nullable(Int32), +dns_opcode Nullable(Int32), +dns_aa Nullable(Int32), +dns_tc Nullable(Int32), +dns_rd Nullable(Int32), +dns_ra Nullable(Int32), +dns_rcode Nullable(Int32), +dns_qdcount Nullable(Int32), +dns_ancount Nullable(Int32), +dns_nscount Nullable(Int32), +dns_arcount Nullable(Int32), +dns_qname String, +dns_qtype Nullable(Int32), +dns_qclass Nullable(Int32), +dns_cname String, +dns_sub Nullable(Int32), +dns_rr String, +dns_response_latency_ms Nullable(Int32), +http_url String, +http_host String, +http_request_line String, +http_response_line String, +http_request_body String, +http_response_body String, +http_proxy_flag Nullable(Int32), +http_sequence Nullable(Int32), +http_cookie String, +http_referer String, +http_user_agent String, +http_request_content_length Nullable(Int64), +http_request_content_type String, +http_response_content_length Nullable(Int64), +http_response_content_type String, +http_set_cookie String, +http_version String, +http_status_code Nullable(Int32), +http_response_latency_ms Nullable(Int32), +http_session_duration_ms Nullable(Int32), +http_action_file_size Nullable(Int64), +ssl_version String, +ssl_sni String, +ssl_san String, +ssl_cn String, +ssl_handshake_latency_ms Nullable(Int32), +ssl_ja3_hash String, +ssl_ja3s_hash String, +ssl_cert_issuer String, +ssl_cert_subject String, +ssl_esni_flag Nullable(Int32), +ssl_ech_flag Nullable(Int32), +dtls_cookie String, +dtls_version  String, +dtls_sni String, +dtls_san String, +dtls_cn String, +dtls_handshake_latency_ms Nullable(Int32), +dtls_ja3_fingerprint String, +dtls_ja3_hash String, +dtls_cert_issuer String, +dtls_cert_subject String, +mail_protocol_type String, +mail_account String, +mail_from_cmd String, +mail_to_cmd String, +mail_from String, +mail_password String, +mail_to String, +mail_cc String, +mail_bcc String, +mail_subject String, +mail_subject_charset String, +mail_attachment_name String, +mail_attachment_name_charset String, +mail_eml_file String, +ftp_account String, +ftp_url String, +ftp_link_type String, +quic_version String, +quic_sni String, +quic_user_agent String, +rdp_cookie String, +rdp_security_protocol String, +rdp_client_channels String, +rdp_keyboard_layout String, +rdp_client_version String, +rdp_client_name String, +rdp_client_product_id String, +rdp_desktop_width String, +rdp_desktop_height String, +rdp_requested_color_depth String, +rdp_certificate_type String, +rdp_certificate_count Nullable(Int32), +rdp_certificate_permanent Nullable(Int32), +rdp_encryption_level String, +rdp_encryption_method String, +ssh_version String, +ssh_auth_success String, +ssh_client_version String, +ssh_server_version String, +ssh_cipher_alg String, +ssh_mac_alg String, +ssh_compression_alg String, +ssh_kex_alg String, +ssh_host_key_alg String, +ssh_host_key String, +ssh_hassh String, +sip_call_id String, +sip_originator_description String, +sip_responder_description String, +sip_user_agent String, +sip_server String, +sip_originator_sdp_connect_ip String, +sip_originator_sdp_media_port Nullable(Int32), +sip_originator_sdp_media_type String, +sip_originator_sdp_content String, +sip_responder_sdp_connect_ip String, +sip_responder_sdp_media_port Nullable(Int32), +sip_responder_sdp_media_type String, +sip_responder_sdp_content String, +sip_duration_s Nullable(Int32), +sip_bye String, +rtp_payload_type_c2s Nullable(Int32), +rtp_payload_type_s2c Nullable(Int32), +rtp_pcap_path String, +rtp_originator_dir Nullable(Int32), +stratum_cryptocurrency String, +stratum_mining_pools String, +stratum_mining_program String, +stratum_mining_subscribe String, +sent_pkts Int64, +received_pkts Int64, +sent_bytes Int64, +received_bytes Int64, +tcp_c2s_ip_fragments Nullable(Int64), +tcp_s2c_ip_fragments Nullable(Int64), +tcp_c2s_lost_bytes Nullable(Int64), +tcp_s2c_lost_bytes Nullable(Int64), +tcp_c2s_o3_pkts Nullable(Int64), +tcp_s2c_o3_pkts Nullable(Int64), +tcp_c2s_rtx_pkts Nullable(Int64), +tcp_s2c_rtx_pkts Nullable(Int64), +tcp_c2s_rtx_bytes Nullable(Int64), +tcp_s2c_rtx_bytes Nullable(Int64), +tcp_rtt_ms Nullable(Int32), +tcp_client_isn Nullable(Int64), +tcp_server_isn Nullable(Int64), +packet_capture_file String, +in_src_mac String, +out_src_mac String, +in_dest_mac String, +out_dest_mac String, +tunnels String, +dup_traffic_flag Nullable(Int32), +tunnel_endpoint_a_desc String, +tunnel_endpoint_b_desc String +) +ENGINE = MergeTree +PARTITION BY toYYYYMMDD(toDate(recv_time)) +ORDER BY (vsys_id, security_action,proxy_action,decoded_as,data_center, device_group,recv_time); + +CREATE TABLE IF NOT EXISTS tsg_galaxy_v3.monitor_event on cluster ck_cluster ( +recv_time Int64, +log_id UInt64, +decoded_as String, +session_id UInt64, +start_timestamp_ms DateTime64(3), +end_timestamp_ms DateTime64(3), +duration_ms Int32, +tcp_handshake_latency_ms Nullable(Int32), +ingestion_time Int64, +processing_time Int64, +insert_time Int64, +device_id String, +out_link_id Nullable(Int32), +in_link_id Nullable(Int32), +device_tag String, +data_center String, +device_group String, +sled_ip String, +address_type Int32, +vsys_id Int32, +t_vsys_id Int32, +flags Int64, +flags_identify_info String, +security_rule_list Array(Int64), +security_action String, +monitor_rule_list Array(Int64), +shaping_rule_list Array(Int64), +proxy_rule_list Array(Int64), +statistics_rule_list Array(Int64), +sc_rule_list Array(Int64), +sc_rsp_raw Array(Int64), +sc_rsp_decrypted Array(Int64), +proxy_action String, +proxy_pinning_status Nullable(Int32), +proxy_intercept_status Nullable(Int32), +proxy_passthrough_reason String, +proxy_client_side_latency_ms Nullable(Int32), +proxy_server_side_latency_ms Nullable(Int32), +proxy_client_side_version String, +proxy_server_side_version String, +proxy_cert_verify Nullable(Int32), +proxy_intercept_error String, +monitor_mirrored_pkts Nullable(Int32), +monitor_mirrored_bytes Nullable(Int32), +client_ip String, +client_port Int32, +client_os_desc String, +client_geolocation LowCardinality(String), +client_asn Nullable(Int64), +subscriber_id String, +imei String, +imsi String, +phone_number String, +apn String, +server_ip String, +server_port Int32, +server_os_desc String, +server_geolocation LowCardinality(String), +server_asn Nullable(Int64), +server_fqdn String, +server_domain String, +app_transition String,  +app LowCardinality(String), +app_debug_info String, +app_content String, +fqdn_category_list Array(Int64), +ip_protocol LowCardinality(String), +decoded_path LowCardinality(String), +dns_message_id Nullable(Int32), +dns_qr Nullable(Int32), +dns_opcode Nullable(Int32), +dns_aa Nullable(Int32), +dns_tc Nullable(Int32), +dns_rd Nullable(Int32), +dns_ra Nullable(Int32), +dns_rcode Nullable(Int32), +dns_qdcount Nullable(Int32), +dns_ancount Nullable(Int32), +dns_nscount Nullable(Int32), +dns_arcount Nullable(Int32), +dns_qname String, +dns_qtype Nullable(Int32), +dns_qclass Nullable(Int32), +dns_cname String, +dns_sub Nullable(Int32), +dns_rr String, +dns_response_latency_ms Nullable(Int32), +http_url String, +http_host String, +http_request_line String, +http_response_line String, +http_request_body String, +http_response_body String, +http_proxy_flag Nullable(Int32), +http_sequence Nullable(Int32), +http_cookie String, +http_referer String, +http_user_agent String, +http_request_content_length Nullable(Int64), +http_request_content_type String, +http_response_content_length Nullable(Int64), +http_response_content_type String, +http_set_cookie String, +http_version String, +http_status_code Nullable(Int32), +http_response_latency_ms Nullable(Int32), +http_session_duration_ms Nullable(Int32), +http_action_file_size Nullable(Int64), +ssl_version String, +ssl_sni String, +ssl_san String, +ssl_cn String, +ssl_handshake_latency_ms Nullable(Int32), +ssl_ja3_hash String, +ssl_ja3s_hash String, +ssl_cert_issuer String, +ssl_cert_subject String, +ssl_esni_flag Nullable(Int32), +ssl_ech_flag Nullable(Int32), +dtls_cookie String, +dtls_version  String, +dtls_sni String, +dtls_san String, +dtls_cn String, +dtls_handshake_latency_ms Nullable(Int32), +dtls_ja3_fingerprint String, +dtls_ja3_hash String, +dtls_cert_issuer String, +dtls_cert_subject String, +mail_protocol_type String, +mail_account String, +mail_from_cmd String, +mail_to_cmd String, +mail_from String, +mail_password String, +mail_to String, +mail_cc String, +mail_bcc String, +mail_subject String, +mail_subject_charset String, +mail_attachment_name String, +mail_attachment_name_charset String, +mail_eml_file String, +ftp_account String, +ftp_url String, +ftp_link_type String, +quic_version String, +quic_sni String, +quic_user_agent String, +rdp_cookie String, +rdp_security_protocol String, +rdp_client_channels String, +rdp_keyboard_layout String, +rdp_client_version String, +rdp_client_name String, +rdp_client_product_id String, +rdp_desktop_width String, +rdp_desktop_height String, +rdp_requested_color_depth String, +rdp_certificate_type String, +rdp_certificate_count Nullable(Int32), +rdp_certificate_permanent Nullable(Int32), +rdp_encryption_level String, +rdp_encryption_method String, +ssh_version String, +ssh_auth_success String, +ssh_client_version String, +ssh_server_version String, +ssh_cipher_alg String, +ssh_mac_alg String, +ssh_compression_alg String, +ssh_kex_alg String, +ssh_host_key_alg String, +ssh_host_key String, +ssh_hassh String, +sip_call_id String, +sip_originator_description String, +sip_responder_description String, +sip_user_agent String, +sip_server String, +sip_originator_sdp_connect_ip String, +sip_originator_sdp_media_port Nullable(Int32), +sip_originator_sdp_media_type String, +sip_originator_sdp_content String, +sip_responder_sdp_connect_ip String, +sip_responder_sdp_media_port Nullable(Int32), +sip_responder_sdp_media_type String, +sip_responder_sdp_content String, +sip_duration_s Nullable(Int32), +sip_bye String, +rtp_payload_type_c2s Nullable(Int32), +rtp_payload_type_s2c Nullable(Int32), +rtp_pcap_path String, +rtp_originator_dir Nullable(Int32), +stratum_cryptocurrency String, +stratum_mining_pools String, +stratum_mining_program String, +stratum_mining_subscribe String, +sent_pkts Int64, +received_pkts Int64, +sent_bytes Int64, +received_bytes Int64, +tcp_c2s_ip_fragments Nullable(Int64), +tcp_s2c_ip_fragments Nullable(Int64), +tcp_c2s_lost_bytes Nullable(Int64), +tcp_s2c_lost_bytes Nullable(Int64), +tcp_c2s_o3_pkts Nullable(Int64), +tcp_s2c_o3_pkts Nullable(Int64), +tcp_c2s_rtx_pkts Nullable(Int64), +tcp_s2c_rtx_pkts Nullable(Int64), +tcp_c2s_rtx_bytes Nullable(Int64), +tcp_s2c_rtx_bytes Nullable(Int64), +tcp_rtt_ms Nullable(Int32), +tcp_client_isn Nullable(Int64), +tcp_server_isn Nullable(Int64), +packet_capture_file String, +in_src_mac String, +out_src_mac String, +in_dest_mac String, +out_dest_mac String, +tunnels String, +dup_traffic_flag Nullable(Int32), +tunnel_endpoint_a_desc String, +tunnel_endpoint_b_desc String +) +ENGINE =Distributed(ck_cluster,tsg_galaxy_v3,monitor_event_local,rand()); + +CREATE TABLE IF NOT EXISTS tsg_galaxy_v3.monitor_event on cluster ck_query ( +recv_time Int64, +log_id UInt64, +decoded_as String, +session_id UInt64, +start_timestamp_ms DateTime64(3), +end_timestamp_ms DateTime64(3), +duration_ms Int32, +tcp_handshake_latency_ms Nullable(Int32), +ingestion_time Int64, +processing_time Int64, +insert_time Int64 , +device_id String, +out_link_id Nullable(Int32), +in_link_id Nullable(Int32), +device_tag String, +data_center String, +device_group String, +sled_ip String, +address_type Int32, +vsys_id Int32, +t_vsys_id Int32, +flags Int64, +flags_identify_info String, +security_rule_list Array(Int64), +security_action String, +monitor_rule_list Array(Int64), +shaping_rule_list Array(Int64), +proxy_rule_list Array(Int64), +statistics_rule_list Array(Int64), +sc_rule_list Array(Int64), +sc_rsp_raw Array(Int64), +sc_rsp_decrypted Array(Int64), +proxy_action String, +proxy_pinning_status Nullable(Int32), +proxy_intercept_status Nullable(Int32), +proxy_passthrough_reason String, +proxy_client_side_latency_ms Nullable(Int32), +proxy_server_side_latency_ms Nullable(Int32), +proxy_client_side_version String, +proxy_server_side_version String, +proxy_cert_verify Nullable(Int32), +proxy_intercept_error String, +monitor_mirrored_pkts Nullable(Int32), +monitor_mirrored_bytes Nullable(Int32), +client_ip String, +client_port Int32, +client_os_desc String, +client_geolocation LowCardinality(String), +client_asn Nullable(Int64), +subscriber_id String, +imei String, +imsi String, +phone_number String, +apn String, +server_ip String, +server_port Int32, +server_os_desc String, +server_geolocation LowCardinality(String), +server_asn Nullable(Int64), +server_fqdn String, +server_domain String, +app_transition String,  +app LowCardinality(String), +app_debug_info String, +app_content String, +fqdn_category_list Array(Int64), +ip_protocol LowCardinality(String), +decoded_path LowCardinality(String), +dns_message_id Nullable(Int32), +dns_qr Nullable(Int32), +dns_opcode Nullable(Int32), +dns_aa Nullable(Int32), +dns_tc Nullable(Int32), +dns_rd Nullable(Int32), +dns_ra Nullable(Int32), +dns_rcode Nullable(Int32), +dns_qdcount Nullable(Int32), +dns_ancount Nullable(Int32), +dns_nscount Nullable(Int32), +dns_arcount Nullable(Int32), +dns_qname String, +dns_qtype Nullable(Int32), +dns_qclass Nullable(Int32), +dns_cname String, +dns_sub Nullable(Int32), +dns_rr String, +dns_response_latency_ms Nullable(Int32), +http_url String, +http_host String, +http_request_line String, +http_response_line String, +http_request_body String, +http_response_body String, +http_proxy_flag Nullable(Int32), +http_sequence Nullable(Int32), +http_cookie String, +http_referer String, +http_user_agent String, +http_request_content_length Nullable(Int64), +http_request_content_type String, +http_response_content_length Nullable(Int64), +http_response_content_type String, +http_set_cookie String, +http_version String, +http_status_code Nullable(Int32), +http_response_latency_ms Nullable(Int32), +http_session_duration_ms Nullable(Int32), +http_action_file_size Nullable(Int64), +ssl_version String, +ssl_sni String, +ssl_san String, +ssl_cn String, +ssl_handshake_latency_ms Nullable(Int32), +ssl_ja3_hash String, +ssl_ja3s_hash String, +ssl_cert_issuer String, +ssl_cert_subject String, +ssl_esni_flag Nullable(Int32), +ssl_ech_flag Nullable(Int32), +dtls_cookie String, +dtls_version  String, +dtls_sni String, +dtls_san String, +dtls_cn String, +dtls_handshake_latency_ms Nullable(Int32), +dtls_ja3_fingerprint String, +dtls_ja3_hash String, +dtls_cert_issuer String, +dtls_cert_subject String, +mail_protocol_type String, +mail_account String, +mail_from_cmd String, +mail_to_cmd String, +mail_from String, +mail_password String, +mail_to String, +mail_cc String, +mail_bcc String, +mail_subject String, +mail_subject_charset String, +mail_attachment_name String, +mail_attachment_name_charset String, +mail_eml_file String, +ftp_account String, +ftp_url String, +ftp_link_type String, +quic_version String, +quic_sni String, +quic_user_agent String, +rdp_cookie String, +rdp_security_protocol String, +rdp_client_channels String, +rdp_keyboard_layout String, +rdp_client_version String, +rdp_client_name String, +rdp_client_product_id String, +rdp_desktop_width String, +rdp_desktop_height String, +rdp_requested_color_depth String, +rdp_certificate_type String, +rdp_certificate_count Nullable(Int32), +rdp_certificate_permanent Nullable(Int32), +rdp_encryption_level String, +rdp_encryption_method String, +ssh_version String, +ssh_auth_success String, +ssh_client_version String, +ssh_server_version String, +ssh_cipher_alg String, +ssh_mac_alg String, +ssh_compression_alg String, +ssh_kex_alg String, +ssh_host_key_alg String, +ssh_host_key String, +ssh_hassh String, +sip_call_id String, +sip_originator_description String, +sip_responder_description String, +sip_user_agent String, +sip_server String, +sip_originator_sdp_connect_ip String, +sip_originator_sdp_media_port Nullable(Int32), +sip_originator_sdp_media_type String, +sip_originator_sdp_content String, +sip_responder_sdp_connect_ip String, +sip_responder_sdp_media_port Nullable(Int32), +sip_responder_sdp_media_type String, +sip_responder_sdp_content String, +sip_duration_s Nullable(Int32), +sip_bye String, +rtp_payload_type_c2s Nullable(Int32), +rtp_payload_type_s2c Nullable(Int32), +rtp_pcap_path String, +rtp_originator_dir Nullable(Int32), +stratum_cryptocurrency String, +stratum_mining_pools String, +stratum_mining_program String, +stratum_mining_subscribe String, +sent_pkts Int64, +received_pkts Int64, +sent_bytes Int64, +received_bytes Int64, +tcp_c2s_ip_fragments Nullable(Int64), +tcp_s2c_ip_fragments Nullable(Int64), +tcp_c2s_lost_bytes Nullable(Int64), +tcp_s2c_lost_bytes Nullable(Int64), +tcp_c2s_o3_pkts Nullable(Int64), +tcp_s2c_o3_pkts Nullable(Int64), +tcp_c2s_rtx_pkts Nullable(Int64), +tcp_s2c_rtx_pkts Nullable(Int64), +tcp_c2s_rtx_bytes Nullable(Int64), +tcp_s2c_rtx_bytes Nullable(Int64), +tcp_rtt_ms Nullable(Int32), +tcp_client_isn Nullable(Int64), +tcp_server_isn Nullable(Int64), +packet_capture_file String, +in_src_mac String, +out_src_mac String, +in_dest_mac String, +out_dest_mac String, +tunnels String, +dup_traffic_flag Nullable(Int32), +tunnel_endpoint_a_desc String, +tunnel_endpoint_b_desc String +) +ENGINE =Distributed(ck_cluster,tsg_galaxy_v3,monitor_event_local,rand()); + + +CREATE TABLE IF NOT EXISTS tsg_galaxy_v3.transaction_record_local on cluster ck_cluster ( +recv_time Int64, +log_id UInt64, +decoded_as String, +session_id UInt64, +ingestion_time Int64, +processing_time Int64, +insert_time Int64 MATERIALIZED toUnixTimestamp(now()), +address_type Int32, +vsys_id Int32, +client_ip String, +client_port Int32, +server_ip String, +server_port Int32, +sent_pkts Int64, +received_pkts Int64, +sent_bytes Int64, +received_bytes Int64, +dns_message_id Nullable(Int32), +dns_qr Nullable(Int32), +dns_opcode Nullable(Int32), +dns_aa Nullable(Int32), +dns_tc Nullable(Int32), +dns_rd Nullable(Int32), +dns_ra Nullable(Int32), +dns_rcode Nullable(Int32), +dns_qdcount Nullable(Int32), +dns_ancount Nullable(Int32), +dns_nscount Nullable(Int32), +dns_arcount Nullable(Int32), +dns_qname String, +dns_qtype Nullable(Int32), +dns_qclass Nullable(Int32), +dns_cname String, +dns_sub Nullable(Int32), +dns_rr String, +dns_response_latency_ms Nullable(Int32), +http_url String, +http_host String, +http_request_line String, +http_response_line String, +http_request_body String, +http_response_body String, +http_proxy_flag Nullable(Int32), +http_sequence Nullable(Int32), +http_cookie String, +http_referer String, +http_user_agent String, +http_request_content_length Nullable(Int64), +http_request_content_type String, +http_response_content_length Nullable(Int64), +http_response_content_type String, +http_set_cookie String, +http_version String, +http_status_code Nullable(Int32), +http_response_latency_ms Nullable(Int32), +http_session_duration_ms Nullable(Int32), +http_action_file_size Nullable(Int64), +mail_protocol_type String, +mail_account String, +mail_from_cmd String, +mail_to_cmd String, +mail_from String, +mail_password String, +mail_to String, +mail_cc String, +mail_bcc String, +mail_subject String, +mail_subject_charset String, +mail_attachment_name String, +mail_attachment_name_charset String, +mail_eml_file String, +sip_call_id String, +sip_originator_description String, +sip_responder_description String, +sip_user_agent String, +sip_server String, +sip_originator_sdp_connect_ip String, +sip_originator_sdp_media_port Nullable(Int32), +sip_originator_sdp_media_type String, +sip_originator_sdp_content String, +sip_responder_sdp_connect_ip String, +sip_responder_sdp_media_port Nullable(Int32), +sip_responder_sdp_media_type String, +sip_responder_sdp_content String, +sip_duration_s Nullable(Int32), +sip_bye String +) +ENGINE = MergeTree +PARTITION BY toYYYYMMDD(toDate(recv_time)) +ORDER BY (vsys_id,session_id,recv_time); + + +CREATE TABLE IF NOT EXISTS tsg_galaxy_v3.transaction_record on cluster ck_cluster ( +recv_time Int64, +log_id UInt64, +decoded_as String, +session_id UInt64, +ingestion_time Int64, +processing_time Int64, +insert_time Int64 , +address_type Int32, +vsys_id Int32, +client_ip String, +client_port Int32, +server_ip String, +server_port Int32, +sent_pkts Int64, +received_pkts Int64, +sent_bytes Int64, +received_bytes Int64, +dns_message_id Nullable(Int32), +dns_qr Nullable(Int32), +dns_opcode Nullable(Int32), +dns_aa Nullable(Int32), +dns_tc Nullable(Int32), +dns_rd Nullable(Int32), +dns_ra Nullable(Int32), +dns_rcode Nullable(Int32), +dns_qdcount Nullable(Int32), +dns_ancount Nullable(Int32), +dns_nscount Nullable(Int32), +dns_arcount Nullable(Int32), +dns_qname String, +dns_qtype Nullable(Int32), +dns_qclass Nullable(Int32), +dns_cname String, +dns_sub Nullable(Int32), +dns_rr String, +dns_response_latency_ms Nullable(Int32), +http_url String, +http_host String, +http_request_line String, +http_response_line String, +http_request_body String, +http_response_body String, +http_proxy_flag Nullable(Int32), +http_sequence Nullable(Int32), +http_cookie String, +http_referer String, +http_user_agent String, +http_request_content_length Nullable(Int64), +http_request_content_type String, +http_response_content_length Nullable(Int64), +http_response_content_type String, +http_set_cookie String, +http_version String, +http_status_code Nullable(Int32), +http_response_latency_ms Nullable(Int32), +http_session_duration_ms Nullable(Int32), +http_action_file_size Nullable(Int64), +mail_protocol_type String, +mail_account String, +mail_from_cmd String, +mail_to_cmd String, +mail_from String, +mail_password String, +mail_to String, +mail_cc String, +mail_bcc String, +mail_subject String, +mail_subject_charset String, +mail_attachment_name String, +mail_attachment_name_charset String, +mail_eml_file String, +sip_call_id String, +sip_originator_description String, +sip_responder_description String, +sip_user_agent String, +sip_server String, +sip_originator_sdp_connect_ip String, +sip_originator_sdp_media_port Nullable(Int32), +sip_originator_sdp_media_type String, +sip_originator_sdp_content String, +sip_responder_sdp_connect_ip String, +sip_responder_sdp_media_port Nullable(Int32), +sip_responder_sdp_media_type String, +sip_responder_sdp_content String, +sip_duration_s Nullable(Int32), +sip_bye String +) +ENGINE =Distributed(ck_cluster,tsg_galaxy_v3,transaction_record_local,rand()); + + +CREATE TABLE IF NOT EXISTS tsg_galaxy_v3.transaction_record on cluster ck_query ( +recv_time Int64, +log_id UInt64, +decoded_as String, +session_id UInt64, +ingestion_time Int64, +processing_time Int64, +insert_time Int64 , +address_type Int32, +vsys_id Int32, +client_ip String, +client_port Int32, +server_ip String, +server_port Int32, +sent_pkts Int64, +received_pkts Int64, +sent_bytes Int64, +received_bytes Int64, +dns_message_id Nullable(Int32), +dns_qr Nullable(Int32), +dns_opcode Nullable(Int32), +dns_aa Nullable(Int32), +dns_tc Nullable(Int32), +dns_rd Nullable(Int32), +dns_ra Nullable(Int32), +dns_rcode Nullable(Int32), +dns_qdcount Nullable(Int32), +dns_ancount Nullable(Int32), +dns_nscount Nullable(Int32), +dns_arcount Nullable(Int32), +dns_qname String, +dns_qtype Nullable(Int32), +dns_qclass Nullable(Int32), +dns_cname String, +dns_sub Nullable(Int32), +dns_rr String, +dns_response_latency_ms Nullable(Int32), +http_url String, +http_host String, +http_request_line String, +http_response_line String, +http_request_body String, +http_response_body String, +http_proxy_flag Nullable(Int32), +http_sequence Nullable(Int32), +http_cookie String, +http_referer String, +http_user_agent String, +http_request_content_length Nullable(Int64), +http_request_content_type String, +http_response_content_length Nullable(Int64), +http_response_content_type String, +http_set_cookie String, +http_version String, +http_status_code Nullable(Int32), +http_response_latency_ms Nullable(Int32), +http_session_duration_ms Nullable(Int32), +http_action_file_size Nullable(Int64), +mail_protocol_type String, +mail_account String, +mail_from_cmd String, +mail_to_cmd String, +mail_from String, +mail_password String, +mail_to String, +mail_cc String, +mail_bcc String, +mail_subject String, +mail_subject_charset String, +mail_attachment_name String, +mail_attachment_name_charset String, +mail_eml_file String, +sip_call_id String, +sip_originator_description String, +sip_responder_description String, +sip_user_agent String, +sip_server String, +sip_originator_sdp_connect_ip String, +sip_originator_sdp_media_port Nullable(Int32), +sip_originator_sdp_media_type String, +sip_originator_sdp_content String, +sip_responder_sdp_connect_ip String, +sip_responder_sdp_media_port Nullable(Int32), +sip_responder_sdp_media_type String, +sip_responder_sdp_content String, +sip_duration_s Nullable(Int32), +sip_bye String +) +ENGINE =Distributed(ck_cluster,tsg_galaxy_v3,transaction_record_local,rand()); + + +alter table tsg_galaxy_v3.session_record_local on cluster ck_cluster add INDEX IF NOT EXISTS client_index client_ip type bloom_filter(0.05) GRANULARITY 1; +alter table tsg_galaxy_v3.transaction_record_local on cluster ck_cluster add INDEX IF NOT EXISTS client_index client_ip type bloom_filter(0.05) GRANULARITY 1; + + +CREATE TABLE IF NOT EXISTS tsg_galaxy_v3.voip_record_local on cluster ck_cluster ( +recv_time Int64, +log_id UInt64, +decoded_as String, +session_id UInt64, +start_timestamp_ms DateTime64(3), +end_timestamp_ms DateTime64(3), +duration_ms Int32, +tcp_handshake_latency_ms Nullable(Int32), +ingestion_time Int64, +processing_time Int64, +insert_time Int64 MATERIALIZED toUnixTimestamp(now()), +device_id String, +out_link_id Nullable(Int32), +in_link_id Nullable(Int32), +device_tag String, +data_center String, +device_group String, +sled_ip String, +address_type Int32, +vsys_id Int32, +t_vsys_id Int32, +flags Int64, +flags_identify_info String, +security_rule_list Array(Int64), +security_action String, +monitor_rule_list Array(Int64), +shaping_rule_list Array(Int64), +proxy_rule_list Array(Int64), +statistics_rule_list Array(Int64), +sc_rule_list Array(Int64), +sc_rsp_raw Array(Int64), +sc_rsp_decrypted Array(Int64), +proxy_action String, +proxy_pinning_status Nullable(Int32), +proxy_intercept_status Nullable(Int32), +proxy_passthrough_reason String, +proxy_client_side_latency_ms Nullable(Int32), +proxy_server_side_latency_ms Nullable(Int32), +proxy_client_side_version String, +proxy_server_side_version String, +proxy_cert_verify Nullable(Int32), +proxy_intercept_error String, +monitor_mirrored_pkts Nullable(Int32), +monitor_mirrored_bytes Nullable(Int32), +client_ip String, +client_port Int32, +client_os_desc String, +client_geolocation LowCardinality(String), +client_asn Nullable(Int64), +subscriber_id String, +imei String, +imsi String, +phone_number String, +apn String, +server_ip String, +server_port Int32, +server_os_desc String, +server_geolocation LowCardinality(String), +server_asn Nullable(Int64), +server_fqdn String, +server_domain String, +app_transition String,  +app LowCardinality(String), +app_debug_info String, +app_content String, +fqdn_category_list Array(Int64), +ip_protocol LowCardinality(String), +decoded_path LowCardinality(String), +sip_call_id String, +sip_originator_description String, +sip_responder_description String, +sip_user_agent String, +sip_server String, +sip_originator_sdp_connect_ip String, +sip_originator_sdp_media_port Nullable(Int32), +sip_originator_sdp_media_type String, +sip_originator_sdp_content String, +sip_responder_sdp_connect_ip String, +sip_responder_sdp_media_port Nullable(Int32), +sip_responder_sdp_media_type String, +sip_responder_sdp_content String, +sip_duration_s Nullable(Int32), +sip_bye String, +rtp_payload_type_c2s Nullable(Int32), +rtp_payload_type_s2c Nullable(Int32), +rtp_pcap_path String, +rtp_originator_dir Nullable(Int32), +sent_pkts Int64, +received_pkts Int64, +sent_bytes Int64, +received_bytes Int64, +tcp_c2s_ip_fragments Nullable(Int64), +tcp_s2c_ip_fragments Nullable(Int64), +tcp_c2s_lost_bytes Nullable(Int64), +tcp_s2c_lost_bytes Nullable(Int64), +tcp_c2s_o3_pkts Nullable(Int64), +tcp_s2c_o3_pkts Nullable(Int64), +tcp_c2s_rtx_pkts Nullable(Int64), +tcp_s2c_rtx_pkts Nullable(Int64), +tcp_c2s_rtx_bytes Nullable(Int64), +tcp_s2c_rtx_bytes Nullable(Int64), +tcp_rtt_ms Nullable(Int32), +tcp_client_isn Nullable(Int64), +tcp_server_isn Nullable(Int64), +packet_capture_file String, +in_src_mac String, +out_src_mac String, +in_dest_mac String, +out_dest_mac String, +tunnels String, +dup_traffic_flag Nullable(Int32), +tunnel_endpoint_a_desc String, +tunnel_endpoint_b_desc String +) +ENGINE = MergeTree +PARTITION BY toYYYYMMDD(toDate(recv_time)) +ORDER BY (vsys_id,decoded_as,data_center, device_group,recv_time); + +CREATE TABLE IF NOT EXISTS tsg_galaxy_v3.voip_record on cluster ck_cluster ( +recv_time Int64, +log_id UInt64, +decoded_as String, +session_id UInt64, +start_timestamp_ms DateTime64(3), +end_timestamp_ms DateTime64(3), +duration_ms Int32, +tcp_handshake_latency_ms Nullable(Int32), +ingestion_time Int64, +processing_time Int64, +insert_time Int64, +device_id String, +out_link_id Nullable(Int32), +in_link_id Nullable(Int32), +device_tag String, +data_center String, +device_group String, +sled_ip String, +address_type Int32, +vsys_id Int32, +t_vsys_id Int32, +flags Int64, +flags_identify_info String, +security_rule_list Array(Int64), +security_action String, +monitor_rule_list Array(Int64), +shaping_rule_list Array(Int64), +proxy_rule_list Array(Int64), +statistics_rule_list Array(Int64), +sc_rule_list Array(Int64), +sc_rsp_raw Array(Int64), +sc_rsp_decrypted Array(Int64), +proxy_action String, +proxy_pinning_status Nullable(Int32), +proxy_intercept_status Nullable(Int32), +proxy_passthrough_reason String, +proxy_client_side_latency_ms Nullable(Int32), +proxy_server_side_latency_ms Nullable(Int32), +proxy_client_side_version String, +proxy_server_side_version String, +proxy_cert_verify Nullable(Int32), +proxy_intercept_error String, +monitor_mirrored_pkts Nullable(Int32), +monitor_mirrored_bytes Nullable(Int32), +client_ip String, +client_port Int32, +client_os_desc String, +client_geolocation LowCardinality(String), +client_asn Nullable(Int64), +subscriber_id String, +imei String, +imsi String, +phone_number String, +apn String, +server_ip String, +server_port Int32, +server_os_desc String, +server_geolocation LowCardinality(String), +server_asn Nullable(Int64), +server_fqdn String, +server_domain String, +app_transition String,  +app LowCardinality(String), +app_debug_info String, +app_content String, +fqdn_category_list Array(Int64), +ip_protocol LowCardinality(String), +decoded_path LowCardinality(String), +sip_call_id String, +sip_originator_description String, +sip_responder_description String, +sip_user_agent String, +sip_server String, +sip_originator_sdp_connect_ip String, +sip_originator_sdp_media_port Nullable(Int32), +sip_originator_sdp_media_type String, +sip_originator_sdp_content String, +sip_responder_sdp_connect_ip String, +sip_responder_sdp_media_port Nullable(Int32), +sip_responder_sdp_media_type String, +sip_responder_sdp_content String, +sip_duration_s Nullable(Int32), +sip_bye String, +rtp_payload_type_c2s Nullable(Int32), +rtp_payload_type_s2c Nullable(Int32), +rtp_pcap_path String, +rtp_originator_dir Nullable(Int32), +sent_pkts Int64, +received_pkts Int64, +sent_bytes Int64, +received_bytes Int64, +tcp_c2s_ip_fragments Nullable(Int64), +tcp_s2c_ip_fragments Nullable(Int64), +tcp_c2s_lost_bytes Nullable(Int64), +tcp_s2c_lost_bytes Nullable(Int64), +tcp_c2s_o3_pkts Nullable(Int64), +tcp_s2c_o3_pkts Nullable(Int64), +tcp_c2s_rtx_pkts Nullable(Int64), +tcp_s2c_rtx_pkts Nullable(Int64), +tcp_c2s_rtx_bytes Nullable(Int64), +tcp_s2c_rtx_bytes Nullable(Int64), +tcp_rtt_ms Nullable(Int32), +tcp_client_isn Nullable(Int64), +tcp_server_isn Nullable(Int64), +packet_capture_file String, +in_src_mac String, +out_src_mac String, +in_dest_mac String, +out_dest_mac String, +tunnels String, +dup_traffic_flag Nullable(Int32), +tunnel_endpoint_a_desc String, +tunnel_endpoint_b_desc String +) +ENGINE =Distributed(ck_cluster,tsg_galaxy_v3,voip_record_local,rand()); + +CREATE TABLE IF NOT EXISTS tsg_galaxy_v3.voip_record on cluster ck_query ( +recv_time Int64, +log_id UInt64, +decoded_as String, +session_id UInt64, +start_timestamp_ms DateTime64(3), +end_timestamp_ms DateTime64(3), +duration_ms Int32, +tcp_handshake_latency_ms Nullable(Int32), +ingestion_time Int64, +processing_time Int64, +insert_time Int64, +device_id String, +out_link_id Nullable(Int32), +in_link_id Nullable(Int32), +device_tag String, +data_center String, +device_group String, +sled_ip String, +address_type Int32, +vsys_id Int32, +t_vsys_id Int32, +flags Int64, +flags_identify_info String, +security_rule_list Array(Int64), +security_action String, +monitor_rule_list Array(Int64), +shaping_rule_list Array(Int64), +proxy_rule_list Array(Int64), +statistics_rule_list Array(Int64), +sc_rule_list Array(Int64), +sc_rsp_raw Array(Int64), +sc_rsp_decrypted Array(Int64), +proxy_action String, +proxy_pinning_status Nullable(Int32), +proxy_intercept_status Nullable(Int32), +proxy_passthrough_reason String, +proxy_client_side_latency_ms Nullable(Int32), +proxy_server_side_latency_ms Nullable(Int32), +proxy_client_side_version String, +proxy_server_side_version String, +proxy_cert_verify Nullable(Int32), +proxy_intercept_error String, +monitor_mirrored_pkts Nullable(Int32), +monitor_mirrored_bytes Nullable(Int32), +client_ip String, +client_port Int32, +client_os_desc String, +client_geolocation LowCardinality(String), +client_asn Nullable(Int64), +subscriber_id String, +imei String, +imsi String, +phone_number String, +apn String, +server_ip String, +server_port Int32, +server_os_desc String, +server_geolocation LowCardinality(String), +server_asn Nullable(Int64), +server_fqdn String, +server_domain String, +app_transition String,  +app LowCardinality(String), +app_debug_info String, +app_content String, +fqdn_category_list Array(Int64), +ip_protocol LowCardinality(String), +decoded_path LowCardinality(String), +sip_call_id String, +sip_originator_description String, +sip_responder_description String, +sip_user_agent String, +sip_server String, +sip_originator_sdp_connect_ip String, +sip_originator_sdp_media_port Nullable(Int32), +sip_originator_sdp_media_type String, +sip_originator_sdp_content String, +sip_responder_sdp_connect_ip String, +sip_responder_sdp_media_port Nullable(Int32), +sip_responder_sdp_media_type String, +sip_responder_sdp_content String, +sip_duration_s Nullable(Int32), +sip_bye String, +rtp_payload_type_c2s Nullable(Int32), +rtp_payload_type_s2c Nullable(Int32), +rtp_pcap_path String, +rtp_originator_dir Nullable(Int32), +sent_pkts Int64, +received_pkts Int64, +sent_bytes Int64, +received_bytes Int64, +tcp_c2s_ip_fragments Nullable(Int64), +tcp_s2c_ip_fragments Nullable(Int64), +tcp_c2s_lost_bytes Nullable(Int64), +tcp_s2c_lost_bytes Nullable(Int64), +tcp_c2s_o3_pkts Nullable(Int64), +tcp_s2c_o3_pkts Nullable(Int64), +tcp_c2s_rtx_pkts Nullable(Int64), +tcp_s2c_rtx_pkts Nullable(Int64), +tcp_c2s_rtx_bytes Nullable(Int64), +tcp_s2c_rtx_bytes Nullable(Int64), +tcp_rtt_ms Nullable(Int32), +tcp_client_isn Nullable(Int64), +tcp_server_isn Nullable(Int64), +packet_capture_file String, +in_src_mac String, +out_src_mac String, +in_dest_mac String, +out_dest_mac String, +tunnels String, +dup_traffic_flag Nullable(Int32), +tunnel_endpoint_a_desc String, +tunnel_endpoint_b_desc String +) +ENGINE =Distributed(ck_cluster,tsg_galaxy_v3,voip_record_local,rand()); + + + +CREATE TABLE IF NOT EXISTS tsg_galaxy_v3.proxy_event_local on cluster ck_cluster ( +recv_time Int64, +log_id UInt64, +decoded_as String, +session_id UInt64, +start_timestamp_ms DateTime64(3), +end_timestamp_ms DateTime64(3), +duration_ms Int32, +tcp_handshake_latency_ms Nullable(Int32), +ingestion_time Int64, +processing_time Int64, +insert_time Int64 MATERIALIZED toUnixTimestamp(now()), +device_id String, +out_link_id Nullable(Int32), +in_link_id Nullable(Int32), +device_tag String, +data_center String, +device_group String, +sled_ip String, +address_type Int32, +vsys_id Int32, +t_vsys_id Int32, +flags Int64, +flags_identify_info String, +security_rule_list Array(Int64), +security_action String, +monitor_rule_list Array(Int64), +shaping_rule_list Array(Int64), +proxy_rule_list Array(Int64), +statistics_rule_list Array(Int64), +sc_rule_list Array(Int64), +sc_rsp_raw Array(Int64), +sc_rsp_decrypted Array(Int64), +proxy_action String, +proxy_pinning_status Nullable(Int32), +proxy_intercept_status Nullable(Int32), +proxy_passthrough_reason String, +proxy_client_side_latency_ms Nullable(Int32), +proxy_server_side_latency_ms Nullable(Int32), +proxy_client_side_version String, +proxy_server_side_version String, +proxy_cert_verify Nullable(Int32), +proxy_intercept_error String, +monitor_mirrored_pkts Nullable(Int32), +monitor_mirrored_bytes Nullable(Int32), +client_ip String, +client_port Int32, +client_os_desc String, +client_geolocation LowCardinality(String), +client_asn Nullable(Int64), +subscriber_id String, +imei String, +imsi String, +phone_number String, +apn String, +server_ip String, +server_port Int32, +server_os_desc String, +server_geolocation LowCardinality(String), +server_asn Nullable(Int64), +server_fqdn String, +server_domain String, +app_transition String,  +app LowCardinality(String), +app_debug_info String, +app_content String, +fqdn_category_list Array(Int64), +ip_protocol LowCardinality(String), +decoded_path LowCardinality(String), +http_url String, +http_host String, +http_request_line String, +http_response_line String, +http_request_body String, +http_response_body String, +http_proxy_flag Nullable(Int32), +http_sequence Nullable(Int32), +http_cookie String, +http_referer String, +http_user_agent String, +http_request_content_length Nullable(Int64), +http_request_content_type String, +http_response_content_length Nullable(Int64), +http_response_content_type String, +http_set_cookie String, +http_version String, +http_status_code Nullable(Int32), +http_response_latency_ms Nullable(Int32), +http_session_duration_ms Nullable(Int32), +http_action_file_size Nullable(Int64), +doh_url String, +doh_host String, +doh_request_line String, +doh_response_line String, +doh_cookie String, +doh_referer String, +doh_user_agent String, +doh_content_length String, +doh_content_type String, +doh_set_cookie String, +doh_version String, +doh_message_id Int64, +doh_qr Nullable(Int64), +doh_opcode Nullable(Int64), +doh_aa Nullable(Int64), +doh_tc Nullable(Int64), +doh_rd Nullable(Int64), +doh_ra Nullable(Int64), +doh_rcode Nullable(Int64), +doh_qdcount Nullable(Int64), +doh_ancount Nullable(Int64), +doh_nscount Nullable(Int64), +doh_arcount Nullable(Int64), +doh_qname String, +doh_qtype Nullable(Int64), +doh_qclass Nullable(Int64), +doh_cname String, +doh_sub Nullable(Int64), +doh_rr String, +sent_pkts Int64, +received_pkts Int64, +sent_bytes Int64, +received_bytes Int64, +tcp_c2s_ip_fragments Nullable(Int64), +tcp_s2c_ip_fragments Nullable(Int64), +tcp_c2s_lost_bytes Nullable(Int64), +tcp_s2c_lost_bytes Nullable(Int64), +tcp_c2s_o3_pkts Nullable(Int64), +tcp_s2c_o3_pkts Nullable(Int64), +tcp_c2s_rtx_pkts Nullable(Int64), +tcp_s2c_rtx_pkts Nullable(Int64), +tcp_c2s_rtx_bytes Nullable(Int64), +tcp_s2c_rtx_bytes Nullable(Int64), +tcp_rtt_ms Nullable(Int32), +tcp_client_isn Nullable(Int64), +tcp_server_isn Nullable(Int64), +packet_capture_file String, +in_src_mac String, +out_src_mac String, +in_dest_mac String, +out_dest_mac String, +tunnels String, +dup_traffic_flag Nullable(Int32), +tunnel_endpoint_a_desc String, +tunnel_endpoint_b_desc String +) +ENGINE = MergeTree +PARTITION BY toYYYYMMDD(toDate(recv_time)) +ORDER BY (vsys_id,proxy_action,decoded_as,data_center, device_group,recv_time); + + +CREATE TABLE IF NOT EXISTS tsg_galaxy_v3.proxy_event on cluster ck_cluster ( +recv_time Int64, +log_id UInt64, +decoded_as String, +session_id UInt64, +start_timestamp_ms DateTime64(3), +end_timestamp_ms DateTime64(3), +duration_ms Int32, +tcp_handshake_latency_ms Nullable(Int32), +ingestion_time Int64, +processing_time Int64, +insert_time Int64, +device_id String, +out_link_id Nullable(Int32), +in_link_id Nullable(Int32), +device_tag String, +data_center String, +device_group String, +sled_ip String, +address_type Int32, +vsys_id Int32, +t_vsys_id Int32, +flags Int64, +flags_identify_info String, +security_rule_list Array(Int64), +security_action String, +monitor_rule_list Array(Int64), +shaping_rule_list Array(Int64), +proxy_rule_list Array(Int64), +statistics_rule_list Array(Int64), +sc_rule_list Array(Int64), +sc_rsp_raw Array(Int64), +sc_rsp_decrypted Array(Int64), +proxy_action String, +proxy_pinning_status Nullable(Int32), +proxy_intercept_status Nullable(Int32), +proxy_passthrough_reason String, +proxy_client_side_latency_ms Nullable(Int32), +proxy_server_side_latency_ms Nullable(Int32), +proxy_client_side_version String, +proxy_server_side_version String, +proxy_cert_verify Nullable(Int32), +proxy_intercept_error String, +monitor_mirrored_pkts Nullable(Int32), +monitor_mirrored_bytes Nullable(Int32), +client_ip String, +client_port Int32, +client_os_desc String, +client_geolocation LowCardinality(String), +client_asn Nullable(Int64), +subscriber_id String, +imei String, +imsi String, +phone_number String, +apn String, +server_ip String, +server_port Int32, +server_os_desc String, +server_geolocation LowCardinality(String), +server_asn Nullable(Int64), +server_fqdn String, +server_domain String, +app_transition String,  +app LowCardinality(String), +app_debug_info String, +app_content String, +fqdn_category_list Array(Int64), +ip_protocol LowCardinality(String), +decoded_path LowCardinality(String), +http_url String, +http_host String, +http_request_line String, +http_response_line String, +http_request_body String, +http_response_body String, +http_proxy_flag Nullable(Int32), +http_sequence Nullable(Int32), +http_cookie String, +http_referer String, +http_user_agent String, +http_request_content_length Nullable(Int64), +http_request_content_type String, +http_response_content_length Nullable(Int64), +http_response_content_type String, +http_set_cookie String, +http_version String, +http_status_code Nullable(Int32), +http_response_latency_ms Nullable(Int32), +http_session_duration_ms Nullable(Int32), +http_action_file_size Nullable(Int64), +doh_url String, +doh_host String, +doh_request_line String, +doh_response_line String, +doh_cookie String, +doh_referer String, +doh_user_agent String, +doh_content_length String, +doh_content_type String, +doh_set_cookie String, +doh_version String, +doh_message_id Int64, +doh_qr Nullable(Int64), +doh_opcode Nullable(Int64), +doh_aa Nullable(Int64), +doh_tc Nullable(Int64), +doh_rd Nullable(Int64), +doh_ra Nullable(Int64), +doh_rcode Nullable(Int64), +doh_qdcount Nullable(Int64), +doh_ancount Nullable(Int64), +doh_nscount Nullable(Int64), +doh_arcount Nullable(Int64), +doh_qname String, +doh_qtype Nullable(Int64), +doh_qclass Nullable(Int64), +doh_cname String, +doh_sub Nullable(Int64), +doh_rr String, +sent_pkts Int64, +received_pkts Int64, +sent_bytes Int64, +received_bytes Int64, +tcp_c2s_ip_fragments Nullable(Int64), +tcp_s2c_ip_fragments Nullable(Int64), +tcp_c2s_lost_bytes Nullable(Int64), +tcp_s2c_lost_bytes Nullable(Int64), +tcp_c2s_o3_pkts Nullable(Int64), +tcp_s2c_o3_pkts Nullable(Int64), +tcp_c2s_rtx_pkts Nullable(Int64), +tcp_s2c_rtx_pkts Nullable(Int64), +tcp_c2s_rtx_bytes Nullable(Int64), +tcp_s2c_rtx_bytes Nullable(Int64), +tcp_rtt_ms Nullable(Int32), +tcp_client_isn Nullable(Int64), +tcp_server_isn Nullable(Int64), +packet_capture_file String, +in_src_mac String, +out_src_mac String, +in_dest_mac String, +out_dest_mac String, +tunnels String, +dup_traffic_flag Nullable(Int32), +tunnel_endpoint_a_desc String, +tunnel_endpoint_b_desc String +) +ENGINE =Distributed(ck_cluster,tsg_galaxy_v3,proxy_event_local,rand()); + +CREATE TABLE IF NOT EXISTS tsg_galaxy_v3.proxy_event on cluster ck_query ( +recv_time Int64, +log_id UInt64, +decoded_as String, +session_id UInt64, +start_timestamp_ms DateTime64(3), +end_timestamp_ms DateTime64(3), +duration_ms Int32, +tcp_handshake_latency_ms Nullable(Int32), +ingestion_time Int64, +processing_time Int64, +insert_time Int64, +device_id String, +out_link_id Nullable(Int32), +in_link_id Nullable(Int32), +device_tag String, +data_center String, +device_group String, +sled_ip String, +address_type Int32, +vsys_id Int32, +t_vsys_id Int32, +flags Int64, +flags_identify_info String, +security_rule_list Array(Int64), +security_action String, +monitor_rule_list Array(Int64), +shaping_rule_list Array(Int64), +proxy_rule_list Array(Int64), +statistics_rule_list Array(Int64), +sc_rule_list Array(Int64), +sc_rsp_raw Array(Int64), +sc_rsp_decrypted Array(Int64), +proxy_action String, +proxy_pinning_status Nullable(Int32), +proxy_intercept_status Nullable(Int32), +proxy_passthrough_reason String, +proxy_client_side_latency_ms Nullable(Int32), +proxy_server_side_latency_ms Nullable(Int32), +proxy_client_side_version String, +proxy_server_side_version String, +proxy_cert_verify Nullable(Int32), +proxy_intercept_error String, +monitor_mirrored_pkts Nullable(Int32), +monitor_mirrored_bytes Nullable(Int32), +client_ip String, +client_port Int32, +client_os_desc String, +client_geolocation LowCardinality(String), +client_asn Nullable(Int64), +subscriber_id String, +imei String, +imsi String, +phone_number String, +apn String, +server_ip String, +server_port Int32, +server_os_desc String, +server_geolocation LowCardinality(String), +server_asn Nullable(Int64), +server_fqdn String, +server_domain String, +app_transition String,  +app LowCardinality(String), +app_debug_info String, +app_content String, +fqdn_category_list Array(Int64), +ip_protocol LowCardinality(String), +decoded_path LowCardinality(String), +http_url String, +http_host String, +http_request_line String, +http_response_line String, +http_request_body String, +http_response_body String, +http_proxy_flag Nullable(Int32), +http_sequence Nullable(Int32), +http_cookie String, +http_referer String, +http_user_agent String, +http_request_content_length Nullable(Int64), +http_request_content_type String, +http_response_content_length Nullable(Int64), +http_response_content_type String, +http_set_cookie String, +http_version String, +http_status_code Nullable(Int32), +http_response_latency_ms Nullable(Int32), +http_session_duration_ms Nullable(Int32), +http_action_file_size Nullable(Int64), +doh_url String, +doh_host String, +doh_request_line String, +doh_response_line String, +doh_cookie String, +doh_referer String, +doh_user_agent String, +doh_content_length String, +doh_content_type String, +doh_set_cookie String, +doh_version String, +doh_message_id Int64, +doh_qr Nullable(Int64), +doh_opcode Nullable(Int64), +doh_aa Nullable(Int64), +doh_tc Nullable(Int64), +doh_rd Nullable(Int64), +doh_ra Nullable(Int64), +doh_rcode Nullable(Int64), +doh_qdcount Nullable(Int64), +doh_ancount Nullable(Int64), +doh_nscount Nullable(Int64), +doh_arcount Nullable(Int64), +doh_qname String, +doh_qtype Nullable(Int64), +doh_qclass Nullable(Int64), +doh_cname String, +doh_sub Nullable(Int64), +doh_rr String, +sent_pkts Int64, +received_pkts Int64, +sent_bytes Int64, +received_bytes Int64, +tcp_c2s_ip_fragments Nullable(Int64), +tcp_s2c_ip_fragments Nullable(Int64), +tcp_c2s_lost_bytes Nullable(Int64), +tcp_s2c_lost_bytes Nullable(Int64), +tcp_c2s_o3_pkts Nullable(Int64), +tcp_s2c_o3_pkts Nullable(Int64), +tcp_c2s_rtx_pkts Nullable(Int64), +tcp_s2c_rtx_pkts Nullable(Int64), +tcp_c2s_rtx_bytes Nullable(Int64), +tcp_s2c_rtx_bytes Nullable(Int64), +tcp_rtt_ms Nullable(Int32), +tcp_client_isn Nullable(Int64), +tcp_server_isn Nullable(Int64), +packet_capture_file String, +in_src_mac String, +out_src_mac String, +in_dest_mac String, +out_dest_mac String, +tunnels String, +dup_traffic_flag Nullable(Int32), +tunnel_endpoint_a_desc String, +tunnel_endpoint_b_desc String +) +ENGINE =Distributed(ck_cluster,tsg_galaxy_v3,proxy_event_local,rand()); + + +CREATE MATERIALIZED VIEW IF NOT EXISTS tsg_galaxy_v3.security_event_materialized_view on cluster ck_cluster +TO tsg_galaxy_v3.security_event_local +( + recv_time Int64, + log_id UInt64, + decoded_as String, + session_id UInt64, + start_timestamp_ms DateTime64(3), + end_timestamp_ms DateTime64(3), + duration_ms Int32, + tcp_handshake_latency_ms Nullable(Int32), + ingestion_time Int64, + processing_time Int64, + -- insert_time Int64 MATERIALIZED toUnixTimestamp(now()), + device_id String, + out_link_id Nullable(Int32), + in_link_id Nullable(Int32), + device_tag String, + data_center String, + device_group String, + sled_ip String, + address_type Int32, + vsys_id Int32, + t_vsys_id Int32, + flags Int64, + flags_identify_info String, + security_rule_list Array(Int64), + security_action String, + monitor_rule_list Array(Int64), + shaping_rule_list Array(Int64), + proxy_rule_list Array(Int64), + statistics_rule_list Array(Int64), + sc_rule_list Array(Int64), + sc_rsp_raw Array(Int64), + sc_rsp_decrypted Array(Int64), + proxy_action String, + proxy_pinning_status Nullable(Int32), + proxy_intercept_status Nullable(Int32), + proxy_passthrough_reason String, + proxy_client_side_latency_ms Nullable(Int32), + proxy_server_side_latency_ms Nullable(Int32), + proxy_client_side_version String, + proxy_server_side_version String, + proxy_cert_verify Nullable(Int32), + proxy_intercept_error String, + monitor_mirrored_pkts Nullable(Int32), + monitor_mirrored_bytes Nullable(Int32), + client_ip String, + client_port Int32, + client_os_desc String, + client_geolocation LowCardinality(String), + client_asn Nullable(Int64), + subscriber_id String, + imei String, + imsi String, + phone_number String, + apn String, + server_ip String, + server_port Int32, + server_os_desc String, + server_geolocation LowCardinality(String), + server_asn Nullable(Int64), + server_fqdn String, + server_domain String, + app_transition String, + app LowCardinality(String), + app_debug_info String, + app_content String, + fqdn_category_list Array(Int64), + ip_protocol LowCardinality(String), + decoded_path LowCardinality(String), + dns_message_id Nullable(Int32), + dns_qr Nullable(Int32), + dns_opcode Nullable(Int32), + dns_aa Nullable(Int32), + dns_tc Nullable(Int32), + dns_rd Nullable(Int32), + dns_ra Nullable(Int32), + dns_rcode Nullable(Int32), + dns_qdcount Nullable(Int32), + dns_ancount Nullable(Int32), + dns_nscount Nullable(Int32), + dns_arcount Nullable(Int32), + dns_qname String, + dns_qtype Nullable(Int32), + dns_qclass Nullable(Int32), + dns_cname String, + dns_sub Nullable(Int32), + dns_rr String, + dns_response_latency_ms Nullable(Int32), + http_url String, + http_host String, + http_request_line String, + http_response_line String, + http_request_body String, + http_response_body String, + http_proxy_flag Nullable(Int32), + http_sequence Nullable(Int32), + http_cookie String, + http_referer String, + http_user_agent String, + http_request_content_length Nullable(Int64), + http_request_content_type String, + http_response_content_length Nullable(Int64), + http_response_content_type String, + http_set_cookie String, + http_version String, + http_status_code Nullable(Int32), + http_response_latency_ms Nullable(Int32), + http_session_duration_ms Nullable(Int32), + http_action_file_size Nullable(Int64), + ssl_version String, + ssl_sni String, + ssl_san String, + ssl_cn String, + ssl_handshake_latency_ms Nullable(Int32), + ssl_ja3_hash String, + ssl_ja3s_hash String, + ssl_cert_issuer String, + ssl_cert_subject String, + ssl_esni_flag Nullable(Int32), + ssl_ech_flag Nullable(Int32), + dtls_cookie String, + dtls_version String, + dtls_sni String, + dtls_san String, + dtls_cn String, + dtls_handshake_latency_ms Nullable(Int32), + dtls_ja3_fingerprint String, + dtls_ja3_hash String, + dtls_cert_issuer String, + dtls_cert_subject String, + mail_protocol_type String, + mail_account String, + mail_from_cmd String, + mail_to_cmd String, + mail_from String, + mail_password String, + mail_to String, + mail_cc String, + mail_bcc String, + mail_subject String, + mail_subject_charset String, + mail_attachment_name String, + mail_attachment_name_charset String, + mail_eml_file String, + ftp_account String, + ftp_url String, + ftp_link_type String, + quic_version String, + quic_sni String, + quic_user_agent String, + rdp_cookie String, + rdp_security_protocol String, + rdp_client_channels String, + rdp_keyboard_layout String, + rdp_client_version String, + rdp_client_name String, + rdp_client_product_id String, + rdp_desktop_width String, + rdp_desktop_height String, + rdp_requested_color_depth String, + rdp_certificate_type String, + rdp_certificate_count Nullable(Int32), + rdp_certificate_permanent Nullable(Int32), + rdp_encryption_level String, + rdp_encryption_method String, + ssh_version String, + ssh_auth_success String, + ssh_client_version String, + ssh_server_version String, + ssh_cipher_alg String, + ssh_mac_alg String, + ssh_compression_alg String, + ssh_kex_alg String, + ssh_host_key_alg String, + ssh_host_key String, + ssh_hassh String, + sip_call_id String, + sip_originator_description String, + sip_responder_description String, + sip_user_agent String, + sip_server String, + sip_originator_sdp_connect_ip String, + sip_originator_sdp_media_port Nullable(Int32), + sip_originator_sdp_media_type String, + sip_originator_sdp_content String, + sip_responder_sdp_connect_ip String, + sip_responder_sdp_media_port Nullable(Int32), + sip_responder_sdp_media_type String, + sip_responder_sdp_content String, + sip_duration_s Nullable(Int32), + sip_bye String, + rtp_payload_type_c2s Nullable(Int32), + rtp_payload_type_s2c Nullable(Int32), + rtp_pcap_path String, + rtp_originator_dir Nullable(Int32), + stratum_cryptocurrency String, + stratum_mining_pools String, + stratum_mining_program String, + stratum_mining_subscribe String, + sent_pkts Int64, + received_pkts Int64, + sent_bytes Int64, + received_bytes Int64, + tcp_c2s_ip_fragments Nullable(Int64), + tcp_s2c_ip_fragments Nullable(Int64), + tcp_c2s_lost_bytes Nullable(Int64), + tcp_s2c_lost_bytes Nullable(Int64), + tcp_c2s_o3_pkts Nullable(Int64), + tcp_s2c_o3_pkts Nullable(Int64), + tcp_c2s_rtx_pkts Nullable(Int64), + tcp_s2c_rtx_pkts Nullable(Int64), + tcp_c2s_rtx_bytes Nullable(Int64), + tcp_s2c_rtx_bytes Nullable(Int64), + tcp_rtt_ms Nullable(Int32), + tcp_client_isn Nullable(Int64), + tcp_server_isn Nullable(Int64), + packet_capture_file String, + in_src_mac String, + out_src_mac String, + in_dest_mac String, + out_dest_mac String, + tunnels String, + dup_traffic_flag Nullable(Int32), + tunnel_endpoint_a_desc String, + tunnel_endpoint_b_desc String +) +AS +SELECT + recv_time, + log_id, + decoded_as, + session_id, + start_timestamp_ms, + end_timestamp_ms, + duration_ms, + tcp_handshake_latency_ms, + ingestion_time, + processing_time, + -- insert_time, + device_id, + out_link_id, + in_link_id, + device_tag, + data_center, + device_group, + sled_ip, + address_type, + vsys_id, + t_vsys_id, + flags, + flags_identify_info, + security_rule_list, + security_action, + monitor_rule_list, + shaping_rule_list, + proxy_rule_list, + statistics_rule_list, + sc_rule_list, + sc_rsp_raw, + sc_rsp_decrypted, + proxy_action, + proxy_pinning_status, + proxy_intercept_status, + proxy_passthrough_reason, + proxy_client_side_latency_ms, + proxy_server_side_latency_ms, + proxy_client_side_version, + proxy_server_side_version, + proxy_cert_verify, + proxy_intercept_error, + monitor_mirrored_pkts, + monitor_mirrored_bytes, + client_ip, + client_port, + client_os_desc, + client_geolocation, + client_asn, + subscriber_id, + imei, + imsi, + phone_number, + apn, + server_ip, + server_port, + server_os_desc, + server_geolocation, + server_asn, + server_fqdn, + server_domain, + app_transition, + app, + app_debug_info, + app_content, + fqdn_category_list, + decoded_path, + dns_message_id, + dns_qr, + dns_opcode, + dns_aa, + dns_tc, + dns_rd, + dns_ra, + dns_rcode, + dns_qdcount, + dns_ancount, + dns_nscount, + dns_arcount, + dns_qname, + dns_qtype, + dns_qclass, + dns_cname, + dns_sub, + dns_rr, + dns_response_latency_ms, + http_url, + http_host, + http_request_line, + http_response_line, + http_request_body, + http_response_body, + http_proxy_flag, + http_sequence, + http_cookie, + http_referer, + http_user_agent, + http_request_content_length, + http_request_content_type, + http_response_content_length, + http_response_content_type, + http_set_cookie, + http_version, + http_status_code, + http_response_latency_ms, + http_session_duration_ms, + http_action_file_size, + ssl_version, + ssl_sni, + ssl_san, + ssl_cn, + ssl_handshake_latency_ms, + ssl_ja3_hash, + ssl_ja3s_hash, + ssl_cert_issuer, + ssl_cert_subject, + ssl_esni_flag, + ssl_ech_flag, + dtls_cookie, + dtls_version, + dtls_sni, + dtls_san, + dtls_cn, + dtls_handshake_latency_ms, + dtls_ja3_fingerprint, + dtls_ja3_hash, + dtls_cert_issuer, + dtls_cert_subject, + mail_protocol_type, + mail_account, + mail_from_cmd, + mail_to_cmd, + mail_from, + mail_password, + mail_to, + mail_cc, + mail_bcc, + mail_subject, + mail_subject_charset, + mail_attachment_name, + mail_attachment_name_charset, + mail_eml_file, + ftp_account, + ftp_url, + ftp_link_type, + quic_version, + quic_sni, + quic_user_agent, + rdp_cookie, + rdp_security_protocol, + rdp_client_channels, + rdp_keyboard_layout, + rdp_client_version, + rdp_client_name, + rdp_client_product_id, + rdp_desktop_width, + rdp_desktop_height, + rdp_requested_color_depth, + rdp_certificate_type, + rdp_certificate_count, + rdp_certificate_permanent, + rdp_encryption_level, + rdp_encryption_method, + ssh_version, + ssh_auth_success, + ssh_client_version, + ssh_server_version, + ssh_cipher_alg, + ssh_mac_alg, + ssh_compression_alg, + ssh_kex_alg, + ssh_host_key_alg, + ssh_host_key, + ssh_hassh, + sip_call_id, + sip_originator_description, + sip_responder_description, + sip_user_agent, + sip_server, + sip_originator_sdp_connect_ip, + sip_originator_sdp_media_port, + sip_originator_sdp_media_type, + sip_originator_sdp_content, + sip_responder_sdp_connect_ip, + sip_responder_sdp_media_port, + sip_responder_sdp_media_type, + sip_responder_sdp_content, + sip_duration_s, + sip_bye, + rtp_payload_type_c2s, + rtp_payload_type_s2c, + rtp_pcap_path, + rtp_originator_dir, + stratum_cryptocurrency, + stratum_mining_pools, + stratum_mining_program, + stratum_mining_subscribe, + sent_pkts, + received_pkts, + sent_bytes, + received_bytes, + tcp_c2s_ip_fragments, + tcp_s2c_ip_fragments, + tcp_c2s_lost_bytes, + tcp_s2c_lost_bytes, + tcp_c2s_o3_pkts, + tcp_s2c_o3_pkts, + tcp_c2s_rtx_pkts, + tcp_s2c_rtx_pkts, + tcp_c2s_rtx_bytes, + tcp_s2c_rtx_bytes, + tcp_rtt_ms, + tcp_client_isn, + tcp_server_isn, + packet_capture_file, + in_src_mac, + out_src_mac, + in_dest_mac, + out_dest_mac, + tunnels, + dup_traffic_flag, + tunnel_endpoint_a_desc, + tunnel_endpoint_b_desc +FROM tsg_galaxy_v3.session_record_local +WHERE empty(security_rule_list) = 0 +; + +-- tsg_galaxy_v3.monitor_event_materialized_view +CREATE MATERIALIZED VIEW IF NOT EXISTS tsg_galaxy_v3.monitor_event_materialized_view on cluster ck_cluster +TO tsg_galaxy_v3.monitor_event_local +( + recv_time Int64, + log_id UInt64, + decoded_as String, + session_id UInt64, + start_timestamp_ms DateTime64(3), + end_timestamp_ms DateTime64(3), + duration_ms Int32, + tcp_handshake_latency_ms Nullable(Int32), + ingestion_time Int64, + processing_time Int64, + -- insert_time Int64 MATERIALIZED toUnixTimestamp(now()), + device_id String, + out_link_id Nullable(Int32), + in_link_id Nullable(Int32), + device_tag String, + data_center String, + device_group String, + sled_ip String, + address_type Int32, + vsys_id Int32, + t_vsys_id Int32, + flags Int64, + flags_identify_info String, + security_rule_list Array(Int64), + security_action String, + monitor_rule_list Array(Int64), + shaping_rule_list Array(Int64), + proxy_rule_list Array(Int64), + statistics_rule_list Array(Int64), + sc_rule_list Array(Int64), + sc_rsp_raw Array(Int64), + sc_rsp_decrypted Array(Int64), + proxy_action String, + proxy_pinning_status Nullable(Int32), + proxy_intercept_status Nullable(Int32), + proxy_passthrough_reason String, + proxy_client_side_latency_ms Nullable(Int32), + proxy_server_side_latency_ms Nullable(Int32), + proxy_client_side_version String, + proxy_server_side_version String, + proxy_cert_verify Nullable(Int32), + proxy_intercept_error String, + monitor_mirrored_pkts Nullable(Int32), + monitor_mirrored_bytes Nullable(Int32), + client_ip String, + client_port Int32, + client_os_desc String, + client_geolocation LowCardinality(String), + client_asn Nullable(Int64), + subscriber_id String, + imei String, + imsi String, + phone_number String, + apn String, + server_ip String, + server_port Int32, + server_os_desc String, + server_geolocation LowCardinality(String), + server_asn Nullable(Int64), + server_fqdn String, + server_domain String, + app_transition String, + app LowCardinality(String), + app_debug_info String, + app_content String, + fqdn_category_list Array(Int64), + ip_protocol LowCardinality(String), + decoded_path LowCardinality(String), + dns_message_id Nullable(Int32), + dns_qr Nullable(Int32), + dns_opcode Nullable(Int32), + dns_aa Nullable(Int32), + dns_tc Nullable(Int32), + dns_rd Nullable(Int32), + dns_ra Nullable(Int32), + dns_rcode Nullable(Int32), + dns_qdcount Nullable(Int32), + dns_ancount Nullable(Int32), + dns_nscount Nullable(Int32), + dns_arcount Nullable(Int32), + dns_qname String, + dns_qtype Nullable(Int32), + dns_qclass Nullable(Int32), + dns_cname String, + dns_sub Nullable(Int32), + dns_rr String, + dns_response_latency_ms Nullable(Int32), + http_url String, + http_host String, + http_request_line String, + http_response_line String, + http_request_body String, + http_response_body String, + http_proxy_flag Nullable(Int32), + http_sequence Nullable(Int32), + http_cookie String, + http_referer String, + http_user_agent String, + http_request_content_length Nullable(Int64), + http_request_content_type String, + http_response_content_length Nullable(Int64), + http_response_content_type String, + http_set_cookie String, + http_version String, + http_status_code Nullable(Int32), + http_response_latency_ms Nullable(Int32), + http_session_duration_ms Nullable(Int32), + http_action_file_size Nullable(Int64), + ssl_version String, + ssl_sni String, + ssl_san String, + ssl_cn String, + ssl_handshake_latency_ms Nullable(Int32), + ssl_ja3_hash String, + ssl_ja3s_hash String, + ssl_cert_issuer String, + ssl_cert_subject String, + ssl_esni_flag Nullable(Int32), + ssl_ech_flag Nullable(Int32), + dtls_cookie String, + dtls_version String, + dtls_sni String, + dtls_san String, + dtls_cn String, + dtls_handshake_latency_ms Nullable(Int32), + dtls_ja3_fingerprint String, + dtls_ja3_hash String, + dtls_cert_issuer String, + dtls_cert_subject String, + mail_protocol_type String, + mail_account String, + mail_from_cmd String, + mail_to_cmd String, + mail_from String, + mail_password String, + mail_to String, + mail_cc String, + mail_bcc String, + mail_subject String, + mail_subject_charset String, + mail_attachment_name String, + mail_attachment_name_charset String, + mail_eml_file String, + ftp_account String, + ftp_url String, + ftp_link_type String, + quic_version String, + quic_sni String, + quic_user_agent String, + rdp_cookie String, + rdp_security_protocol String, + rdp_client_channels String, + rdp_keyboard_layout String, + rdp_client_version String, + rdp_client_name String, + rdp_client_product_id String, + rdp_desktop_width String, + rdp_desktop_height String, + rdp_requested_color_depth String, + rdp_certificate_type String, + rdp_certificate_count Nullable(Int32), + rdp_certificate_permanent Nullable(Int32), + rdp_encryption_level String, + rdp_encryption_method String, + ssh_version String, + ssh_auth_success String, + ssh_client_version String, + ssh_server_version String, + ssh_cipher_alg String, + ssh_mac_alg String, + ssh_compression_alg String, + ssh_kex_alg String, + ssh_host_key_alg String, + ssh_host_key String, + ssh_hassh String, + sip_call_id String, + sip_originator_description String, + sip_responder_description String, + sip_user_agent String, + sip_server String, + sip_originator_sdp_connect_ip String, + sip_originator_sdp_media_port Nullable(Int32), + sip_originator_sdp_media_type String, + sip_originator_sdp_content String, + sip_responder_sdp_connect_ip String, + sip_responder_sdp_media_port Nullable(Int32), + sip_responder_sdp_media_type String, + sip_responder_sdp_content String, + sip_duration_s Nullable(Int32), + sip_bye String, + rtp_payload_type_c2s Nullable(Int32), + rtp_payload_type_s2c Nullable(Int32), + rtp_pcap_path String, + rtp_originator_dir Nullable(Int32), + stratum_cryptocurrency String, + stratum_mining_pools String, + stratum_mining_program String, + stratum_mining_subscribe String, + sent_pkts Int64, + received_pkts Int64, + sent_bytes Int64, + received_bytes Int64, + tcp_c2s_ip_fragments Nullable(Int64), + tcp_s2c_ip_fragments Nullable(Int64), + tcp_c2s_lost_bytes Nullable(Int64), + tcp_s2c_lost_bytes Nullable(Int64), + tcp_c2s_o3_pkts Nullable(Int64), + tcp_s2c_o3_pkts Nullable(Int64), + tcp_c2s_rtx_pkts Nullable(Int64), + tcp_s2c_rtx_pkts Nullable(Int64), + tcp_c2s_rtx_bytes Nullable(Int64), + tcp_s2c_rtx_bytes Nullable(Int64), + tcp_rtt_ms Nullable(Int32), + tcp_client_isn Nullable(Int64), + tcp_server_isn Nullable(Int64), + packet_capture_file String, + in_src_mac String, + out_src_mac String, + in_dest_mac String, + out_dest_mac String, + tunnels String, + dup_traffic_flag Nullable(Int32), + tunnel_endpoint_a_desc String, + tunnel_endpoint_b_desc String +) +AS +SELECT + recv_time, + log_id, + decoded_as, + session_id, + start_timestamp_ms, + end_timestamp_ms, + duration_ms, + tcp_handshake_latency_ms, + ingestion_time, + processing_time, + -- insert_time, + device_id, + out_link_id, + in_link_id, + device_tag, + data_center, + device_group, + sled_ip, + address_type, + vsys_id, + t_vsys_id, + flags, + flags_identify_info, + security_rule_list, + security_action, + monitor_rule_list, + shaping_rule_list, + proxy_rule_list, + statistics_rule_list, + sc_rule_list, + sc_rsp_raw, + sc_rsp_decrypted, + proxy_action, + proxy_pinning_status, + proxy_intercept_status, + proxy_passthrough_reason, + proxy_client_side_latency_ms, + proxy_server_side_latency_ms, + proxy_client_side_version, + proxy_server_side_version, + proxy_cert_verify, + proxy_intercept_error, + monitor_mirrored_pkts, + monitor_mirrored_bytes, + client_ip, + client_port, + client_os_desc, + client_geolocation, + client_asn, + subscriber_id, + imei, + imsi, + phone_number, + apn, + server_ip, + server_port, + server_os_desc, + server_geolocation, + server_asn, + server_fqdn, + server_domain, + app_transition, + app, + app_debug_info, + app_content, + fqdn_category_list, + decoded_path, + dns_message_id, + dns_qr, + dns_opcode, + dns_aa, + dns_tc, + dns_rd, + dns_ra, + dns_rcode, + dns_qdcount, + dns_ancount, + dns_nscount, + dns_arcount, + dns_qname, + dns_qtype, + dns_qclass, + dns_cname, + dns_sub, + dns_rr, + dns_response_latency_ms, + http_url, + http_host, + http_request_line, + http_response_line, + http_request_body, + http_response_body, + http_proxy_flag, + http_sequence, + http_cookie, + http_referer, + http_user_agent, + http_request_content_length, + http_request_content_type, + http_response_content_length, + http_response_content_type, + http_set_cookie, + http_version, + http_status_code, + http_response_latency_ms, + http_session_duration_ms, + http_action_file_size, + ssl_version, + ssl_sni, + ssl_san, + ssl_cn, + ssl_handshake_latency_ms, + ssl_ja3_hash, + ssl_ja3s_hash, + ssl_cert_issuer, + ssl_cert_subject, + ssl_esni_flag, + ssl_ech_flag, + dtls_cookie, + dtls_version, + dtls_sni, + dtls_san, + dtls_cn, + dtls_handshake_latency_ms, + dtls_ja3_fingerprint, + dtls_ja3_hash, + dtls_cert_issuer, + dtls_cert_subject, + mail_protocol_type, + mail_account, + mail_from_cmd, + mail_to_cmd, + mail_from, + mail_password, + mail_to, + mail_cc, + mail_bcc, + mail_subject, + mail_subject_charset, + mail_attachment_name, + mail_attachment_name_charset, + mail_eml_file, + ftp_account, + ftp_url, + ftp_link_type, + quic_version, + quic_sni, + quic_user_agent, + rdp_cookie, + rdp_security_protocol, + rdp_client_channels, + rdp_keyboard_layout, + rdp_client_version, + rdp_client_name, + rdp_client_product_id, + rdp_desktop_width, + rdp_desktop_height, + rdp_requested_color_depth, + rdp_certificate_type, + rdp_certificate_count, + rdp_certificate_permanent, + rdp_encryption_level, + rdp_encryption_method, + ssh_version, + ssh_auth_success, + ssh_client_version, + ssh_server_version, + ssh_cipher_alg, + ssh_mac_alg, + ssh_compression_alg, + ssh_kex_alg, + ssh_host_key_alg, + ssh_host_key, + ssh_hassh, + sip_call_id, + sip_originator_description, + sip_responder_description, + sip_user_agent, + sip_server, + sip_originator_sdp_connect_ip, + sip_originator_sdp_media_port, + sip_originator_sdp_media_type, + sip_originator_sdp_content, + sip_responder_sdp_connect_ip, + sip_responder_sdp_media_port, + sip_responder_sdp_media_type, + sip_responder_sdp_content, + sip_duration_s, + sip_bye, + rtp_payload_type_c2s, + rtp_payload_type_s2c, + rtp_pcap_path, + rtp_originator_dir, + stratum_cryptocurrency, + stratum_mining_pools, + stratum_mining_program, + stratum_mining_subscribe, + sent_pkts, + received_pkts, + sent_bytes, + received_bytes, + tcp_c2s_ip_fragments, + tcp_s2c_ip_fragments, + tcp_c2s_lost_bytes, + tcp_s2c_lost_bytes, + tcp_c2s_o3_pkts, + tcp_s2c_o3_pkts, + tcp_c2s_rtx_pkts, + tcp_s2c_rtx_pkts, + tcp_c2s_rtx_bytes, + tcp_s2c_rtx_bytes, + tcp_rtt_ms, + tcp_client_isn, + tcp_server_isn, + packet_capture_file, + in_src_mac, + out_src_mac, + in_dest_mac, + out_dest_mac, + tunnels, + dup_traffic_flag, + tunnel_endpoint_a_desc, + tunnel_endpoint_b_desc +FROM tsg_galaxy_v3.session_record_local +WHERE empty(monitor_rule_list) = 0 +; diff --git a/tsg-olap/parcels/roles/initialization/clickhouse/files/system.sql b/tsg-olap/parcels/roles/initialization/clickhouse/files/system.sql new file mode 100644 index 0000000..1f45639 --- /dev/null +++ b/tsg-olap/parcels/roles/initialization/clickhouse/files/system.sql @@ -0,0 +1,9 @@ +create table IF NOT EXISTS `system`.tables_cluster ON CLUSTER ck_query as `system`.tables ENGINE =Distributed(ck_all,`system`,tables,rand()); +create table IF NOT EXISTS `system`.disks_cluster ON CLUSTER ck_query as `system`.disks ENGINE =Distributed(ck_all,`system`,disks,rand()); +create table IF NOT EXISTS `system`.parts_cluster ON CLUSTER ck_query as `system`.parts ENGINE =Distributed(ck_all,`system`,parts,rand()); +create table IF NOT EXISTS `system`.query_log_cluster ON CLUSTER ck_query as `system`.query_log ENGINE =Distributed(ck_all,`system`,query_log,rand()); +CREATE TABLE IF NOT EXISTS `system`.columns_cluster ON CLUSTER ck_query AS `system`.columns ENGINE=Distributed(ck_all,`system`,columns,rand()); +CREATE TABLE IF NOT EXISTS `system`.processes_cluster ON CLUSTER ck_query AS `system`.processes ENGINE=Distributed(ck_all,`system`,processes,rand()); + +alter table system.query_log on cluster ck_cluster modify TTL event_date + INTERVAL 60 DAY; +alter table system.query_log on cluster ck_query modify TTL event_date + INTERVAL 60 DAY; diff --git a/tsg-olap/parcels/roles/initialization/clickhouse/files/upgrade-sql/update-23.01-ck.sql b/tsg-olap/parcels/roles/initialization/clickhouse/files/upgrade-sql/update-23.01-ck.sql new file mode 100644 index 0000000..5e7ba07 --- /dev/null +++ b/tsg-olap/parcels/roles/initialization/clickhouse/files/upgrade-sql/update-23.01-ck.sql @@ -0,0 +1,247 @@ +set distributed_ddl_task_timeout = 180; + +ALTER table tsg_galaxy_v3.session_record_local on cluster ck_cluster add column IF NOT EXISTS common_app_full_path String after common_app_id; +ALTER table tsg_galaxy_v3.session_record on cluster ck_cluster add column IF NOT EXISTS common_app_full_path String after common_app_id; +ALTER table tsg_galaxy_v3.session_record on cluster ck_query add column IF NOT EXISTS common_app_full_path String after common_app_id; + +ALTER table tsg_galaxy_v3.interim_session_record_local on cluster ck_cluster add column IF NOT EXISTS common_app_full_path String after common_app_id; +ALTER table tsg_galaxy_v3.interim_session_record on cluster ck_cluster add column IF NOT EXISTS common_app_full_path String after common_app_id; +ALTER table tsg_galaxy_v3.interim_session_record on cluster ck_query add column IF NOT EXISTS common_app_full_path String after common_app_id; + +ALTER table tsg_galaxy_v3.transaction_record_local on cluster ck_cluster add column IF NOT EXISTS common_app_full_path String after common_app_id; +ALTER table tsg_galaxy_v3.transaction_record on cluster ck_cluster add column IF NOT EXISTS common_app_full_path String after common_app_id; +ALTER table tsg_galaxy_v3.transaction_record on cluster ck_query add column IF NOT EXISTS common_app_full_path String after common_app_id; + +ALTER table tsg_galaxy_v3.security_event_local on cluster ck_cluster add column IF NOT EXISTS common_app_full_path String after common_app_id; +ALTER table tsg_galaxy_v3.security_event on cluster ck_cluster add column IF NOT EXISTS common_app_full_path String after common_app_id; +ALTER table tsg_galaxy_v3.security_event on cluster ck_query add column IF NOT EXISTS common_app_full_path String after common_app_id; + +ALTER table tsg_galaxy_v3.proxy_event_local on cluster ck_cluster add column IF NOT EXISTS common_app_full_path String after common_app_id; +ALTER table tsg_galaxy_v3.proxy_event on cluster ck_cluster add column IF NOT EXISTS common_app_full_path String after common_app_id; +ALTER table tsg_galaxy_v3.proxy_event on cluster ck_query add column IF NOT EXISTS common_app_full_path String after common_app_id; + +ALTER table tsg_galaxy_v3.radius_record_local on cluster ck_cluster add column IF NOT EXISTS common_app_full_path String after common_app_id; +ALTER table tsg_galaxy_v3.radius_record on cluster ck_cluster add column IF NOT EXISTS common_app_full_path String after common_app_id; +ALTER table tsg_galaxy_v3.radius_record on cluster ck_query add column IF NOT EXISTS common_app_full_path String after common_app_id; + +ALTER table tsg_galaxy_v3.voip_record_local on cluster ck_cluster add column IF NOT EXISTS common_app_full_path String after common_app_id; +ALTER table tsg_galaxy_v3.voip_record on cluster ck_cluster add column IF NOT EXISTS common_app_full_path String after common_app_id; +ALTER table tsg_galaxy_v3.voip_record on cluster ck_query add column IF NOT EXISTS common_app_full_path String after common_app_id; + +ALTER table tsg_galaxy_v3.gtpc_record_local on cluster ck_cluster add column IF NOT EXISTS common_app_full_path String after common_app_id; +ALTER table tsg_galaxy_v3.gtpc_record on cluster ck_cluster add column IF NOT EXISTS common_app_full_path String after common_app_id; +ALTER table tsg_galaxy_v3.gtpc_record on cluster ck_query add column IF NOT EXISTS common_app_full_path String after common_app_id; + +ALTER table tsg_galaxy_v3.sys_packet_capture_event_local on cluster ck_cluster add column IF NOT EXISTS common_app_full_path String after common_app_id; +ALTER table tsg_galaxy_v3.sys_packet_capture_event on cluster ck_cluster add column IF NOT EXISTS common_app_full_path String after common_app_id; +ALTER table tsg_galaxy_v3.sys_packet_capture_event on cluster ck_query add column IF NOT EXISTS common_app_full_path String after common_app_id; + + +ALTER table tsg_galaxy_v3.session_record_local on cluster ck_cluster add column IF NOT EXISTS common_server_domain String after common_server_asn; +ALTER table tsg_galaxy_v3.session_record on cluster ck_cluster add column IF NOT EXISTS common_server_domain String after common_server_asn; +ALTER table tsg_galaxy_v3.session_record on cluster ck_query add column IF NOT EXISTS common_server_domain String after common_server_asn; + +ALTER table tsg_galaxy_v3.interim_session_record_local on cluster ck_cluster add column IF NOT EXISTS common_server_domain String after common_server_asn; +ALTER table tsg_galaxy_v3.interim_session_record on cluster ck_cluster add column IF NOT EXISTS common_server_domain String after common_server_asn; +ALTER table tsg_galaxy_v3.interim_session_record on cluster ck_query add column IF NOT EXISTS common_server_domain String after common_server_asn; + +ALTER table tsg_galaxy_v3.transaction_record_local on cluster ck_cluster add column IF NOT EXISTS common_server_domain String after common_server_asn; +ALTER table tsg_galaxy_v3.transaction_record on cluster ck_cluster add column IF NOT EXISTS common_server_domain String after common_server_asn; +ALTER table tsg_galaxy_v3.transaction_record on cluster ck_query add column IF NOT EXISTS common_server_domain String after common_server_asn; + +ALTER table tsg_galaxy_v3.security_event_local on cluster ck_cluster add column IF NOT EXISTS common_server_domain String after common_server_asn; +ALTER table tsg_galaxy_v3.security_event on cluster ck_cluster add column IF NOT EXISTS common_server_domain String after common_server_asn; +ALTER table tsg_galaxy_v3.security_event on cluster ck_query add column IF NOT EXISTS common_server_domain String after common_server_asn; + +ALTER table tsg_galaxy_v3.proxy_event_local on cluster ck_cluster add column IF NOT EXISTS common_server_domain String after common_server_asn; +ALTER table tsg_galaxy_v3.proxy_event on cluster ck_cluster add column IF NOT EXISTS common_server_domain String after common_server_asn; +ALTER table tsg_galaxy_v3.proxy_event on cluster ck_query add column IF NOT EXISTS common_server_domain String after common_server_asn; + +ALTER table tsg_galaxy_v3.radius_record_local on cluster ck_cluster add column IF NOT EXISTS common_server_domain String after common_server_asn; +ALTER table tsg_galaxy_v3.radius_record on cluster ck_cluster add column IF NOT EXISTS common_server_domain String after common_server_asn; +ALTER table tsg_galaxy_v3.radius_record on cluster ck_query add column IF NOT EXISTS common_server_domain String after common_server_asn; + +ALTER table tsg_galaxy_v3.voip_record_local on cluster ck_cluster add column IF NOT EXISTS common_server_domain String after common_server_asn; +ALTER table tsg_galaxy_v3.voip_record on cluster ck_cluster add column IF NOT EXISTS common_server_domain String after common_server_asn; +ALTER table tsg_galaxy_v3.voip_record on cluster ck_query add column IF NOT EXISTS common_server_domain String after common_server_asn; + +ALTER table tsg_galaxy_v3.gtpc_record_local on cluster ck_cluster add column IF NOT EXISTS common_server_domain String after common_server_asn; +ALTER table tsg_galaxy_v3.gtpc_record on cluster ck_cluster add column IF NOT EXISTS common_server_domain String after common_server_asn; +ALTER table tsg_galaxy_v3.gtpc_record on cluster ck_query add column IF NOT EXISTS common_server_domain String after common_server_asn; + +ALTER table tsg_galaxy_v3.sys_packet_capture_event_local on cluster ck_cluster add column IF NOT EXISTS common_server_domain String after common_server_asn; +ALTER table tsg_galaxy_v3.sys_packet_capture_event on cluster ck_cluster add column IF NOT EXISTS common_server_domain String after common_server_asn; +ALTER table tsg_galaxy_v3.sys_packet_capture_event on cluster ck_query add column IF NOT EXISTS common_server_domain String after common_server_asn; + + +ALTER table tsg_galaxy_v3.session_record_local on cluster ck_cluster add column IF NOT EXISTS common_server_fqdn String after common_server_asn; +ALTER table tsg_galaxy_v3.session_record on cluster ck_cluster add column IF NOT EXISTS common_server_fqdn String after common_server_asn; +ALTER table tsg_galaxy_v3.session_record on cluster ck_query add column IF NOT EXISTS common_server_fqdn String after common_server_asn; + +ALTER table tsg_galaxy_v3.interim_session_record_local on cluster ck_cluster add column IF NOT EXISTS common_server_fqdn String after common_server_asn; +ALTER table tsg_galaxy_v3.interim_session_record on cluster ck_cluster add column IF NOT EXISTS common_server_fqdn String after common_server_asn; +ALTER table tsg_galaxy_v3.interim_session_record on cluster ck_query add column IF NOT EXISTS common_server_fqdn String after common_server_asn; + +ALTER table tsg_galaxy_v3.transaction_record_local on cluster ck_cluster add column IF NOT EXISTS common_server_fqdn String after common_server_asn; +ALTER table tsg_galaxy_v3.transaction_record on cluster ck_cluster add column IF NOT EXISTS common_server_fqdn String after common_server_asn; +ALTER table tsg_galaxy_v3.transaction_record on cluster ck_query add column IF NOT EXISTS common_server_fqdn String after common_server_asn; + +ALTER table tsg_galaxy_v3.security_event_local on cluster ck_cluster add column IF NOT EXISTS common_server_fqdn String after common_server_asn; +ALTER table tsg_galaxy_v3.security_event on cluster ck_cluster add column IF NOT EXISTS common_server_fqdn String after common_server_asn; +ALTER table tsg_galaxy_v3.security_event on cluster ck_query add column IF NOT EXISTS common_server_fqdn String after common_server_asn; + +ALTER table tsg_galaxy_v3.proxy_event_local on cluster ck_cluster add column IF NOT EXISTS common_server_fqdn String after common_server_asn; +ALTER table tsg_galaxy_v3.proxy_event on cluster ck_cluster add column IF NOT EXISTS common_server_fqdn String after common_server_asn; +ALTER table tsg_galaxy_v3.proxy_event on cluster ck_query add column IF NOT EXISTS common_server_fqdn String after common_server_asn; + +ALTER table tsg_galaxy_v3.radius_record_local on cluster ck_cluster add column IF NOT EXISTS common_server_fqdn String after common_server_asn; +ALTER table tsg_galaxy_v3.radius_record on cluster ck_cluster add column IF NOT EXISTS common_server_fqdn String after common_server_asn; +ALTER table tsg_galaxy_v3.radius_record on cluster ck_query add column IF NOT EXISTS common_server_fqdn String after common_server_asn; + +ALTER table tsg_galaxy_v3.voip_record_local on cluster ck_cluster add column IF NOT EXISTS common_server_fqdn String after common_server_asn; +ALTER table tsg_galaxy_v3.voip_record on cluster ck_cluster add column IF NOT EXISTS common_server_fqdn String after common_server_asn; +ALTER table tsg_galaxy_v3.voip_record on cluster ck_query add column IF NOT EXISTS common_server_fqdn String after common_server_asn; + +ALTER table tsg_galaxy_v3.gtpc_record_local on cluster ck_cluster add column IF NOT EXISTS common_server_fqdn String after common_server_asn; +ALTER table tsg_galaxy_v3.gtpc_record on cluster ck_cluster add column IF NOT EXISTS common_server_fqdn String after common_server_asn; +ALTER table tsg_galaxy_v3.gtpc_record on cluster ck_query add column IF NOT EXISTS common_server_fqdn String after common_server_asn; + +ALTER table tsg_galaxy_v3.sys_packet_capture_event_local on cluster ck_cluster add column IF NOT EXISTS common_server_fqdn String after common_server_asn; +ALTER table tsg_galaxy_v3.sys_packet_capture_event on cluster ck_cluster add column IF NOT EXISTS common_server_fqdn String after common_server_asn; +ALTER table tsg_galaxy_v3.sys_packet_capture_event on cluster ck_query add column IF NOT EXISTS common_server_fqdn String after common_server_asn; + + +CREATE TABLE IF NOT EXISTS tsg_galaxy_v3.session_record_common_server_domain_local ON CLUSTER ck_cluster( + common_log_id UInt64, + common_recv_time Int64, + common_server_ip String, + common_client_ip String, + common_sled_ip String, + common_entrance_id Int64, + common_subscriber_id String, + common_stream_trace_id UInt64, + common_server_domain String, + http_domain String, + ssl_sni String, + common_schema_type LowCardinality(String), + common_vsys_id Int64 DEFAULT 1, + common_client_port Int64, + common_server_port Int64, + common_app_label LowCardinality(String), + common_direction Nullable(Int64), + common_data_center String, + common_device_group String +) +ENGINE=MergeTree PARTITION BY toYYYYMMDD(toDate(common_recv_time)) +ORDER BY (common_server_domain,common_recv_time); + +CREATE TABLE IF NOT EXISTS tsg_galaxy_v3.session_record_common_server_domain ON CLUSTER ck_cluster( + common_log_id UInt64, + common_recv_time Int64, + common_server_ip String, + common_client_ip String, + common_sled_ip String, + common_entrance_id Int64, + common_subscriber_id String, + common_stream_trace_id UInt64, + common_server_domain String, + http_domain String, + ssl_sni String, + common_schema_type LowCardinality(String), + common_vsys_id Int64, + common_client_port Int64, + common_server_port Int64, + common_app_label LowCardinality(String), + common_direction Nullable(Int64), + common_data_center String, + common_device_group String +) ENGINE =Distributed(ck_cluster,tsg_galaxy_v3,session_record_common_server_domain_local,rand()); + +CREATE TABLE IF NOT EXISTS tsg_galaxy_v3.session_record_common_server_domain ON CLUSTER ck_query( + common_log_id UInt64, + common_recv_time Int64, + common_server_ip String, + common_client_ip String, + common_sled_ip String, + common_entrance_id Int64, + common_subscriber_id String, + common_stream_trace_id UInt64, + common_server_domain String, + http_domain String, + ssl_sni String, + common_schema_type LowCardinality(String), + common_vsys_id Int64, + common_client_port Int64, + common_server_port Int64, + common_app_label LowCardinality(String), + common_direction Nullable(Int64), + common_data_center String, + common_device_group String +) ENGINE =Distributed(ck_cluster,tsg_galaxy_v3,session_record_common_server_domain_local,rand()); + + +ALTER table tsg_galaxy_v3.session_record_common_client_ip_local on cluster ck_cluster add column IF NOT EXISTS common_device_group String after common_direction; +ALTER table tsg_galaxy_v3.session_record_common_client_ip on cluster ck_cluster add column IF NOT EXISTS common_device_group String after common_direction; +ALTER table tsg_galaxy_v3.session_record_common_client_ip on cluster ck_query add column IF NOT EXISTS common_device_group String after common_direction; + +ALTER table tsg_galaxy_v3.session_record_common_server_ip_local on cluster ck_cluster add column IF NOT EXISTS common_device_group String after common_direction; +ALTER table tsg_galaxy_v3.session_record_common_server_ip on cluster ck_cluster add column IF NOT EXISTS common_device_group String after common_direction; +ALTER table tsg_galaxy_v3.session_record_common_server_ip on cluster ck_query add column IF NOT EXISTS common_device_group String after common_direction; + +ALTER table tsg_galaxy_v3.session_record_http_domain_local on cluster ck_cluster add column IF NOT EXISTS common_device_group String after common_direction; +ALTER table tsg_galaxy_v3.session_record_http_domain on cluster ck_cluster add column IF NOT EXISTS common_device_group String after common_direction; +ALTER table tsg_galaxy_v3.session_record_http_domain on cluster ck_query add column IF NOT EXISTS common_device_group String after common_direction; + + +ALTER table tsg_galaxy_v3.session_record_common_client_ip_local on cluster ck_cluster add column IF NOT EXISTS common_data_center String after common_direction; +ALTER table tsg_galaxy_v3.session_record_common_client_ip on cluster ck_cluster add column IF NOT EXISTS common_data_center String after common_direction; +ALTER table tsg_galaxy_v3.session_record_common_client_ip on cluster ck_query add column IF NOT EXISTS common_data_center String after common_direction; + +ALTER table tsg_galaxy_v3.session_record_common_server_ip_local on cluster ck_cluster add column IF NOT EXISTS common_data_center String after common_direction; +ALTER table tsg_galaxy_v3.session_record_common_server_ip on cluster ck_cluster add column IF NOT EXISTS common_data_center String after common_direction; +ALTER table tsg_galaxy_v3.session_record_common_server_ip on cluster ck_query add column IF NOT EXISTS common_data_center String after common_direction; + +ALTER table tsg_galaxy_v3.session_record_http_domain_local on cluster ck_cluster add column IF NOT EXISTS common_data_center String after common_direction; +ALTER table tsg_galaxy_v3.session_record_http_domain on cluster ck_cluster add column IF NOT EXISTS common_data_center String after common_direction; +ALTER table tsg_galaxy_v3.session_record_http_domain on cluster ck_query add column IF NOT EXISTS common_data_center String after common_direction; + + +ALTER table tsg_galaxy_v3.session_record_common_client_ip_local on cluster ck_cluster add column IF NOT EXISTS common_server_domain String after common_stream_trace_id; +ALTER table tsg_galaxy_v3.session_record_common_client_ip on cluster ck_cluster add column IF NOT EXISTS common_server_domain String after common_stream_trace_id; +ALTER table tsg_galaxy_v3.session_record_common_client_ip on cluster ck_query add column IF NOT EXISTS common_server_domain String after common_stream_trace_id; + +ALTER table tsg_galaxy_v3.session_record_common_server_ip_local on cluster ck_cluster add column IF NOT EXISTS common_server_domain String after common_stream_trace_id; +ALTER table tsg_galaxy_v3.session_record_common_server_ip on cluster ck_cluster add column IF NOT EXISTS common_server_domain String after common_stream_trace_id; +ALTER table tsg_galaxy_v3.session_record_common_server_ip on cluster ck_query add column IF NOT EXISTS common_server_domain String after common_stream_trace_id; + +ALTER table tsg_galaxy_v3.session_record_http_domain_local on cluster ck_cluster add column IF NOT EXISTS common_server_domain String after common_stream_trace_id; +ALTER table tsg_galaxy_v3.session_record_http_domain on cluster ck_cluster add column IF NOT EXISTS common_server_domain String after common_stream_trace_id; +ALTER table tsg_galaxy_v3.session_record_http_domain on cluster ck_query add column IF NOT EXISTS common_server_domain String after common_stream_trace_id; + + +drop view IF EXISTS tsg_galaxy_v3.common_client_ip ON CLUSTER ck_cluster; +drop view IF EXISTS tsg_galaxy_v3.common_http_domain ON CLUSTER ck_cluster; +drop view IF EXISTS tsg_galaxy_v3.common_server_ip ON CLUSTER ck_cluster; + +CREATE MATERIALIZED VIEW IF NOT EXISTS tsg_galaxy_v3.common_client_ip ON CLUSTER ck_cluster TO tsg_galaxy_v3.session_record_common_client_ip_local AS SELECT common_log_id, common_recv_time, common_server_ip, common_client_ip, common_sled_ip, common_entrance_id, common_subscriber_id, common_stream_trace_id, common_server_domain, http_domain, ssl_sni, common_schema_type, common_vsys_id, common_client_port, common_server_port, common_app_label, common_direction,common_data_center, common_device_group FROM tsg_galaxy_v3.session_record_local; +CREATE MATERIALIZED VIEW IF NOT EXISTS tsg_galaxy_v3.common_http_domain ON CLUSTER ck_cluster TO tsg_galaxy_v3.session_record_http_domain_local AS SELECT common_log_id, common_recv_time, common_server_ip, common_client_ip, common_sled_ip, common_entrance_id, common_subscriber_id, common_stream_trace_id, common_server_domain, http_domain, ssl_sni, common_schema_type, common_vsys_id, common_client_port, common_server_port, common_app_label, common_direction,common_data_center, common_device_group FROM tsg_galaxy_v3.session_record_local; +CREATE MATERIALIZED VIEW IF NOT EXISTS tsg_galaxy_v3.common_server_ip ON CLUSTER ck_cluster TO tsg_galaxy_v3.session_record_common_server_ip_local AS SELECT common_log_id, common_recv_time, common_server_ip, common_client_ip, common_sled_ip, common_entrance_id, common_subscriber_id, common_stream_trace_id, common_server_domain, http_domain, ssl_sni, common_schema_type, common_vsys_id, common_client_port, common_server_port, common_app_label, common_direction,common_data_center, common_device_group FROM tsg_galaxy_v3.session_record_local; +CREATE MATERIALIZED VIEW IF NOT EXISTS tsg_galaxy_v3.common_server_domain ON CLUSTER ck_cluster TO tsg_galaxy_v3.session_record_common_server_domain_local AS SELECT common_log_id, common_recv_time, common_server_ip, common_client_ip, common_sled_ip, common_entrance_id, common_subscriber_id, common_stream_trace_id, common_server_domain, http_domain, ssl_sni, common_schema_type, common_vsys_id, common_client_port, common_server_port, common_app_label, common_direction,common_data_center, common_device_group FROM tsg_galaxy_v3.session_record_local; + +drop table IF EXISTS `system`.query_log_cluster on cluster ck_query; +drop table IF EXISTS `system`.disks_cluster on cluster ck_query; +drop table IF EXISTS `system`.columns_cluster on cluster ck_query; +drop table IF EXISTS `system`.parts_cluster on cluster ck_query; +drop table IF EXISTS `system`.processes_cluster on cluster ck_query; +drop table IF EXISTS `system`.tables_cluster on cluster ck_query; + + +create table IF NOT EXISTS `system`.tables_cluster ON CLUSTER ck_query as `system`.tables ENGINE =Distributed(ck_all,`system`,tables,rand()); +create table IF NOT EXISTS `system`.disks_cluster ON CLUSTER ck_query as `system`.disks ENGINE =Distributed(ck_all,`system`,disks,rand()); +create table IF NOT EXISTS `system`.parts_cluster ON CLUSTER ck_query as `system`.parts ENGINE =Distributed(ck_all,`system`,parts,rand()); +create table IF NOT EXISTS `system`.query_log_cluster ON CLUSTER ck_query as `system`.query_log ENGINE =Distributed(ck_all,`system`,query_log,rand()); +CREATE TABLE IF NOT EXISTS `system`.columns_cluster ON CLUSTER ck_query AS `system`.columns ENGINE=Distributed(ck_all,`system`,columns,rand()); +CREATE TABLE IF NOT EXISTS `system`.processes_cluster ON CLUSTER ck_query AS `system`.processes ENGINE=Distributed(ck_all,`system`,processes,rand()); +alter table system.query_log on cluster ck_cluster modify TTL event_date + INTERVAL 60 DAY; +alter table system.query_log on cluster ck_query modify TTL event_date + INTERVAL 60 DAY; + diff --git a/tsg-olap/parcels/roles/initialization/clickhouse/files/upgrade-sql/update-23.02-ck.sql b/tsg-olap/parcels/roles/initialization/clickhouse/files/upgrade-sql/update-23.02-ck.sql new file mode 100644 index 0000000..042b51f --- /dev/null +++ b/tsg-olap/parcels/roles/initialization/clickhouse/files/upgrade-sql/update-23.02-ck.sql @@ -0,0 +1,110 @@ +set distributed_ddl_task_timeout = 180; + +ALTER table tsg_galaxy_v3.session_record_local on cluster ck_cluster add column IF NOT EXISTS http_request_body_key String after common_flags; +ALTER table tsg_galaxy_v3.session_record on cluster ck_cluster add column IF NOT EXISTS http_request_body_key String after common_flags; +ALTER table tsg_galaxy_v3.session_record on cluster ck_query add column IF NOT EXISTS http_request_body_key String after common_flags; + +ALTER table tsg_galaxy_v3.interim_session_record_local on cluster ck_cluster add column IF NOT EXISTS common_flags_identify_info String after common_flags; +ALTER table tsg_galaxy_v3.interim_session_record on cluster ck_cluster add column IF NOT EXISTS common_flags_identify_info String after common_flags; +ALTER table tsg_galaxy_v3.interim_session_record on cluster ck_query add column IF NOT EXISTS common_flags_identify_info String after common_flags; + + + +ALTER table tsg_galaxy_v3.transaction_record_local on cluster ck_cluster add column IF NOT EXISTS common_flags_identify_info String after common_flags; +ALTER table tsg_galaxy_v3.transaction_record on cluster ck_cluster add column IF NOT EXISTS common_flags_identify_info String after common_flags; +ALTER table tsg_galaxy_v3.transaction_record on cluster ck_query add column IF NOT EXISTS common_flags_identify_info String after common_flags; + + + +ALTER table tsg_galaxy_v3.radius_record_local on cluster ck_cluster add column IF NOT EXISTS common_flags_identify_info String after common_flags; +ALTER table tsg_galaxy_v3.radius_record on cluster ck_cluster add column IF NOT EXISTS common_flags_identify_info String after common_flags; +ALTER table tsg_galaxy_v3.radius_record on cluster ck_query add column IF NOT EXISTS common_flags_identify_info String after common_flags; + + +ALTER table tsg_galaxy_v3.voip_record_local on cluster ck_cluster add column IF NOT EXISTS common_flags_identify_info String after common_flags; +ALTER table tsg_galaxy_v3.voip_record on cluster ck_cluster add column IF NOT EXISTS common_flags_identify_info String after common_flags; +ALTER table tsg_galaxy_v3.voip_record on cluster ck_query add column IF NOT EXISTS common_flags_identify_info String after common_flags; + + +ALTER table tsg_galaxy_v3.gtpc_record_local on cluster ck_cluster add column IF NOT EXISTS common_flags_identify_info String after common_flags; +ALTER table tsg_galaxy_v3.gtpc_record on cluster ck_cluster add column IF NOT EXISTS common_flags_identify_info String after common_flags; +ALTER table tsg_galaxy_v3.gtpc_record on cluster ck_query add column IF NOT EXISTS common_flags_identify_info String after common_flags; + + +ALTER table tsg_galaxy_v3.security_event_local on cluster ck_cluster add column IF NOT EXISTS common_flags_identify_info String after common_flags; +ALTER table tsg_galaxy_v3.security_event on cluster ck_cluster add column IF NOT EXISTS common_flags_identify_info String after common_flags; +ALTER table tsg_galaxy_v3.security_event on cluster ck_query add column IF NOT EXISTS common_flags_identify_info String after common_flags; + + +ALTER table tsg_galaxy_v3.proxy_event_local on cluster ck_cluster add column IF NOT EXISTS common_flags_identify_info String after common_flags; +ALTER table tsg_galaxy_v3.proxy_event on cluster ck_cluster add column IF NOT EXISTS common_flags_identify_info String after common_flags; +ALTER table tsg_galaxy_v3.proxy_event on cluster ck_query add column IF NOT EXISTS common_flags_identify_info String after common_flags; + + + +ALTER table tsg_galaxy_v3.sys_packet_capture_event_local on cluster ck_cluster add column IF NOT EXISTS common_flags_identify_info String after common_flags; +ALTER table tsg_galaxy_v3.sys_packet_capture_event on cluster ck_cluster add column IF NOT EXISTS common_flags_identify_info String after common_flags; +ALTER table tsg_galaxy_v3.sys_packet_capture_event on cluster ck_query add column IF NOT EXISTS common_flags_identify_info String after common_flags; + + +ALTER table tsg_galaxy_v3.session_record_local on cluster ck_cluster add column IF NOT EXISTS common_shaping_rule_ids Array(Int64) after common_user_region; +ALTER table tsg_galaxy_v3.session_record on cluster ck_cluster add column IF NOT EXISTS common_shaping_rule_ids Array(Int64) after common_user_region; +ALTER table tsg_galaxy_v3.session_record on cluster ck_query add column IF NOT EXISTS common_shaping_rule_ids Array(Int64) after common_user_region; + +ALTER table tsg_galaxy_v3.interim_session_record_local on cluster ck_cluster add column IF NOT EXISTS common_shaping_rule_ids Array(Int64) after common_user_region; +ALTER table tsg_galaxy_v3.interim_session_record on cluster ck_cluster add column IF NOT EXISTS common_shaping_rule_ids Array(Int64) after common_user_region; +ALTER table tsg_galaxy_v3.interim_session_record on cluster ck_query add column IF NOT EXISTS common_shaping_rule_ids Array(Int64) after common_user_region; + + + +ALTER table tsg_galaxy_v3.transaction_record_local on cluster ck_cluster add column IF NOT EXISTS common_shaping_rule_ids Array(Int64) after common_user_region; +ALTER table tsg_galaxy_v3.transaction_record on cluster ck_cluster add column IF NOT EXISTS common_shaping_rule_ids Array(Int64) after common_user_region; +ALTER table tsg_galaxy_v3.transaction_record on cluster ck_query add column IF NOT EXISTS common_shaping_rule_ids Array(Int64) after common_user_region; + + + +ALTER table tsg_galaxy_v3.radius_record_local on cluster ck_cluster add column IF NOT EXISTS common_shaping_rule_ids Array(Int64) after common_user_region; +ALTER table tsg_galaxy_v3.radius_record on cluster ck_cluster add column IF NOT EXISTS common_shaping_rule_ids Array(Int64) after common_user_region; +ALTER table tsg_galaxy_v3.radius_record on cluster ck_query add column IF NOT EXISTS common_shaping_rule_ids Array(Int64) after common_user_region; + + +ALTER table tsg_galaxy_v3.voip_record_local on cluster ck_cluster add column IF NOT EXISTS common_shaping_rule_ids Array(Int64) after common_user_region; +ALTER table tsg_galaxy_v3.voip_record on cluster ck_cluster add column IF NOT EXISTS common_shaping_rule_ids Array(Int64) after common_user_region; +ALTER table tsg_galaxy_v3.voip_record on cluster ck_query add column IF NOT EXISTS common_shaping_rule_ids Array(Int64) after common_user_region; + + +ALTER table tsg_galaxy_v3.gtpc_record_local on cluster ck_cluster add column IF NOT EXISTS common_shaping_rule_ids Array(Int64) after common_user_region; +ALTER table tsg_galaxy_v3.gtpc_record on cluster ck_cluster add column IF NOT EXISTS common_shaping_rule_ids Array(Int64) after common_user_region; +ALTER table tsg_galaxy_v3.gtpc_record on cluster ck_query add column IF NOT EXISTS common_shaping_rule_ids Array(Int64) after common_user_region; + + +ALTER table tsg_galaxy_v3.security_event_local on cluster ck_cluster add column IF NOT EXISTS common_shaping_rule_ids Array(Int64) after common_user_region; +ALTER table tsg_galaxy_v3.security_event on cluster ck_cluster add column IF NOT EXISTS common_shaping_rule_ids Array(Int64) after common_user_region; +ALTER table tsg_galaxy_v3.security_event on cluster ck_query add column IF NOT EXISTS common_shaping_rule_ids Array(Int64) after common_user_region; + + +ALTER table tsg_galaxy_v3.proxy_event_local on cluster ck_cluster add column IF NOT EXISTS common_shaping_rule_ids Array(Int64) after common_user_region; +ALTER table tsg_galaxy_v3.proxy_event on cluster ck_cluster add column IF NOT EXISTS common_shaping_rule_ids Array(Int64) after common_user_region; +ALTER table tsg_galaxy_v3.proxy_event on cluster ck_query add column IF NOT EXISTS common_shaping_rule_ids Array(Int64) after common_user_region; + + +ALTER table tsg_galaxy_v3.sys_packet_capture_event_local on cluster ck_cluster add column IF NOT EXISTS common_shaping_rule_ids Array(Int64) after common_user_region; +ALTER table tsg_galaxy_v3.sys_packet_capture_event on cluster ck_cluster add column IF NOT EXISTS common_shaping_rule_ids Array(Int64) after common_user_region; +ALTER table tsg_galaxy_v3.sys_packet_capture_event on cluster ck_query add column IF NOT EXISTS common_shaping_rule_ids Array(Int64) after common_user_region; + + + + + + + + + + + + + + + + + diff --git a/tsg-olap/parcels/roles/initialization/clickhouse/files/upgrade-sql/update-23.03-ck.sql b/tsg-olap/parcels/roles/initialization/clickhouse/files/upgrade-sql/update-23.03-ck.sql new file mode 100644 index 0000000..1d3d958 --- /dev/null +++ b/tsg-olap/parcels/roles/initialization/clickhouse/files/upgrade-sql/update-23.03-ck.sql @@ -0,0 +1,47 @@ +set distributed_ddl_task_timeout = 180; + +alter table system.query_log on cluster ck_cluster modify TTL event_date + INTERVAL 60 DAY; + + +alter table tsg_galaxy_v3.session_record_local on cluster ck_cluster add column IF NOT EXISTS common_insert_time Int64 MATERIALIZED toUnixTimestamp(now()) after common_processing_time; +alter table tsg_galaxy_v3.session_record on cluster ck_cluster add column IF NOT EXISTS common_insert_time Int64  after common_processing_time; +alter table tsg_galaxy_v3.session_record on cluster ck_query add column IF NOT EXISTS common_insert_time Int64  after common_processing_time; + + +alter table tsg_galaxy_v3.interim_session_record_local on cluster ck_cluster add column IF NOT EXISTS common_insert_time Int64 MATERIALIZED toUnixTimestamp(now()) after common_processing_time; +alter table tsg_galaxy_v3.interim_session_record on cluster ck_cluster add column IF NOT EXISTS common_insert_time Int64  after common_processing_time; +alter table tsg_galaxy_v3.interim_session_record on cluster ck_query add column IF NOT EXISTS common_insert_time Int64  after common_processing_time; + + +alter table tsg_galaxy_v3.transaction_record_local on cluster ck_cluster add column IF NOT EXISTS common_insert_time Int64 MATERIALIZED toUnixTimestamp(now()) after common_processing_time; +alter table tsg_galaxy_v3.transaction_record on cluster ck_cluster add column IF NOT EXISTS common_insert_time Int64  after common_processing_time; +alter table tsg_galaxy_v3.transaction_record on cluster ck_query add column IF NOT EXISTS common_insert_time Int64  after common_processing_time; + +alter table tsg_galaxy_v3.radius_record_local on cluster ck_cluster add column IF NOT EXISTS common_insert_time Int64 MATERIALIZED toUnixTimestamp(now()) after common_processing_time; +alter table tsg_galaxy_v3.radius_record on cluster ck_cluster add column IF NOT EXISTS common_insert_time Int64  after common_processing_time; +alter table tsg_galaxy_v3.radius_record on cluster ck_query add column IF NOT EXISTS common_insert_time Int64  after common_processing_time; + +alter table tsg_galaxy_v3.voip_record_local on cluster ck_cluster add column IF NOT EXISTS common_insert_time Int64 MATERIALIZED toUnixTimestamp(now()) after common_processing_time; +alter table tsg_galaxy_v3.voip_record on cluster ck_cluster add column IF NOT EXISTS common_insert_time Int64  after common_processing_time; +alter table tsg_galaxy_v3.voip_record on cluster ck_query add column IF NOT EXISTS common_insert_time Int64  after common_processing_time; + +alter table tsg_galaxy_v3.gtpc_record_local on cluster ck_cluster add column IF NOT EXISTS common_insert_time Int64 MATERIALIZED toUnixTimestamp(now()) after common_processing_time; +alter table tsg_galaxy_v3.gtpc_record on cluster ck_cluster add column IF NOT EXISTS common_insert_time Int64  after common_processing_time; +alter table tsg_galaxy_v3.gtpc_record on cluster ck_query add column IF NOT EXISTS common_insert_time Int64  after common_processing_time; + +alter table tsg_galaxy_v3.security_event_local on cluster ck_cluster add column IF NOT EXISTS common_insert_time Int64 MATERIALIZED toUnixTimestamp(now()) after common_processing_time; +alter table tsg_galaxy_v3.security_event on cluster ck_cluster add column IF NOT EXISTS common_insert_time Int64  after common_processing_time; +alter table tsg_galaxy_v3.security_event on cluster ck_query add column IF NOT EXISTS common_insert_time Int64  after common_processing_time; + +alter table tsg_galaxy_v3.proxy_event_local on cluster ck_cluster add column IF NOT EXISTS common_insert_time Int64 MATERIALIZED toUnixTimestamp(now()) after common_processing_time; +alter table tsg_galaxy_v3.proxy_event on cluster ck_cluster add column IF NOT EXISTS common_insert_time Int64  after common_processing_time; +alter table tsg_galaxy_v3.proxy_event on cluster ck_query add column IF NOT EXISTS common_insert_time Int64  after common_processing_time; + +alter table tsg_galaxy_v3.sys_packet_capture_event_local on cluster ck_cluster add column IF NOT EXISTS common_insert_time Int64 MATERIALIZED toUnixTimestamp(now()) after common_processing_time; +alter table tsg_galaxy_v3.sys_packet_capture_event on cluster ck_cluster add column IF NOT EXISTS common_insert_time Int64  after common_processing_time; +alter table tsg_galaxy_v3.sys_packet_capture_event on cluster ck_query add column IF NOT EXISTS common_insert_time Int64  after common_processing_time; + + + + + diff --git a/tsg-olap/parcels/roles/initialization/clickhouse/files/upgrade-sql/update-23.04-ck.sql b/tsg-olap/parcels/roles/initialization/clickhouse/files/upgrade-sql/update-23.04-ck.sql new file mode 100644 index 0000000..0e50ac4 --- /dev/null +++ b/tsg-olap/parcels/roles/initialization/clickhouse/files/upgrade-sql/update-23.04-ck.sql @@ -0,0 +1,6 @@ +set distributed_ddl_task_timeout = 180; + + +ALTER table tsg_galaxy_v3.dos_event_local on cluster ck_cluster add column IF NOT EXISTS profile_id UInt64 after log_id; +ALTER table tsg_galaxy_v3.dos_event on cluster ck_cluster add column IF NOT EXISTS profile_id UInt64 after log_id; +ALTER table tsg_galaxy_v3.dos_event on cluster ck_query add column IF NOT EXISTS profile_id UInt64 after log_id; \ No newline at end of file diff --git a/tsg-olap/parcels/roles/initialization/clickhouse/files/upgrade-sql/update-23.05-ck.sql b/tsg-olap/parcels/roles/initialization/clickhouse/files/upgrade-sql/update-23.05-ck.sql new file mode 100644 index 0000000..769c47e --- /dev/null +++ b/tsg-olap/parcels/roles/initialization/clickhouse/files/upgrade-sql/update-23.05-ck.sql @@ -0,0 +1,11 @@ +set distributed_ddl_task_timeout = 180; + + +ALTER table tsg_galaxy_v3.proxy_event_local on cluster ck_cluster add column IF NOT EXISTS intercept_error String after rdp_cookie,add column IF NOT EXISTS intercept_cert_verify Nullable(Int64) after rdp_cookie,add column IF NOT EXISTS intercept_client_side_version String after rdp_cookie,add column IF NOT EXISTS intercept_server_side_version String after rdp_cookie,add column IF NOT EXISTS intercept_client_side_latency Nullable(Int64) after rdp_cookie,add column IF NOT EXISTS intercept_server_side_latency Nullable(Int64) after rdp_cookie,add column IF NOT EXISTS intercept_passthrough_reason String after rdp_cookie,add column IF NOT EXISTS intercept_status Nullable(Int64) after rdp_cookie,add column IF NOT EXISTS intercept_pinning_status Nullable(Int64) after rdp_cookie,add column IF NOT EXISTS ssl_cert_subject String after rdp_cookie,add column IF NOT EXISTS ssl_cert_issuer String after rdp_cookie,add column IF NOT EXISTS ssl_ja3s_hash String after rdp_cookie,add column IF NOT EXISTS ssl_ja3s_fingerprint String after rdp_cookie,add column IF NOT EXISTS ssl_ja3_hash String after rdp_cookie,add column IF NOT EXISTS ssl_ja3_fingerprint String after rdp_cookie,add column IF NOT EXISTS ssl_con_latency_ms Int64 after rdp_cookie,add column IF NOT EXISTS ssl_cn String after rdp_cookie,add column IF NOT EXISTS ssl_san String after rdp_cookie,add column IF NOT EXISTS ssl_sni String after rdp_cookie,add column IF NOT EXISTS ssl_version String after rdp_cookie; +ALTER table tsg_galaxy_v3.proxy_event on cluster ck_cluster add column IF NOT EXISTS intercept_error String after rdp_cookie,add column IF NOT EXISTS intercept_cert_verify Nullable(Int64) after rdp_cookie,add column IF NOT EXISTS intercept_client_side_version String after rdp_cookie,add column IF NOT EXISTS intercept_server_side_version String after rdp_cookie,add column IF NOT EXISTS intercept_client_side_latency Nullable(Int64) after rdp_cookie,add column IF NOT EXISTS intercept_server_side_latency Nullable(Int64) after rdp_cookie,add column IF NOT EXISTS intercept_passthrough_reason String after rdp_cookie,add column IF NOT EXISTS intercept_status Nullable(Int64) after rdp_cookie,add column IF NOT EXISTS intercept_pinning_status Nullable(Int64) after rdp_cookie,add column IF NOT EXISTS ssl_cert_subject String after rdp_cookie,add column IF NOT EXISTS ssl_cert_issuer String after rdp_cookie,add column IF NOT EXISTS ssl_ja3s_hash String after rdp_cookie,add column IF NOT EXISTS ssl_ja3s_fingerprint String after rdp_cookie,add column IF NOT EXISTS ssl_ja3_hash String after rdp_cookie,add column IF NOT EXISTS ssl_ja3_fingerprint String after rdp_cookie,add column IF NOT EXISTS ssl_con_latency_ms Int64 after rdp_cookie,add column IF NOT EXISTS ssl_cn String after rdp_cookie,add column IF NOT EXISTS ssl_san String after rdp_cookie,add column IF NOT EXISTS ssl_sni String after rdp_cookie,add column IF NOT EXISTS ssl_version String after rdp_cookie; +ALTER table tsg_galaxy_v3.proxy_event on cluster ck_query add column IF NOT EXISTS intercept_error String after rdp_cookie,add column IF NOT EXISTS intercept_cert_verify Nullable(Int64) after rdp_cookie,add column IF NOT EXISTS intercept_client_side_version String after rdp_cookie,add column IF NOT EXISTS intercept_server_side_version String after rdp_cookie,add column IF NOT EXISTS intercept_client_side_latency Nullable(Int64) after rdp_cookie,add column IF NOT EXISTS intercept_server_side_latency Nullable(Int64) after rdp_cookie,add column IF NOT EXISTS intercept_passthrough_reason String after rdp_cookie,add column IF NOT EXISTS intercept_status Nullable(Int64) after rdp_cookie,add column IF NOT EXISTS intercept_pinning_status Nullable(Int64) after rdp_cookie,add column IF NOT EXISTS ssl_cert_subject String after rdp_cookie,add column IF NOT EXISTS ssl_cert_issuer String after rdp_cookie,add column IF NOT EXISTS ssl_ja3s_hash String after rdp_cookie,add column IF NOT EXISTS ssl_ja3s_fingerprint String after rdp_cookie,add column IF NOT EXISTS ssl_ja3_hash String after rdp_cookie,add column IF NOT EXISTS ssl_ja3_fingerprint String after rdp_cookie,add column IF NOT EXISTS ssl_con_latency_ms Int64 after rdp_cookie,add column IF NOT EXISTS ssl_cn String after rdp_cookie,add column IF NOT EXISTS ssl_san String after rdp_cookie,add column IF NOT EXISTS ssl_sni String after rdp_cookie,add column IF NOT EXISTS ssl_version String after rdp_cookie; + + +ALTER TABLE tsg_galaxy_v3.proxy_event_local on cluster ck_cluster DROP COLUMN IF EXISTS rdp_encryption_method, DROP COLUMN IF EXISTS rdp_encryption_level, DROP COLUMN IF EXISTS rdp_certificate_permanent, DROP COLUMN IF EXISTS rdp_certificate_count, DROP COLUMN IF EXISTS rdp_certificate_type, DROP COLUMN IF EXISTS rdp_requested_color_depth, DROP COLUMN IF EXISTS rdp_desktop_height, DROP COLUMN IF EXISTS rdp_desktop_width, DROP COLUMN IF EXISTS rdp_client_product_id, DROP COLUMN IF EXISTS rdp_client_name, DROP COLUMN IF EXISTS rdp_client_version, DROP COLUMN IF EXISTS rdp_keyboard_layout, DROP COLUMN IF EXISTS rdp_client_channels, DROP COLUMN IF EXISTS rdp_security_protocol, DROP COLUMN IF EXISTS rdp_cookie; +ALTER TABLE tsg_galaxy_v3.proxy_event on cluster ck_cluster DROP COLUMN IF EXISTS rdp_encryption_method, DROP COLUMN IF EXISTS rdp_encryption_level, DROP COLUMN IF EXISTS rdp_certificate_permanent, DROP COLUMN IF EXISTS rdp_certificate_count, DROP COLUMN IF EXISTS rdp_certificate_type, DROP COLUMN IF EXISTS rdp_requested_color_depth, DROP COLUMN IF EXISTS rdp_desktop_height, DROP COLUMN IF EXISTS rdp_desktop_width, DROP COLUMN IF EXISTS rdp_client_product_id, DROP COLUMN IF EXISTS rdp_client_name, DROP COLUMN IF EXISTS rdp_client_version, DROP COLUMN IF EXISTS rdp_keyboard_layout, DROP COLUMN IF EXISTS rdp_client_channels, DROP COLUMN IF EXISTS rdp_security_protocol, DROP COLUMN IF EXISTS rdp_cookie; +ALTER TABLE tsg_galaxy_v3.proxy_event on cluster ck_query DROP COLUMN IF EXISTS rdp_encryption_method, DROP COLUMN IF EXISTS rdp_encryption_level, DROP COLUMN IF EXISTS rdp_certificate_permanent, DROP COLUMN IF EXISTS rdp_certificate_count, DROP COLUMN IF EXISTS rdp_certificate_type, DROP COLUMN IF EXISTS rdp_requested_color_depth, DROP COLUMN IF EXISTS rdp_desktop_height, DROP COLUMN IF EXISTS rdp_desktop_width, DROP COLUMN IF EXISTS rdp_client_product_id, DROP COLUMN IF EXISTS rdp_client_name, DROP COLUMN IF EXISTS rdp_client_version, DROP COLUMN IF EXISTS rdp_keyboard_layout, DROP COLUMN IF EXISTS rdp_client_channels, DROP COLUMN IF EXISTS rdp_security_protocol, DROP COLUMN IF EXISTS rdp_cookie; diff --git a/tsg-olap/parcels/roles/initialization/clickhouse/files/upgrade-sql/update-23.06-ck.sql b/tsg-olap/parcels/roles/initialization/clickhouse/files/upgrade-sql/update-23.06-ck.sql new file mode 100644 index 0000000..11c06a8 --- /dev/null +++ b/tsg-olap/parcels/roles/initialization/clickhouse/files/upgrade-sql/update-23.06-ck.sql @@ -0,0 +1,159 @@ +set distributed_ddl_task_timeout = 180; + + +ALTER table tsg_galaxy_v3.proxy_event_local on cluster ck_cluster add column IF NOT EXISTS intercept_error String after rdp_cookie,add column IF NOT EXISTS intercept_cert_verify Nullable(Int64) after rdp_cookie,add column IF NOT EXISTS intercept_client_side_version String after rdp_cookie,add column IF NOT EXISTS intercept_server_side_version String after rdp_cookie,add column IF NOT EXISTS intercept_client_side_latency Nullable(Int64) after rdp_cookie,add column IF NOT EXISTS intercept_server_side_latency Nullable(Int64) after rdp_cookie,add column IF NOT EXISTS intercept_passthrough_reason String after rdp_cookie,add column IF NOT EXISTS intercept_status Nullable(Int64) after rdp_cookie,add column IF NOT EXISTS intercept_pinning_status Nullable(Int64) after rdp_cookie,add column IF NOT EXISTS ssl_cert_subject String after rdp_cookie,add column IF NOT EXISTS ssl_cert_issuer String after rdp_cookie,add column IF NOT EXISTS ssl_ja3s_hash String after rdp_cookie,add column IF NOT EXISTS ssl_ja3s_fingerprint String after rdp_cookie,add column IF NOT EXISTS ssl_ja3_hash String after rdp_cookie,add column IF NOT EXISTS ssl_ja3_fingerprint String after rdp_cookie,add column IF NOT EXISTS ssl_con_latency_ms Int64 after rdp_cookie,add column IF NOT EXISTS ssl_cn String after rdp_cookie,add column IF NOT EXISTS ssl_san String after rdp_cookie,add column IF NOT EXISTS ssl_sni String after rdp_cookie,add column IF NOT EXISTS ssl_version String after rdp_cookie; +ALTER table tsg_galaxy_v3.proxy_event on cluster ck_cluster add column IF NOT EXISTS intercept_error String after rdp_cookie,add column IF NOT EXISTS intercept_cert_verify Nullable(Int64) after rdp_cookie,add column IF NOT EXISTS intercept_client_side_version String after rdp_cookie,add column IF NOT EXISTS intercept_server_side_version String after rdp_cookie,add column IF NOT EXISTS intercept_client_side_latency Nullable(Int64) after rdp_cookie,add column IF NOT EXISTS intercept_server_side_latency Nullable(Int64) after rdp_cookie,add column IF NOT EXISTS intercept_passthrough_reason String after rdp_cookie,add column IF NOT EXISTS intercept_status Nullable(Int64) after rdp_cookie,add column IF NOT EXISTS intercept_pinning_status Nullable(Int64) after rdp_cookie,add column IF NOT EXISTS ssl_cert_subject String after rdp_cookie,add column IF NOT EXISTS ssl_cert_issuer String after rdp_cookie,add column IF NOT EXISTS ssl_ja3s_hash String after rdp_cookie,add column IF NOT EXISTS ssl_ja3s_fingerprint String after rdp_cookie,add column IF NOT EXISTS ssl_ja3_hash String after rdp_cookie,add column IF NOT EXISTS ssl_ja3_fingerprint String after rdp_cookie,add column IF NOT EXISTS ssl_con_latency_ms Int64 after rdp_cookie,add column IF NOT EXISTS ssl_cn String after rdp_cookie,add column IF NOT EXISTS ssl_san String after rdp_cookie,add column IF NOT EXISTS ssl_sni String after rdp_cookie,add column IF NOT EXISTS ssl_version String after rdp_cookie; +ALTER table tsg_galaxy_v3.proxy_event on cluster ck_query add column IF NOT EXISTS intercept_error String after rdp_cookie,add column IF NOT EXISTS intercept_cert_verify Nullable(Int64) after rdp_cookie,add column IF NOT EXISTS intercept_client_side_version String after rdp_cookie,add column IF NOT EXISTS intercept_server_side_version String after rdp_cookie,add column IF NOT EXISTS intercept_client_side_latency Nullable(Int64) after rdp_cookie,add column IF NOT EXISTS intercept_server_side_latency Nullable(Int64) after rdp_cookie,add column IF NOT EXISTS intercept_passthrough_reason String after rdp_cookie,add column IF NOT EXISTS intercept_status Nullable(Int64) after rdp_cookie,add column IF NOT EXISTS intercept_pinning_status Nullable(Int64) after rdp_cookie,add column IF NOT EXISTS ssl_cert_subject String after rdp_cookie,add column IF NOT EXISTS ssl_cert_issuer String after rdp_cookie,add column IF NOT EXISTS ssl_ja3s_hash String after rdp_cookie,add column IF NOT EXISTS ssl_ja3s_fingerprint String after rdp_cookie,add column IF NOT EXISTS ssl_ja3_hash String after rdp_cookie,add column IF NOT EXISTS ssl_ja3_fingerprint String after rdp_cookie,add column IF NOT EXISTS ssl_con_latency_ms Int64 after rdp_cookie,add column IF NOT EXISTS ssl_cn String after rdp_cookie,add column IF NOT EXISTS ssl_san String after rdp_cookie,add column IF NOT EXISTS ssl_sni String after rdp_cookie,add column IF NOT EXISTS ssl_version String after rdp_cookie; + + +ALTER TABLE tsg_galaxy_v3.proxy_event_local on cluster ck_cluster DROP COLUMN IF EXISTS rdp_encryption_method, DROP COLUMN IF EXISTS rdp_encryption_level, DROP COLUMN IF EXISTS rdp_certificate_permanent, DROP COLUMN IF EXISTS rdp_certificate_count, DROP COLUMN IF EXISTS rdp_certificate_type, DROP COLUMN IF EXISTS rdp_requested_color_depth, DROP COLUMN IF EXISTS rdp_desktop_height, DROP COLUMN IF EXISTS rdp_desktop_width, DROP COLUMN IF EXISTS rdp_client_product_id, DROP COLUMN IF EXISTS rdp_client_name, DROP COLUMN IF EXISTS rdp_client_version, DROP COLUMN IF EXISTS rdp_keyboard_layout, DROP COLUMN IF EXISTS rdp_client_channels, DROP COLUMN IF EXISTS rdp_security_protocol, DROP COLUMN IF EXISTS rdp_cookie; +ALTER TABLE tsg_galaxy_v3.proxy_event on cluster ck_cluster DROP COLUMN IF EXISTS rdp_encryption_method, DROP COLUMN IF EXISTS rdp_encryption_level, DROP COLUMN IF EXISTS rdp_certificate_permanent, DROP COLUMN IF EXISTS rdp_certificate_count, DROP COLUMN IF EXISTS rdp_certificate_type, DROP COLUMN IF EXISTS rdp_requested_color_depth, DROP COLUMN IF EXISTS rdp_desktop_height, DROP COLUMN IF EXISTS rdp_desktop_width, DROP COLUMN IF EXISTS rdp_client_product_id, DROP COLUMN IF EXISTS rdp_client_name, DROP COLUMN IF EXISTS rdp_client_version, DROP COLUMN IF EXISTS rdp_keyboard_layout, DROP COLUMN IF EXISTS rdp_client_channels, DROP COLUMN IF EXISTS rdp_security_protocol, DROP COLUMN IF EXISTS rdp_cookie; +ALTER TABLE tsg_galaxy_v3.proxy_event on cluster ck_query DROP COLUMN IF EXISTS rdp_encryption_method, DROP COLUMN IF EXISTS rdp_encryption_level, DROP COLUMN IF EXISTS rdp_certificate_permanent, DROP COLUMN IF EXISTS rdp_certificate_count, DROP COLUMN IF EXISTS rdp_certificate_type, DROP COLUMN IF EXISTS rdp_requested_color_depth, DROP COLUMN IF EXISTS rdp_desktop_height, DROP COLUMN IF EXISTS rdp_desktop_width, DROP COLUMN IF EXISTS rdp_client_product_id, DROP COLUMN IF EXISTS rdp_client_name, DROP COLUMN IF EXISTS rdp_client_version, DROP COLUMN IF EXISTS rdp_keyboard_layout, DROP COLUMN IF EXISTS rdp_client_channels, DROP COLUMN IF EXISTS rdp_security_protocol, DROP COLUMN IF EXISTS rdp_cookie; + + +ALTER table tsg_galaxy_v3.session_record_local on cluster ck_cluster add column IF NOT EXISTS common_out_dest_mac String after common_server_domain; +ALTER table tsg_galaxy_v3.session_record on cluster ck_cluster add column IF NOT EXISTS common_out_dest_mac String after common_server_domain; +ALTER table tsg_galaxy_v3.session_record on cluster ck_query add column IF NOT EXISTS common_out_dest_mac String after common_server_domain; + +ALTER table tsg_galaxy_v3.interim_session_record_local on cluster ck_cluster add column IF NOT EXISTS common_out_dest_mac String after common_server_domain; +ALTER table tsg_galaxy_v3.interim_session_record on cluster ck_cluster add column IF NOT EXISTS common_out_dest_mac String after common_server_domain; +ALTER table tsg_galaxy_v3.interim_session_record on cluster ck_query add column IF NOT EXISTS common_out_dest_mac String after common_server_domain; + +ALTER table tsg_galaxy_v3.security_event_local on cluster ck_cluster add column IF NOT EXISTS common_out_dest_mac String after common_server_domain; +ALTER table tsg_galaxy_v3.security_event on cluster ck_cluster add column IF NOT EXISTS common_out_dest_mac String after common_server_domain; +ALTER table tsg_galaxy_v3.security_event on cluster ck_query add column IF NOT EXISTS common_out_dest_mac String after common_server_domain; + +ALTER table tsg_galaxy_v3.proxy_event_local on cluster ck_cluster add column IF NOT EXISTS common_out_dest_mac String after common_server_domain; +ALTER table tsg_galaxy_v3.proxy_event on cluster ck_cluster add column IF NOT EXISTS common_out_dest_mac String after common_server_domain; +ALTER table tsg_galaxy_v3.proxy_event on cluster ck_query add column IF NOT EXISTS common_out_dest_mac String after common_server_domain; + +ALTER table tsg_galaxy_v3.transaction_record_local on cluster ck_cluster add column IF NOT EXISTS common_out_dest_mac String after common_server_domain; +ALTER table tsg_galaxy_v3.transaction_record on cluster ck_cluster add column IF NOT EXISTS common_out_dest_mac String after common_server_domain; +ALTER table tsg_galaxy_v3.transaction_record on cluster ck_query add column IF NOT EXISTS common_out_dest_mac String after common_server_domain; + +ALTER table tsg_galaxy_v3.sys_packet_capture_event_local on cluster ck_cluster add column IF NOT EXISTS common_out_dest_mac String after common_server_domain; +ALTER table tsg_galaxy_v3.sys_packet_capture_event on cluster ck_cluster add column IF NOT EXISTS common_out_dest_mac String after common_server_domain; +ALTER table tsg_galaxy_v3.sys_packet_capture_event on cluster ck_query add column IF NOT EXISTS common_out_dest_mac String after common_server_domain; + +ALTER table tsg_galaxy_v3.radius_record_local on cluster ck_cluster add column IF NOT EXISTS common_out_dest_mac String after common_server_domain; +ALTER table tsg_galaxy_v3.radius_record on cluster ck_cluster add column IF NOT EXISTS common_out_dest_mac String after common_server_domain; +ALTER table tsg_galaxy_v3.radius_record on cluster ck_query add column IF NOT EXISTS common_out_dest_mac String after common_server_domain; + +ALTER table tsg_galaxy_v3.gtpc_record_local on cluster ck_cluster add column IF NOT EXISTS common_out_dest_mac String after common_server_domain; +ALTER table tsg_galaxy_v3.gtpc_record on cluster ck_cluster add column IF NOT EXISTS common_out_dest_mac String after common_server_domain; +ALTER table tsg_galaxy_v3.gtpc_record on cluster ck_query add column IF NOT EXISTS common_out_dest_mac String after common_server_domain; + +ALTER table tsg_galaxy_v3.voip_record_local on cluster ck_cluster add column IF NOT EXISTS common_out_dest_mac String after common_server_domain; +ALTER table tsg_galaxy_v3.voip_record on cluster ck_cluster add column IF NOT EXISTS common_out_dest_mac String after common_server_domain; +ALTER table tsg_galaxy_v3.voip_record on cluster ck_query add column IF NOT EXISTS common_out_dest_mac String after common_server_domain; + + +ALTER table tsg_galaxy_v3.session_record_local on cluster ck_cluster add column IF NOT EXISTS common_in_dest_mac String after common_server_domain; +ALTER table tsg_galaxy_v3.session_record on cluster ck_cluster add column IF NOT EXISTS common_in_dest_mac String after common_server_domain; +ALTER table tsg_galaxy_v3.session_record on cluster ck_query add column IF NOT EXISTS common_in_dest_mac String after common_server_domain; + +ALTER table tsg_galaxy_v3.interim_session_record_local on cluster ck_cluster add column IF NOT EXISTS common_in_dest_mac String after common_server_domain; +ALTER table tsg_galaxy_v3.interim_session_record on cluster ck_cluster add column IF NOT EXISTS common_in_dest_mac String after common_server_domain; +ALTER table tsg_galaxy_v3.interim_session_record on cluster ck_query add column IF NOT EXISTS common_in_dest_mac String after common_server_domain; + +ALTER table tsg_galaxy_v3.security_event_local on cluster ck_cluster add column IF NOT EXISTS common_in_dest_mac String after common_server_domain; +ALTER table tsg_galaxy_v3.security_event on cluster ck_cluster add column IF NOT EXISTS common_in_dest_mac String after common_server_domain; +ALTER table tsg_galaxy_v3.security_event on cluster ck_query add column IF NOT EXISTS common_in_dest_mac String after common_server_domain; + +ALTER table tsg_galaxy_v3.proxy_event_local on cluster ck_cluster add column IF NOT EXISTS common_in_dest_mac String after common_server_domain; +ALTER table tsg_galaxy_v3.proxy_event on cluster ck_cluster add column IF NOT EXISTS common_in_dest_mac String after common_server_domain; +ALTER table tsg_galaxy_v3.proxy_event on cluster ck_query add column IF NOT EXISTS common_in_dest_mac String after common_server_domain; + +ALTER table tsg_galaxy_v3.transaction_record_local on cluster ck_cluster add column IF NOT EXISTS common_in_dest_mac String after common_server_domain; +ALTER table tsg_galaxy_v3.transaction_record on cluster ck_cluster add column IF NOT EXISTS common_in_dest_mac String after common_server_domain; +ALTER table tsg_galaxy_v3.transaction_record on cluster ck_query add column IF NOT EXISTS common_in_dest_mac String after common_server_domain; + +ALTER table tsg_galaxy_v3.sys_packet_capture_event_local on cluster ck_cluster add column IF NOT EXISTS common_in_dest_mac String after common_server_domain; +ALTER table tsg_galaxy_v3.sys_packet_capture_event on cluster ck_cluster add column IF NOT EXISTS common_in_dest_mac String after common_server_domain; +ALTER table tsg_galaxy_v3.sys_packet_capture_event on cluster ck_query add column IF NOT EXISTS common_in_dest_mac String after common_server_domain; + +ALTER table tsg_galaxy_v3.radius_record_local on cluster ck_cluster add column IF NOT EXISTS common_in_dest_mac String after common_server_domain; +ALTER table tsg_galaxy_v3.radius_record on cluster ck_cluster add column IF NOT EXISTS common_in_dest_mac String after common_server_domain; +ALTER table tsg_galaxy_v3.radius_record on cluster ck_query add column IF NOT EXISTS common_in_dest_mac String after common_server_domain; + +ALTER table tsg_galaxy_v3.gtpc_record_local on cluster ck_cluster add column IF NOT EXISTS common_in_dest_mac String after common_server_domain; +ALTER table tsg_galaxy_v3.gtpc_record on cluster ck_cluster add column IF NOT EXISTS common_in_dest_mac String after common_server_domain; +ALTER table tsg_galaxy_v3.gtpc_record on cluster ck_query add column IF NOT EXISTS common_in_dest_mac String after common_server_domain; + +ALTER table tsg_galaxy_v3.voip_record_local on cluster ck_cluster add column IF NOT EXISTS common_in_dest_mac String after common_server_domain; +ALTER table tsg_galaxy_v3.voip_record on cluster ck_cluster add column IF NOT EXISTS common_in_dest_mac String after common_server_domain; +ALTER table tsg_galaxy_v3.voip_record on cluster ck_query add column IF NOT EXISTS common_in_dest_mac String after common_server_domain; + + +ALTER table tsg_galaxy_v3.session_record_local on cluster ck_cluster add column IF NOT EXISTS common_out_src_mac String after common_phone_number; +ALTER table tsg_galaxy_v3.session_record on cluster ck_cluster add column IF NOT EXISTS common_out_src_mac String after common_phone_number; +ALTER table tsg_galaxy_v3.session_record on cluster ck_query add column IF NOT EXISTS common_out_src_mac String after common_phone_number; + +ALTER table tsg_galaxy_v3.interim_session_record_local on cluster ck_cluster add column IF NOT EXISTS common_out_src_mac String after common_phone_number; +ALTER table tsg_galaxy_v3.interim_session_record on cluster ck_cluster add column IF NOT EXISTS common_out_src_mac String after common_phone_number; +ALTER table tsg_galaxy_v3.interim_session_record on cluster ck_query add column IF NOT EXISTS common_out_src_mac String after common_phone_number; + +ALTER table tsg_galaxy_v3.security_event_local on cluster ck_cluster add column IF NOT EXISTS common_out_src_mac String after common_phone_number; +ALTER table tsg_galaxy_v3.security_event on cluster ck_cluster add column IF NOT EXISTS common_out_src_mac String after common_phone_number; +ALTER table tsg_galaxy_v3.security_event on cluster ck_query add column IF NOT EXISTS common_out_src_mac String after common_phone_number; + +ALTER table tsg_galaxy_v3.proxy_event_local on cluster ck_cluster add column IF NOT EXISTS common_out_src_mac String after common_phone_number; +ALTER table tsg_galaxy_v3.proxy_event on cluster ck_cluster add column IF NOT EXISTS common_out_src_mac String after common_phone_number; +ALTER table tsg_galaxy_v3.proxy_event on cluster ck_query add column IF NOT EXISTS common_out_src_mac String after common_phone_number; + +ALTER table tsg_galaxy_v3.transaction_record_local on cluster ck_cluster add column IF NOT EXISTS common_out_src_mac String after common_phone_number; +ALTER table tsg_galaxy_v3.transaction_record on cluster ck_cluster add column IF NOT EXISTS common_out_src_mac String after common_phone_number; +ALTER table tsg_galaxy_v3.transaction_record on cluster ck_query add column IF NOT EXISTS common_out_src_mac String after common_phone_number; + +ALTER table tsg_galaxy_v3.sys_packet_capture_event_local on cluster ck_cluster add column IF NOT EXISTS common_out_src_mac String after common_phone_number; +ALTER table tsg_galaxy_v3.sys_packet_capture_event on cluster ck_cluster add column IF NOT EXISTS common_out_src_mac String after common_phone_number; +ALTER table tsg_galaxy_v3.sys_packet_capture_event on cluster ck_query add column IF NOT EXISTS common_out_src_mac String after common_phone_number; + +ALTER table tsg_galaxy_v3.radius_record_local on cluster ck_cluster add column IF NOT EXISTS common_out_src_mac String after common_phone_number; +ALTER table tsg_galaxy_v3.radius_record on cluster ck_cluster add column IF NOT EXISTS common_out_src_mac String after common_phone_number; +ALTER table tsg_galaxy_v3.radius_record on cluster ck_query add column IF NOT EXISTS common_out_src_mac String after common_phone_number; + +ALTER table tsg_galaxy_v3.gtpc_record_local on cluster ck_cluster add column IF NOT EXISTS common_out_src_mac String after common_phone_number; +ALTER table tsg_galaxy_v3.gtpc_record on cluster ck_cluster add column IF NOT EXISTS common_out_src_mac String after common_phone_number; +ALTER table tsg_galaxy_v3.gtpc_record on cluster ck_query add column IF NOT EXISTS common_out_src_mac String after common_phone_number; + +ALTER table tsg_galaxy_v3.voip_record_local on cluster ck_cluster add column IF NOT EXISTS common_out_src_mac String after common_phone_number; +ALTER table tsg_galaxy_v3.voip_record on cluster ck_cluster add column IF NOT EXISTS common_out_src_mac String after common_phone_number; +ALTER table tsg_galaxy_v3.voip_record on cluster ck_query add column IF NOT EXISTS common_out_src_mac String after common_phone_number; + + +ALTER table tsg_galaxy_v3.session_record_local on cluster ck_cluster add column IF NOT EXISTS common_in_src_mac String after common_phone_number; +ALTER table tsg_galaxy_v3.session_record on cluster ck_cluster add column IF NOT EXISTS common_in_src_mac String after common_phone_number; +ALTER table tsg_galaxy_v3.session_record on cluster ck_query add column IF NOT EXISTS common_in_src_mac String after common_phone_number; + +ALTER table tsg_galaxy_v3.interim_session_record_local on cluster ck_cluster add column IF NOT EXISTS common_in_src_mac String after common_phone_number; +ALTER table tsg_galaxy_v3.interim_session_record on cluster ck_cluster add column IF NOT EXISTS common_in_src_mac String after common_phone_number; +ALTER table tsg_galaxy_v3.interim_session_record on cluster ck_query add column IF NOT EXISTS common_in_src_mac String after common_phone_number; + +ALTER table tsg_galaxy_v3.security_event_local on cluster ck_cluster add column IF NOT EXISTS common_in_src_mac String after common_phone_number; +ALTER table tsg_galaxy_v3.security_event on cluster ck_cluster add column IF NOT EXISTS common_in_src_mac String after common_phone_number; +ALTER table tsg_galaxy_v3.security_event on cluster ck_query add column IF NOT EXISTS common_in_src_mac String after common_phone_number; + +ALTER table tsg_galaxy_v3.proxy_event_local on cluster ck_cluster add column IF NOT EXISTS common_in_src_mac String after common_phone_number; +ALTER table tsg_galaxy_v3.proxy_event on cluster ck_cluster add column IF NOT EXISTS common_in_src_mac String after common_phone_number; +ALTER table tsg_galaxy_v3.proxy_event on cluster ck_query add column IF NOT EXISTS common_in_src_mac String after common_phone_number; + +ALTER table tsg_galaxy_v3.transaction_record_local on cluster ck_cluster add column IF NOT EXISTS common_in_src_mac String after common_phone_number; +ALTER table tsg_galaxy_v3.transaction_record on cluster ck_cluster add column IF NOT EXISTS common_in_src_mac String after common_phone_number; +ALTER table tsg_galaxy_v3.transaction_record on cluster ck_query add column IF NOT EXISTS common_in_src_mac String after common_phone_number; + +ALTER table tsg_galaxy_v3.sys_packet_capture_event_local on cluster ck_cluster add column IF NOT EXISTS common_in_src_mac String after common_phone_number; +ALTER table tsg_galaxy_v3.sys_packet_capture_event on cluster ck_cluster add column IF NOT EXISTS common_in_src_mac String after common_phone_number; +ALTER table tsg_galaxy_v3.sys_packet_capture_event on cluster ck_query add column IF NOT EXISTS common_in_src_mac String after common_phone_number; + +ALTER table tsg_galaxy_v3.radius_record_local on cluster ck_cluster add column IF NOT EXISTS common_in_src_mac String after common_phone_number; +ALTER table tsg_galaxy_v3.radius_record on cluster ck_cluster add column IF NOT EXISTS common_in_src_mac String after common_phone_number; +ALTER table tsg_galaxy_v3.radius_record on cluster ck_query add column IF NOT EXISTS common_in_src_mac String after common_phone_number; + +ALTER table tsg_galaxy_v3.gtpc_record_local on cluster ck_cluster add column IF NOT EXISTS common_in_src_mac String after common_phone_number; +ALTER table tsg_galaxy_v3.gtpc_record on cluster ck_cluster add column IF NOT EXISTS common_in_src_mac String after common_phone_number; +ALTER table tsg_galaxy_v3.gtpc_record on cluster ck_query add column IF NOT EXISTS common_in_src_mac String after common_phone_number; + +ALTER table tsg_galaxy_v3.voip_record_local on cluster ck_cluster add column IF NOT EXISTS common_in_src_mac String after common_phone_number; +ALTER table tsg_galaxy_v3.voip_record on cluster ck_cluster add column IF NOT EXISTS common_in_src_mac String after common_phone_number; +ALTER table tsg_galaxy_v3.voip_record on cluster ck_query add column IF NOT EXISTS common_in_src_mac String after common_phone_number; diff --git a/tsg-olap/parcels/roles/initialization/clickhouse/files/upgrade-sql/update-23.07-ck.sql b/tsg-olap/parcels/roles/initialization/clickhouse/files/upgrade-sql/update-23.07-ck.sql new file mode 100644 index 0000000..27bf30b --- /dev/null +++ b/tsg-olap/parcels/roles/initialization/clickhouse/files/upgrade-sql/update-23.07-ck.sql @@ -0,0 +1,97 @@ +set distributed_ddl_task_timeout = 180; + + +ALTER table tsg_galaxy_v3.session_record_local on cluster ck_cluster drop column IF EXISTS voip_calling_account, drop column IF EXISTS voip_called_account, drop column IF EXISTS voip_calling_number, drop column IF EXISTS voip_called_number, drop column IF EXISTS streaming_media_url, drop column IF EXISTS streaming_media_protocol, drop column IF EXISTS http_request_body_key, drop column IF EXISTS http_response_body_key, drop column IF EXISTS http_content_length, drop column IF EXISTS http_content_type; +ALTER table tsg_galaxy_v3.session_record on cluster ck_cluster drop column IF EXISTS voip_calling_account, drop column IF EXISTS voip_called_account, drop column IF EXISTS voip_calling_number, drop column IF EXISTS voip_called_number, drop column IF EXISTS streaming_media_url, drop column IF EXISTS streaming_media_protocol, drop column IF EXISTS http_request_body_key, drop column IF EXISTS http_response_body_key, drop column IF EXISTS http_content_length, drop column IF EXISTS http_content_type; +ALTER table tsg_galaxy_v3.session_record on cluster ck_query drop column IF EXISTS voip_calling_account, drop column IF EXISTS voip_called_account, drop column IF EXISTS voip_calling_number, drop column IF EXISTS voip_called_number, drop column IF EXISTS streaming_media_url, drop column IF EXISTS streaming_media_protocol, drop column IF EXISTS http_request_body_key, drop column IF EXISTS http_response_body_key, drop column IF EXISTS http_content_length, drop column IF EXISTS http_content_type; + +ALTER table tsg_galaxy_v3.interim_session_record_local on cluster ck_cluster drop column IF EXISTS voip_calling_account, drop column IF EXISTS voip_called_account, drop column IF EXISTS voip_calling_number, drop column IF EXISTS voip_called_number, drop column IF EXISTS streaming_media_url, drop column IF EXISTS streaming_media_protocol, drop column IF EXISTS http_request_body_key, drop column IF EXISTS http_response_body_key, drop column IF EXISTS http_content_length, drop column IF EXISTS http_content_type; +ALTER table tsg_galaxy_v3.interim_session_record on cluster ck_cluster drop column IF EXISTS voip_calling_account, drop column IF EXISTS voip_called_account, drop column IF EXISTS voip_calling_number, drop column IF EXISTS voip_called_number, drop column IF EXISTS streaming_media_url, drop column IF EXISTS streaming_media_protocol, drop column IF EXISTS http_request_body_key, drop column IF EXISTS http_response_body_key, drop column IF EXISTS http_content_length, drop column IF EXISTS http_content_type; +ALTER table tsg_galaxy_v3.interim_session_record on cluster ck_query drop column IF EXISTS voip_calling_account, drop column IF EXISTS voip_called_account, drop column IF EXISTS voip_calling_number, drop column IF EXISTS voip_called_number, drop column IF EXISTS streaming_media_url, drop column IF EXISTS streaming_media_protocol, drop column IF EXISTS http_request_body_key, drop column IF EXISTS http_response_body_key, drop column IF EXISTS http_content_length, drop column IF EXISTS http_content_type; + +ALTER table tsg_galaxy_v3.security_event_local on cluster ck_cluster drop column IF EXISTS voip_calling_account, drop column IF EXISTS voip_called_account, drop column IF EXISTS voip_calling_number, drop column IF EXISTS voip_called_number, drop column IF EXISTS streaming_media_url, drop column IF EXISTS streaming_media_protocol, drop column IF EXISTS http_request_body_key, drop column IF EXISTS http_response_body_key, drop column IF EXISTS http_content_length, drop column IF EXISTS http_content_type; +ALTER table tsg_galaxy_v3.security_event on cluster ck_cluster drop column IF EXISTS voip_calling_account, drop column IF EXISTS voip_called_account, drop column IF EXISTS voip_calling_number, drop column IF EXISTS voip_called_number, drop column IF EXISTS streaming_media_url, drop column IF EXISTS streaming_media_protocol, drop column IF EXISTS http_request_body_key, drop column IF EXISTS http_response_body_key, drop column IF EXISTS http_content_length, drop column IF EXISTS http_content_type; +ALTER table tsg_galaxy_v3.security_event on cluster ck_query drop column IF EXISTS voip_calling_account, drop column IF EXISTS voip_called_account, drop column IF EXISTS voip_calling_number, drop column IF EXISTS voip_called_number, drop column IF EXISTS streaming_media_url, drop column IF EXISTS streaming_media_protocol, drop column IF EXISTS http_request_body_key, drop column IF EXISTS http_response_body_key, drop column IF EXISTS http_content_length, drop column IF EXISTS http_content_type; + +ALTER table tsg_galaxy_v3.proxy_event_local on cluster ck_cluster drop column IF EXISTS http_request_body_key, drop column IF EXISTS http_response_body_key, drop column IF EXISTS http_content_length, drop column IF EXISTS http_content_type; +ALTER table tsg_galaxy_v3.proxy_event on cluster ck_cluster drop column IF EXISTS http_request_body_key, drop column IF EXISTS http_response_body_key, drop column IF EXISTS http_content_length, drop column IF EXISTS http_content_type; +ALTER table tsg_galaxy_v3.proxy_event on cluster ck_query drop column IF EXISTS http_request_body_key, drop column IF EXISTS http_response_body_key, drop column IF EXISTS http_content_length, drop column IF EXISTS http_content_type; + +ALTER table tsg_galaxy_v3.transaction_record_local on cluster ck_cluster drop column IF EXISTS http_request_body_key, drop column IF EXISTS http_response_body_key, drop column IF EXISTS http_content_length, drop column IF EXISTS http_content_type; +ALTER table tsg_galaxy_v3.transaction_record on cluster ck_cluster drop column IF EXISTS http_request_body_key, drop column IF EXISTS http_response_body_key, drop column IF EXISTS http_content_length, drop column IF EXISTS http_content_type; +ALTER table tsg_galaxy_v3.transaction_record on cluster ck_query drop column IF EXISTS http_request_body_key, drop column IF EXISTS http_response_body_key, drop column IF EXISTS http_content_length, drop column IF EXISTS http_content_type; + + +ALTER table tsg_galaxy_v3.session_record_local on cluster ck_cluster add column IF NOT EXISTS common_start_timestamp_ms Datetime64(3) after common_end_time; +ALTER table tsg_galaxy_v3.session_record on cluster ck_cluster add column IF NOT EXISTS common_start_timestamp_ms Datetime64(3) after common_end_time; +ALTER table tsg_galaxy_v3.session_record on cluster ck_query add column IF NOT EXISTS common_start_timestamp_ms Datetime64(3) after common_end_time; + +ALTER table tsg_galaxy_v3.interim_session_record_local on cluster ck_cluster add column IF NOT EXISTS common_start_timestamp_ms Datetime64(3) after common_end_time; +ALTER table tsg_galaxy_v3.interim_session_record on cluster ck_cluster add column IF NOT EXISTS common_start_timestamp_ms Datetime64(3) after common_end_time; +ALTER table tsg_galaxy_v3.interim_session_record on cluster ck_query add column IF NOT EXISTS common_start_timestamp_ms Datetime64(3) after common_end_time; + +ALTER table tsg_galaxy_v3.security_event_local on cluster ck_cluster add column IF NOT EXISTS common_start_timestamp_ms Datetime64(3) after common_end_time; +ALTER table tsg_galaxy_v3.security_event on cluster ck_cluster add column IF NOT EXISTS common_start_timestamp_ms Datetime64(3) after common_end_time; +ALTER table tsg_galaxy_v3.security_event on cluster ck_query add column IF NOT EXISTS common_start_timestamp_ms Datetime64(3) after common_end_time; + +ALTER table tsg_galaxy_v3.proxy_event_local on cluster ck_cluster add column IF NOT EXISTS common_start_timestamp_ms Datetime64(3) after common_end_time; +ALTER table tsg_galaxy_v3.proxy_event on cluster ck_cluster add column IF NOT EXISTS common_start_timestamp_ms Datetime64(3) after common_end_time; +ALTER table tsg_galaxy_v3.proxy_event on cluster ck_query add column IF NOT EXISTS common_start_timestamp_ms Datetime64(3) after common_end_time; + +ALTER table tsg_galaxy_v3.transaction_record_local on cluster ck_cluster add column IF NOT EXISTS common_start_timestamp_ms Datetime64(3) after common_end_time; +ALTER table tsg_galaxy_v3.transaction_record on cluster ck_cluster add column IF NOT EXISTS common_start_timestamp_ms Datetime64(3) after common_end_time; +ALTER table tsg_galaxy_v3.transaction_record on cluster ck_query add column IF NOT EXISTS common_start_timestamp_ms Datetime64(3) after common_end_time; + +ALTER table tsg_galaxy_v3.sys_packet_capture_event_local on cluster ck_cluster add column IF NOT EXISTS common_start_timestamp_ms Datetime64(3) after common_end_time; +ALTER table tsg_galaxy_v3.sys_packet_capture_event on cluster ck_cluster add column IF NOT EXISTS common_start_timestamp_ms Datetime64(3) after common_end_time; +ALTER table tsg_galaxy_v3.sys_packet_capture_event on cluster ck_query add column IF NOT EXISTS common_start_timestamp_ms Datetime64(3) after common_end_time; + +ALTER table tsg_galaxy_v3.radius_record_local on cluster ck_cluster add column IF NOT EXISTS common_start_timestamp_ms Datetime64(3) after common_end_time; +ALTER table tsg_galaxy_v3.radius_record on cluster ck_cluster add column IF NOT EXISTS common_start_timestamp_ms Datetime64(3) after common_end_time; +ALTER table tsg_galaxy_v3.radius_record on cluster ck_query add column IF NOT EXISTS common_start_timestamp_ms Datetime64(3) after common_end_time; + +ALTER table tsg_galaxy_v3.gtpc_record_local on cluster ck_cluster add column IF NOT EXISTS common_start_timestamp_ms Datetime64(3) after common_end_time; +ALTER table tsg_galaxy_v3.gtpc_record on cluster ck_cluster add column IF NOT EXISTS common_start_timestamp_ms Datetime64(3) after common_end_time; +ALTER table tsg_galaxy_v3.gtpc_record on cluster ck_query add column IF NOT EXISTS common_start_timestamp_ms Datetime64(3) after common_end_time; + +ALTER table tsg_galaxy_v3.voip_record_local on cluster ck_cluster add column IF NOT EXISTS common_start_timestamp_ms Datetime64(3) after common_end_time; +ALTER table tsg_galaxy_v3.voip_record on cluster ck_cluster add column IF NOT EXISTS common_start_timestamp_ms Datetime64(3) after common_end_time; +ALTER table tsg_galaxy_v3.voip_record on cluster ck_query add column IF NOT EXISTS common_start_timestamp_ms Datetime64(3) after common_end_time; + + + +ALTER table tsg_galaxy_v3.session_record_local on cluster ck_cluster add column IF NOT EXISTS common_end_timestamp_ms Datetime64(3) after common_start_timestamp_ms; +ALTER table tsg_galaxy_v3.session_record on cluster ck_cluster add column IF NOT EXISTS common_end_timestamp_ms Datetime64(3) after common_start_timestamp_ms; +ALTER table tsg_galaxy_v3.session_record on cluster ck_query add column IF NOT EXISTS common_end_timestamp_ms Datetime64(3) after common_start_timestamp_ms; + +ALTER table tsg_galaxy_v3.interim_session_record_local on cluster ck_cluster add column IF NOT EXISTS common_end_timestamp_ms Datetime64(3) after common_start_timestamp_ms; +ALTER table tsg_galaxy_v3.interim_session_record on cluster ck_cluster add column IF NOT EXISTS common_end_timestamp_ms Datetime64(3) after common_start_timestamp_ms; +ALTER table tsg_galaxy_v3.interim_session_record on cluster ck_query add column IF NOT EXISTS common_end_timestamp_ms Datetime64(3) after common_start_timestamp_ms; + +ALTER table tsg_galaxy_v3.security_event_local on cluster ck_cluster add column IF NOT EXISTS common_end_timestamp_ms Datetime64(3) after common_start_timestamp_ms; +ALTER table tsg_galaxy_v3.security_event on cluster ck_cluster add column IF NOT EXISTS common_end_timestamp_ms Datetime64(3) after common_start_timestamp_ms; +ALTER table tsg_galaxy_v3.security_event on cluster ck_query add column IF NOT EXISTS common_end_timestamp_ms Datetime64(3) after common_start_timestamp_ms; + +ALTER table tsg_galaxy_v3.proxy_event_local on cluster ck_cluster add column IF NOT EXISTS common_end_timestamp_ms Datetime64(3) after common_start_timestamp_ms; +ALTER table tsg_galaxy_v3.proxy_event on cluster ck_cluster add column IF NOT EXISTS common_end_timestamp_ms Datetime64(3) after common_start_timestamp_ms; +ALTER table tsg_galaxy_v3.proxy_event on cluster ck_query add column IF NOT EXISTS common_end_timestamp_ms Datetime64(3) after common_start_timestamp_ms; + +ALTER table tsg_galaxy_v3.transaction_record_local on cluster ck_cluster add column IF NOT EXISTS common_end_timestamp_ms Datetime64(3) after common_start_timestamp_ms; +ALTER table tsg_galaxy_v3.transaction_record on cluster ck_cluster add column IF NOT EXISTS common_end_timestamp_ms Datetime64(3) after common_start_timestamp_ms; +ALTER table tsg_galaxy_v3.transaction_record on cluster ck_query add column IF NOT EXISTS common_end_timestamp_ms Datetime64(3) after common_start_timestamp_ms; + +ALTER table tsg_galaxy_v3.sys_packet_capture_event_local on cluster ck_cluster add column IF NOT EXISTS common_end_timestamp_ms Datetime64(3) after common_start_timestamp_ms; +ALTER table tsg_galaxy_v3.sys_packet_capture_event on cluster ck_cluster add column IF NOT EXISTS common_end_timestamp_ms Datetime64(3) after common_start_timestamp_ms; +ALTER table tsg_galaxy_v3.sys_packet_capture_event on cluster ck_query add column IF NOT EXISTS common_end_timestamp_ms Datetime64(3) after common_start_timestamp_ms; + +ALTER table tsg_galaxy_v3.radius_record_local on cluster ck_cluster add column IF NOT EXISTS common_end_timestamp_ms Datetime64(3) after common_start_timestamp_ms; +ALTER table tsg_galaxy_v3.radius_record on cluster ck_cluster add column IF NOT EXISTS common_end_timestamp_ms Datetime64(3) after common_start_timestamp_ms; +ALTER table tsg_galaxy_v3.radius_record on cluster ck_query add column IF NOT EXISTS common_end_timestamp_ms Datetime64(3) after common_start_timestamp_ms; + +ALTER table tsg_galaxy_v3.gtpc_record_local on cluster ck_cluster add column IF NOT EXISTS common_end_timestamp_ms Datetime64(3) after common_start_timestamp_ms; +ALTER table tsg_galaxy_v3.gtpc_record on cluster ck_cluster add column IF NOT EXISTS common_end_timestamp_ms Datetime64(3) after common_start_timestamp_ms; +ALTER table tsg_galaxy_v3.gtpc_record on cluster ck_query add column IF NOT EXISTS common_end_timestamp_ms Datetime64(3) after common_start_timestamp_ms; + +ALTER table tsg_galaxy_v3.voip_record_local on cluster ck_cluster add column IF NOT EXISTS common_end_timestamp_ms Datetime64(3) after common_start_timestamp_ms; +ALTER table tsg_galaxy_v3.voip_record on cluster ck_cluster add column IF NOT EXISTS common_end_timestamp_ms Datetime64(3) after common_start_timestamp_ms; +ALTER table tsg_galaxy_v3.voip_record on cluster ck_query add column IF NOT EXISTS common_end_timestamp_ms Datetime64(3) after common_start_timestamp_ms; \ No newline at end of file diff --git a/tsg-olap/parcels/roles/initialization/clickhouse/files/upgrade-sql/update-23.08-ck.sql b/tsg-olap/parcels/roles/initialization/clickhouse/files/upgrade-sql/update-23.08-ck.sql new file mode 100644 index 0000000..df1ba02 --- /dev/null +++ b/tsg-olap/parcels/roles/initialization/clickhouse/files/upgrade-sql/update-23.08-ck.sql @@ -0,0 +1,158 @@ +set distributed_ddl_task_timeout = 180; + + +ALTER table tsg_galaxy_v3.session_record_local on cluster ck_cluster rename column IF EXISTS common_egress_link_id TO common_out_link_id; +ALTER table tsg_galaxy_v3.session_record on cluster ck_cluster rename column IF EXISTS common_egress_link_id TO common_out_link_id; +ALTER table tsg_galaxy_v3.session_record on cluster ck_query rename column IF EXISTS common_egress_link_id TO common_out_link_id; + +ALTER table tsg_galaxy_v3.interim_session_record_local on cluster ck_cluster rename column IF EXISTS common_egress_link_id TO common_out_link_id; +ALTER table tsg_galaxy_v3.interim_session_record on cluster ck_cluster rename column IF EXISTS common_egress_link_id TO common_out_link_id; +ALTER table tsg_galaxy_v3.interim_session_record on cluster ck_query rename column IF EXISTS common_egress_link_id TO common_out_link_id; + +ALTER table tsg_galaxy_v3.security_event_local on cluster ck_cluster rename column IF EXISTS common_egress_link_id TO common_out_link_id; +ALTER table tsg_galaxy_v3.security_event on cluster ck_cluster rename column IF EXISTS common_egress_link_id TO common_out_link_id; +ALTER table tsg_galaxy_v3.security_event on cluster ck_query rename column IF EXISTS common_egress_link_id TO common_out_link_id; + +ALTER table tsg_galaxy_v3.proxy_event_local on cluster ck_cluster rename column IF EXISTS common_egress_link_id TO common_out_link_id; +ALTER table tsg_galaxy_v3.proxy_event on cluster ck_cluster rename column IF EXISTS common_egress_link_id TO common_out_link_id; +ALTER table tsg_galaxy_v3.proxy_event on cluster ck_query rename column IF EXISTS common_egress_link_id TO common_out_link_id; + +ALTER table tsg_galaxy_v3.transaction_record_local on cluster ck_cluster rename column IF EXISTS common_egress_link_id TO common_out_link_id; +ALTER table tsg_galaxy_v3.transaction_record on cluster ck_cluster rename column IF EXISTS common_egress_link_id TO common_out_link_id; +ALTER table tsg_galaxy_v3.transaction_record on cluster ck_query rename column IF EXISTS common_egress_link_id TO common_out_link_id; + +ALTER table tsg_galaxy_v3.sys_packet_capture_event_local on cluster ck_cluster rename column IF EXISTS common_egress_link_id TO common_out_link_id; +ALTER table tsg_galaxy_v3.sys_packet_capture_event on cluster ck_cluster rename column IF EXISTS common_egress_link_id TO common_out_link_id; +ALTER table tsg_galaxy_v3.sys_packet_capture_event on cluster ck_query rename column IF EXISTS common_egress_link_id TO common_out_link_id; + +ALTER table tsg_galaxy_v3.radius_record_local on cluster ck_cluster rename column IF EXISTS common_egress_link_id TO common_out_link_id; +ALTER table tsg_galaxy_v3.radius_record on cluster ck_cluster rename column IF EXISTS common_egress_link_id TO common_out_link_id; +ALTER table tsg_galaxy_v3.radius_record on cluster ck_query rename column IF EXISTS common_egress_link_id TO common_out_link_id; + +ALTER table tsg_galaxy_v3.gtpc_record_local on cluster ck_cluster rename column IF EXISTS common_egress_link_id TO common_out_link_id; +ALTER table tsg_galaxy_v3.gtpc_record on cluster ck_cluster rename column IF EXISTS common_egress_link_id TO common_out_link_id; +ALTER table tsg_galaxy_v3.gtpc_record on cluster ck_query rename column IF EXISTS common_egress_link_id TO common_out_link_id; + +ALTER table tsg_galaxy_v3.voip_record_local on cluster ck_cluster rename column IF EXISTS common_egress_link_id TO common_out_link_id; +ALTER table tsg_galaxy_v3.voip_record on cluster ck_cluster rename column IF EXISTS common_egress_link_id TO common_out_link_id; +ALTER table tsg_galaxy_v3.voip_record on cluster ck_query rename column IF EXISTS common_egress_link_id TO common_out_link_id; + +ALTER table tsg_galaxy_v3.active_defence_event_local on cluster ck_cluster rename column IF EXISTS common_egress_link_id TO common_out_link_id; +ALTER table tsg_galaxy_v3.active_defence_event on cluster ck_cluster rename column IF EXISTS common_egress_link_id TO common_out_link_id; +ALTER table tsg_galaxy_v3.active_defence_event on cluster ck_query rename column IF EXISTS common_egress_link_id TO common_out_link_id; + + +ALTER table tsg_galaxy_v3.session_record_local on cluster ck_cluster rename column IF EXISTS common_ingress_link_id TO common_in_link_id; +ALTER table tsg_galaxy_v3.session_record on cluster ck_cluster rename column IF EXISTS common_ingress_link_id TO common_in_link_id; +ALTER table tsg_galaxy_v3.session_record on cluster ck_query rename column IF EXISTS common_ingress_link_id TO common_in_link_id; + +ALTER table tsg_galaxy_v3.interim_session_record_local on cluster ck_cluster rename column IF EXISTS common_ingress_link_id TO common_in_link_id; +ALTER table tsg_galaxy_v3.interim_session_record on cluster ck_cluster rename column IF EXISTS common_ingress_link_id TO common_in_link_id; +ALTER table tsg_galaxy_v3.interim_session_record on cluster ck_query rename column IF EXISTS common_ingress_link_id TO common_in_link_id; + +ALTER table tsg_galaxy_v3.security_event_local on cluster ck_cluster rename column IF EXISTS common_ingress_link_id TO common_in_link_id; +ALTER table tsg_galaxy_v3.security_event on cluster ck_cluster rename column IF EXISTS common_ingress_link_id TO common_in_link_id; +ALTER table tsg_galaxy_v3.security_event on cluster ck_query rename column IF EXISTS common_ingress_link_id TO common_in_link_id; + +ALTER table tsg_galaxy_v3.proxy_event_local on cluster ck_cluster rename column IF EXISTS common_ingress_link_id TO common_in_link_id; +ALTER table tsg_galaxy_v3.proxy_event on cluster ck_cluster rename column IF EXISTS common_ingress_link_id TO common_in_link_id; +ALTER table tsg_galaxy_v3.proxy_event on cluster ck_query rename column IF EXISTS common_ingress_link_id TO common_in_link_id; + +ALTER table tsg_galaxy_v3.transaction_record_local on cluster ck_cluster rename column IF EXISTS common_ingress_link_id TO common_in_link_id; +ALTER table tsg_galaxy_v3.transaction_record on cluster ck_cluster rename column IF EXISTS common_ingress_link_id TO common_in_link_id; +ALTER table tsg_galaxy_v3.transaction_record on cluster ck_query rename column IF EXISTS common_ingress_link_id TO common_in_link_id; + +ALTER table tsg_galaxy_v3.sys_packet_capture_event_local on cluster ck_cluster rename column IF EXISTS common_ingress_link_id TO common_in_link_id; +ALTER table tsg_galaxy_v3.sys_packet_capture_event on cluster ck_cluster rename column IF EXISTS common_ingress_link_id TO common_in_link_id; +ALTER table tsg_galaxy_v3.sys_packet_capture_event on cluster ck_query rename column IF EXISTS common_ingress_link_id TO common_in_link_id; + +ALTER table tsg_galaxy_v3.radius_record_local on cluster ck_cluster rename column IF EXISTS common_ingress_link_id TO common_in_link_id; +ALTER table tsg_galaxy_v3.radius_record on cluster ck_cluster rename column IF EXISTS common_ingress_link_id TO common_in_link_id; +ALTER table tsg_galaxy_v3.radius_record on cluster ck_query rename column IF EXISTS common_ingress_link_id TO common_in_link_id; + +ALTER table tsg_galaxy_v3.gtpc_record_local on cluster ck_cluster rename column IF EXISTS common_ingress_link_id TO common_in_link_id; +ALTER table tsg_galaxy_v3.gtpc_record on cluster ck_cluster rename column IF EXISTS common_ingress_link_id TO common_in_link_id; +ALTER table tsg_galaxy_v3.gtpc_record on cluster ck_query rename column IF EXISTS common_ingress_link_id TO common_in_link_id; + +ALTER table tsg_galaxy_v3.voip_record_local on cluster ck_cluster rename column IF EXISTS common_ingress_link_id TO common_in_link_id; +ALTER table tsg_galaxy_v3.voip_record on cluster ck_cluster rename column IF EXISTS common_ingress_link_id TO common_in_link_id; +ALTER table tsg_galaxy_v3.voip_record on cluster ck_query rename column IF EXISTS common_ingress_link_id TO common_in_link_id; + +ALTER table tsg_galaxy_v3.active_defence_event_local on cluster ck_cluster rename column IF EXISTS common_ingress_link_id TO common_in_link_id; +ALTER table tsg_galaxy_v3.active_defence_event on cluster ck_cluster rename column IF EXISTS common_ingress_link_id TO common_in_link_id; +ALTER table tsg_galaxy_v3.active_defence_event on cluster ck_query rename column IF EXISTS common_ingress_link_id TO common_in_link_id; + + +ALTER table tsg_galaxy_v3.session_record_local on cluster ck_cluster add column IF NOT EXISTS common_start_timestamp_ms Datetime64(3) after common_end_time; +ALTER table tsg_galaxy_v3.session_record on cluster ck_cluster add column IF NOT EXISTS common_start_timestamp_ms Datetime64(3) after common_end_time; +ALTER table tsg_galaxy_v3.session_record on cluster ck_query add column IF NOT EXISTS common_start_timestamp_ms Datetime64(3) after common_end_time; + +ALTER table tsg_galaxy_v3.interim_session_record_local on cluster ck_cluster add column IF NOT EXISTS common_start_timestamp_ms Datetime64(3) after common_end_time; +ALTER table tsg_galaxy_v3.interim_session_record on cluster ck_cluster add column IF NOT EXISTS common_start_timestamp_ms Datetime64(3) after common_end_time; +ALTER table tsg_galaxy_v3.interim_session_record on cluster ck_query add column IF NOT EXISTS common_start_timestamp_ms Datetime64(3) after common_end_time; + +ALTER table tsg_galaxy_v3.security_event_local on cluster ck_cluster add column IF NOT EXISTS common_start_timestamp_ms Datetime64(3) after common_end_time; +ALTER table tsg_galaxy_v3.security_event on cluster ck_cluster add column IF NOT EXISTS common_start_timestamp_ms Datetime64(3) after common_end_time; +ALTER table tsg_galaxy_v3.security_event on cluster ck_query add column IF NOT EXISTS common_start_timestamp_ms Datetime64(3) after common_end_time; + +ALTER table tsg_galaxy_v3.proxy_event_local on cluster ck_cluster add column IF NOT EXISTS common_start_timestamp_ms Datetime64(3) after common_end_time; +ALTER table tsg_galaxy_v3.proxy_event on cluster ck_cluster add column IF NOT EXISTS common_start_timestamp_ms Datetime64(3) after common_end_time; +ALTER table tsg_galaxy_v3.proxy_event on cluster ck_query add column IF NOT EXISTS common_start_timestamp_ms Datetime64(3) after common_end_time; + +ALTER table tsg_galaxy_v3.transaction_record_local on cluster ck_cluster add column IF NOT EXISTS common_start_timestamp_ms Datetime64(3) after common_end_time; +ALTER table tsg_galaxy_v3.transaction_record on cluster ck_cluster add column IF NOT EXISTS common_start_timestamp_ms Datetime64(3) after common_end_time; +ALTER table tsg_galaxy_v3.transaction_record on cluster ck_query add column IF NOT EXISTS common_start_timestamp_ms Datetime64(3) after common_end_time; + +ALTER table tsg_galaxy_v3.sys_packet_capture_event_local on cluster ck_cluster add column IF NOT EXISTS common_start_timestamp_ms Datetime64(3) after common_end_time; +ALTER table tsg_galaxy_v3.sys_packet_capture_event on cluster ck_cluster add column IF NOT EXISTS common_start_timestamp_ms Datetime64(3) after common_end_time; +ALTER table tsg_galaxy_v3.sys_packet_capture_event on cluster ck_query add column IF NOT EXISTS common_start_timestamp_ms Datetime64(3) after common_end_time; + +ALTER table tsg_galaxy_v3.radius_record_local on cluster ck_cluster add column IF NOT EXISTS common_start_timestamp_ms Datetime64(3) after common_end_time; +ALTER table tsg_galaxy_v3.radius_record on cluster ck_cluster add column IF NOT EXISTS common_start_timestamp_ms Datetime64(3) after common_end_time; +ALTER table tsg_galaxy_v3.radius_record on cluster ck_query add column IF NOT EXISTS common_start_timestamp_ms Datetime64(3) after common_end_time; + +ALTER table tsg_galaxy_v3.gtpc_record_local on cluster ck_cluster add column IF NOT EXISTS common_start_timestamp_ms Datetime64(3) after common_end_time; +ALTER table tsg_galaxy_v3.gtpc_record on cluster ck_cluster add column IF NOT EXISTS common_start_timestamp_ms Datetime64(3) after common_end_time; +ALTER table tsg_galaxy_v3.gtpc_record on cluster ck_query add column IF NOT EXISTS common_start_timestamp_ms Datetime64(3) after common_end_time; + +ALTER table tsg_galaxy_v3.voip_record_local on cluster ck_cluster add column IF NOT EXISTS common_start_timestamp_ms Datetime64(3) after common_end_time; +ALTER table tsg_galaxy_v3.voip_record on cluster ck_cluster add column IF NOT EXISTS common_start_timestamp_ms Datetime64(3) after common_end_time; +ALTER table tsg_galaxy_v3.voip_record on cluster ck_query add column IF NOT EXISTS common_start_timestamp_ms Datetime64(3) after common_end_time; + + + +ALTER table tsg_galaxy_v3.session_record_local on cluster ck_cluster add column IF NOT EXISTS common_end_timestamp_ms Datetime64(3) after common_start_timestamp_ms; +ALTER table tsg_galaxy_v3.session_record on cluster ck_cluster add column IF NOT EXISTS common_end_timestamp_ms Datetime64(3) after common_start_timestamp_ms; +ALTER table tsg_galaxy_v3.session_record on cluster ck_query add column IF NOT EXISTS common_end_timestamp_ms Datetime64(3) after common_start_timestamp_ms; + +ALTER table tsg_galaxy_v3.interim_session_record_local on cluster ck_cluster add column IF NOT EXISTS common_end_timestamp_ms Datetime64(3) after common_start_timestamp_ms; +ALTER table tsg_galaxy_v3.interim_session_record on cluster ck_cluster add column IF NOT EXISTS common_end_timestamp_ms Datetime64(3) after common_start_timestamp_ms; +ALTER table tsg_galaxy_v3.interim_session_record on cluster ck_query add column IF NOT EXISTS common_end_timestamp_ms Datetime64(3) after common_start_timestamp_ms; + +ALTER table tsg_galaxy_v3.security_event_local on cluster ck_cluster add column IF NOT EXISTS common_end_timestamp_ms Datetime64(3) after common_start_timestamp_ms; +ALTER table tsg_galaxy_v3.security_event on cluster ck_cluster add column IF NOT EXISTS common_end_timestamp_ms Datetime64(3) after common_start_timestamp_ms; +ALTER table tsg_galaxy_v3.security_event on cluster ck_query add column IF NOT EXISTS common_end_timestamp_ms Datetime64(3) after common_start_timestamp_ms; + +ALTER table tsg_galaxy_v3.proxy_event_local on cluster ck_cluster add column IF NOT EXISTS common_end_timestamp_ms Datetime64(3) after common_start_timestamp_ms; +ALTER table tsg_galaxy_v3.proxy_event on cluster ck_cluster add column IF NOT EXISTS common_end_timestamp_ms Datetime64(3) after common_start_timestamp_ms; +ALTER table tsg_galaxy_v3.proxy_event on cluster ck_query add column IF NOT EXISTS common_end_timestamp_ms Datetime64(3) after common_start_timestamp_ms; + +ALTER table tsg_galaxy_v3.transaction_record_local on cluster ck_cluster add column IF NOT EXISTS common_end_timestamp_ms Datetime64(3) after common_start_timestamp_ms; +ALTER table tsg_galaxy_v3.transaction_record on cluster ck_cluster add column IF NOT EXISTS common_end_timestamp_ms Datetime64(3) after common_start_timestamp_ms; +ALTER table tsg_galaxy_v3.transaction_record on cluster ck_query add column IF NOT EXISTS common_end_timestamp_ms Datetime64(3) after common_start_timestamp_ms; + +ALTER table tsg_galaxy_v3.sys_packet_capture_event_local on cluster ck_cluster add column IF NOT EXISTS common_end_timestamp_ms Datetime64(3) after common_start_timestamp_ms; +ALTER table tsg_galaxy_v3.sys_packet_capture_event on cluster ck_cluster add column IF NOT EXISTS common_end_timestamp_ms Datetime64(3) after common_start_timestamp_ms; +ALTER table tsg_galaxy_v3.sys_packet_capture_event on cluster ck_query add column IF NOT EXISTS common_end_timestamp_ms Datetime64(3) after common_start_timestamp_ms; + +ALTER table tsg_galaxy_v3.radius_record_local on cluster ck_cluster add column IF NOT EXISTS common_end_timestamp_ms Datetime64(3) after common_start_timestamp_ms; +ALTER table tsg_galaxy_v3.radius_record on cluster ck_cluster add column IF NOT EXISTS common_end_timestamp_ms Datetime64(3) after common_start_timestamp_ms; +ALTER table tsg_galaxy_v3.radius_record on cluster ck_query add column IF NOT EXISTS common_end_timestamp_ms Datetime64(3) after common_start_timestamp_ms; + +ALTER table tsg_galaxy_v3.gtpc_record_local on cluster ck_cluster add column IF NOT EXISTS common_end_timestamp_ms Datetime64(3) after common_start_timestamp_ms; +ALTER table tsg_galaxy_v3.gtpc_record on cluster ck_cluster add column IF NOT EXISTS common_end_timestamp_ms Datetime64(3) after common_start_timestamp_ms; +ALTER table tsg_galaxy_v3.gtpc_record on cluster ck_query add column IF NOT EXISTS common_end_timestamp_ms Datetime64(3) after common_start_timestamp_ms; + +ALTER table tsg_galaxy_v3.voip_record_local on cluster ck_cluster add column IF NOT EXISTS common_end_timestamp_ms Datetime64(3) after common_start_timestamp_ms; +ALTER table tsg_galaxy_v3.voip_record on cluster ck_cluster add column IF NOT EXISTS common_end_timestamp_ms Datetime64(3) after common_start_timestamp_ms; +ALTER table tsg_galaxy_v3.voip_record on cluster ck_query add column IF NOT EXISTS common_end_timestamp_ms Datetime64(3) after common_start_timestamp_ms; \ No newline at end of file diff --git a/tsg-olap/parcels/roles/initialization/clickhouse/files/upgrade-sql/update-23.09-ck.sql b/tsg-olap/parcels/roles/initialization/clickhouse/files/upgrade-sql/update-23.09-ck.sql new file mode 100644 index 0000000..1528e0c --- /dev/null +++ b/tsg-olap/parcels/roles/initialization/clickhouse/files/upgrade-sql/update-23.09-ck.sql @@ -0,0 +1,131 @@ +set distributed_ddl_task_timeout = 180; + + +ALTER table tsg_galaxy_v3.session_record_local on cluster ck_cluster add column IF NOT EXISTS http_status_code Int64 after http_version; +ALTER table tsg_galaxy_v3.session_record on cluster ck_cluster add column IF NOT EXISTS http_status_code Int64 after http_version; +ALTER table tsg_galaxy_v3.session_record on cluster ck_query add column IF NOT EXISTS http_status_code Int64 after http_version; + +ALTER table tsg_galaxy_v3.interim_session_record_local on cluster ck_cluster add column IF NOT EXISTS http_status_code Int64 after http_version; +ALTER table tsg_galaxy_v3.interim_session_record on cluster ck_cluster add column IF NOT EXISTS http_status_code Int64 after http_version; +ALTER table tsg_galaxy_v3.interim_session_record on cluster ck_query add column IF NOT EXISTS http_status_code Int64 after http_version; + +ALTER table tsg_galaxy_v3.security_event_local on cluster ck_cluster add column IF NOT EXISTS http_status_code Int64 after http_version; +ALTER table tsg_galaxy_v3.security_event on cluster ck_cluster add column IF NOT EXISTS http_status_code Int64 after http_version; +ALTER table tsg_galaxy_v3.security_event on cluster ck_query add column IF NOT EXISTS http_status_code Int64 after http_version; + +ALTER table tsg_galaxy_v3.proxy_event_local on cluster ck_cluster add column IF NOT EXISTS http_status_code Int64 after http_version; +ALTER table tsg_galaxy_v3.proxy_event on cluster ck_cluster add column IF NOT EXISTS http_status_code Int64 after http_version; +ALTER table tsg_galaxy_v3.proxy_event on cluster ck_query add column IF NOT EXISTS http_status_code Int64 after http_version; + +ALTER table tsg_galaxy_v3.transaction_record_local on cluster ck_cluster add column IF NOT EXISTS http_status_code Int64 after http_version; +ALTER table tsg_galaxy_v3.transaction_record on cluster ck_cluster add column IF NOT EXISTS http_status_code Int64 after http_version; +ALTER table tsg_galaxy_v3.transaction_record on cluster ck_query add column IF NOT EXISTS http_status_code Int64 after http_version; + + +ALTER table tsg_galaxy_v3.session_record_local on cluster ck_cluster add column IF NOT EXISTS ssl_ech_flag Int64 after ssl_cert_subject; +ALTER table tsg_galaxy_v3.session_record on cluster ck_cluster add column IF NOT EXISTS ssl_ech_flag Int64 after ssl_cert_subject; +ALTER table tsg_galaxy_v3.session_record on cluster ck_query add column IF NOT EXISTS ssl_ech_flag Int64 after ssl_cert_subject; + +ALTER table tsg_galaxy_v3.interim_session_record_local on cluster ck_cluster add column IF NOT EXISTS ssl_ech_flag Int64 after ssl_cert_subject; +ALTER table tsg_galaxy_v3.interim_session_record on cluster ck_cluster add column IF NOT EXISTS ssl_ech_flag Int64 after ssl_cert_subject; +ALTER table tsg_galaxy_v3.interim_session_record on cluster ck_query add column IF NOT EXISTS ssl_ech_flag Int64 after ssl_cert_subject; + +ALTER table tsg_galaxy_v3.security_event_local on cluster ck_cluster add column IF NOT EXISTS ssl_ech_flag Int64 after ssl_cert_subject; +ALTER table tsg_galaxy_v3.security_event on cluster ck_cluster add column IF NOT EXISTS ssl_ech_flag Int64 after ssl_cert_subject; +ALTER table tsg_galaxy_v3.security_event on cluster ck_query add column IF NOT EXISTS ssl_ech_flag Int64 after ssl_cert_subject; + +ALTER table tsg_galaxy_v3.proxy_event_local on cluster ck_cluster add column IF NOT EXISTS ssl_ech_flag Int64 after ssl_cert_subject; +ALTER table tsg_galaxy_v3.proxy_event on cluster ck_cluster add column IF NOT EXISTS ssl_ech_flag Int64 after ssl_cert_subject; +ALTER table tsg_galaxy_v3.proxy_event on cluster ck_query add column IF NOT EXISTS ssl_ech_flag Int64 after ssl_cert_subject; + + +ALTER table tsg_galaxy_v3.session_record_local on cluster ck_cluster add column IF NOT EXISTS ssl_esni_flag Int64 after ssl_cert_subject; +ALTER table tsg_galaxy_v3.session_record on cluster ck_cluster add column IF NOT EXISTS ssl_esni_flag Int64 after ssl_cert_subject; +ALTER table tsg_galaxy_v3.session_record on cluster ck_query add column IF NOT EXISTS ssl_esni_flag Int64 after ssl_cert_subject; + +ALTER table tsg_galaxy_v3.interim_session_record_local on cluster ck_cluster add column IF NOT EXISTS ssl_esni_flag Int64 after ssl_cert_subject; +ALTER table tsg_galaxy_v3.interim_session_record on cluster ck_cluster add column IF NOT EXISTS ssl_esni_flag Int64 after ssl_cert_subject; +ALTER table tsg_galaxy_v3.interim_session_record on cluster ck_query add column IF NOT EXISTS ssl_esni_flag Int64 after ssl_cert_subject; + +ALTER table tsg_galaxy_v3.security_event_local on cluster ck_cluster add column IF NOT EXISTS ssl_esni_flag Int64 after ssl_cert_subject; +ALTER table tsg_galaxy_v3.security_event on cluster ck_cluster add column IF NOT EXISTS ssl_esni_flag Int64 after ssl_cert_subject; +ALTER table tsg_galaxy_v3.security_event on cluster ck_query add column IF NOT EXISTS ssl_esni_flag Int64 after ssl_cert_subject; + +ALTER table tsg_galaxy_v3.proxy_event_local on cluster ck_cluster add column IF NOT EXISTS ssl_esni_flag Int64 after ssl_cert_subject; +ALTER table tsg_galaxy_v3.proxy_event on cluster ck_cluster add column IF NOT EXISTS ssl_esni_flag Int64 after ssl_cert_subject; +ALTER table tsg_galaxy_v3.proxy_event on cluster ck_query add column IF NOT EXISTS ssl_esni_flag Int64 after ssl_cert_subject; + + +ALTER table tsg_galaxy_v3.session_record_local on cluster ck_cluster add column IF NOT EXISTS common_start_timestamp_ms Datetime64(3) after common_end_time; +ALTER table tsg_galaxy_v3.session_record on cluster ck_cluster add column IF NOT EXISTS common_start_timestamp_ms Datetime64(3) after common_end_time; +ALTER table tsg_galaxy_v3.session_record on cluster ck_query add column IF NOT EXISTS common_start_timestamp_ms Datetime64(3) after common_end_time; + +ALTER table tsg_galaxy_v3.interim_session_record_local on cluster ck_cluster add column IF NOT EXISTS common_start_timestamp_ms Datetime64(3) after common_end_time; +ALTER table tsg_galaxy_v3.interim_session_record on cluster ck_cluster add column IF NOT EXISTS common_start_timestamp_ms Datetime64(3) after common_end_time; +ALTER table tsg_galaxy_v3.interim_session_record on cluster ck_query add column IF NOT EXISTS common_start_timestamp_ms Datetime64(3) after common_end_time; + +ALTER table tsg_galaxy_v3.security_event_local on cluster ck_cluster add column IF NOT EXISTS common_start_timestamp_ms Datetime64(3) after common_end_time; +ALTER table tsg_galaxy_v3.security_event on cluster ck_cluster add column IF NOT EXISTS common_start_timestamp_ms Datetime64(3) after common_end_time; +ALTER table tsg_galaxy_v3.security_event on cluster ck_query add column IF NOT EXISTS common_start_timestamp_ms Datetime64(3) after common_end_time; + +ALTER table tsg_galaxy_v3.proxy_event_local on cluster ck_cluster add column IF NOT EXISTS common_start_timestamp_ms Datetime64(3) after common_end_time; +ALTER table tsg_galaxy_v3.proxy_event on cluster ck_cluster add column IF NOT EXISTS common_start_timestamp_ms Datetime64(3) after common_end_time; +ALTER table tsg_galaxy_v3.proxy_event on cluster ck_query add column IF NOT EXISTS common_start_timestamp_ms Datetime64(3) after common_end_time; + +ALTER table tsg_galaxy_v3.transaction_record_local on cluster ck_cluster add column IF NOT EXISTS common_start_timestamp_ms Datetime64(3) after common_end_time; +ALTER table tsg_galaxy_v3.transaction_record on cluster ck_cluster add column IF NOT EXISTS common_start_timestamp_ms Datetime64(3) after common_end_time; +ALTER table tsg_galaxy_v3.transaction_record on cluster ck_query add column IF NOT EXISTS common_start_timestamp_ms Datetime64(3) after common_end_time; + +ALTER table tsg_galaxy_v3.sys_packet_capture_event_local on cluster ck_cluster add column IF NOT EXISTS common_start_timestamp_ms Datetime64(3) after common_end_time; +ALTER table tsg_galaxy_v3.sys_packet_capture_event on cluster ck_cluster add column IF NOT EXISTS common_start_timestamp_ms Datetime64(3) after common_end_time; +ALTER table tsg_galaxy_v3.sys_packet_capture_event on cluster ck_query add column IF NOT EXISTS common_start_timestamp_ms Datetime64(3) after common_end_time; + +ALTER table tsg_galaxy_v3.radius_record_local on cluster ck_cluster add column IF NOT EXISTS common_start_timestamp_ms Datetime64(3) after common_end_time; +ALTER table tsg_galaxy_v3.radius_record on cluster ck_cluster add column IF NOT EXISTS common_start_timestamp_ms Datetime64(3) after common_end_time; +ALTER table tsg_galaxy_v3.radius_record on cluster ck_query add column IF NOT EXISTS common_start_timestamp_ms Datetime64(3) after common_end_time; + +ALTER table tsg_galaxy_v3.gtpc_record_local on cluster ck_cluster add column IF NOT EXISTS common_start_timestamp_ms Datetime64(3) after common_end_time; +ALTER table tsg_galaxy_v3.gtpc_record on cluster ck_cluster add column IF NOT EXISTS common_start_timestamp_ms Datetime64(3) after common_end_time; +ALTER table tsg_galaxy_v3.gtpc_record on cluster ck_query add column IF NOT EXISTS common_start_timestamp_ms Datetime64(3) after common_end_time; + +ALTER table tsg_galaxy_v3.voip_record_local on cluster ck_cluster add column IF NOT EXISTS common_start_timestamp_ms Datetime64(3) after common_end_time; +ALTER table tsg_galaxy_v3.voip_record on cluster ck_cluster add column IF NOT EXISTS common_start_timestamp_ms Datetime64(3) after common_end_time; +ALTER table tsg_galaxy_v3.voip_record on cluster ck_query add column IF NOT EXISTS common_start_timestamp_ms Datetime64(3) after common_end_time; + + + +ALTER table tsg_galaxy_v3.session_record_local on cluster ck_cluster add column IF NOT EXISTS common_end_timestamp_ms Datetime64(3) after common_start_timestamp_ms; +ALTER table tsg_galaxy_v3.session_record on cluster ck_cluster add column IF NOT EXISTS common_end_timestamp_ms Datetime64(3) after common_start_timestamp_ms; +ALTER table tsg_galaxy_v3.session_record on cluster ck_query add column IF NOT EXISTS common_end_timestamp_ms Datetime64(3) after common_start_timestamp_ms; + +ALTER table tsg_galaxy_v3.interim_session_record_local on cluster ck_cluster add column IF NOT EXISTS common_end_timestamp_ms Datetime64(3) after common_start_timestamp_ms; +ALTER table tsg_galaxy_v3.interim_session_record on cluster ck_cluster add column IF NOT EXISTS common_end_timestamp_ms Datetime64(3) after common_start_timestamp_ms; +ALTER table tsg_galaxy_v3.interim_session_record on cluster ck_query add column IF NOT EXISTS common_end_timestamp_ms Datetime64(3) after common_start_timestamp_ms; + +ALTER table tsg_galaxy_v3.security_event_local on cluster ck_cluster add column IF NOT EXISTS common_end_timestamp_ms Datetime64(3) after common_start_timestamp_ms; +ALTER table tsg_galaxy_v3.security_event on cluster ck_cluster add column IF NOT EXISTS common_end_timestamp_ms Datetime64(3) after common_start_timestamp_ms; +ALTER table tsg_galaxy_v3.security_event on cluster ck_query add column IF NOT EXISTS common_end_timestamp_ms Datetime64(3) after common_start_timestamp_ms; + +ALTER table tsg_galaxy_v3.proxy_event_local on cluster ck_cluster add column IF NOT EXISTS common_end_timestamp_ms Datetime64(3) after common_start_timestamp_ms; +ALTER table tsg_galaxy_v3.proxy_event on cluster ck_cluster add column IF NOT EXISTS common_end_timestamp_ms Datetime64(3) after common_start_timestamp_ms; +ALTER table tsg_galaxy_v3.proxy_event on cluster ck_query add column IF NOT EXISTS common_end_timestamp_ms Datetime64(3) after common_start_timestamp_ms; + +ALTER table tsg_galaxy_v3.transaction_record_local on cluster ck_cluster add column IF NOT EXISTS common_end_timestamp_ms Datetime64(3) after common_start_timestamp_ms; +ALTER table tsg_galaxy_v3.transaction_record on cluster ck_cluster add column IF NOT EXISTS common_end_timestamp_ms Datetime64(3) after common_start_timestamp_ms; +ALTER table tsg_galaxy_v3.transaction_record on cluster ck_query add column IF NOT EXISTS common_end_timestamp_ms Datetime64(3) after common_start_timestamp_ms; + +ALTER table tsg_galaxy_v3.sys_packet_capture_event_local on cluster ck_cluster add column IF NOT EXISTS common_end_timestamp_ms Datetime64(3) after common_start_timestamp_ms; +ALTER table tsg_galaxy_v3.sys_packet_capture_event on cluster ck_cluster add column IF NOT EXISTS common_end_timestamp_ms Datetime64(3) after common_start_timestamp_ms; +ALTER table tsg_galaxy_v3.sys_packet_capture_event on cluster ck_query add column IF NOT EXISTS common_end_timestamp_ms Datetime64(3) after common_start_timestamp_ms; + +ALTER table tsg_galaxy_v3.radius_record_local on cluster ck_cluster add column IF NOT EXISTS common_end_timestamp_ms Datetime64(3) after common_start_timestamp_ms; +ALTER table tsg_galaxy_v3.radius_record on cluster ck_cluster add column IF NOT EXISTS common_end_timestamp_ms Datetime64(3) after common_start_timestamp_ms; +ALTER table tsg_galaxy_v3.radius_record on cluster ck_query add column IF NOT EXISTS common_end_timestamp_ms Datetime64(3) after common_start_timestamp_ms; + +ALTER table tsg_galaxy_v3.gtpc_record_local on cluster ck_cluster add column IF NOT EXISTS common_end_timestamp_ms Datetime64(3) after common_start_timestamp_ms; +ALTER table tsg_galaxy_v3.gtpc_record on cluster ck_cluster add column IF NOT EXISTS common_end_timestamp_ms Datetime64(3) after common_start_timestamp_ms; +ALTER table tsg_galaxy_v3.gtpc_record on cluster ck_query add column IF NOT EXISTS common_end_timestamp_ms Datetime64(3) after common_start_timestamp_ms; + +ALTER table tsg_galaxy_v3.voip_record_local on cluster ck_cluster add column IF NOT EXISTS common_end_timestamp_ms Datetime64(3) after common_start_timestamp_ms; +ALTER table tsg_galaxy_v3.voip_record on cluster ck_cluster add column IF NOT EXISTS common_end_timestamp_ms Datetime64(3) after common_start_timestamp_ms; +ALTER table tsg_galaxy_v3.voip_record on cluster ck_query add column IF NOT EXISTS common_end_timestamp_ms Datetime64(3) after common_start_timestamp_ms; diff --git a/tsg-olap/parcels/roles/initialization/clickhouse/files/upgrade-sql/update-23.10-ck.sql b/tsg-olap/parcels/roles/initialization/clickhouse/files/upgrade-sql/update-23.10-ck.sql new file mode 100644 index 0000000..20b7e1e --- /dev/null +++ b/tsg-olap/parcels/roles/initialization/clickhouse/files/upgrade-sql/update-23.10-ck.sql @@ -0,0 +1,76 @@ +set distributed_ddl_task_timeout = 180; + +ALTER table tsg_galaxy_v3.session_record_local on cluster ck_cluster add column IF NOT EXISTS common_client_os_name String after common_client_port; +ALTER table tsg_galaxy_v3.session_record on cluster ck_cluster add column IF NOT EXISTS common_client_os_name String after common_client_port; +ALTER table tsg_galaxy_v3.session_record on cluster ck_query add column IF NOT EXISTS common_client_os_name String after common_client_port; + +ALTER table tsg_galaxy_v3.interim_session_record_local on cluster ck_cluster add column IF NOT EXISTS common_client_os_name String after common_client_port; +ALTER table tsg_galaxy_v3.interim_session_record on cluster ck_cluster add column IF NOT EXISTS common_client_os_name String after common_client_port; +ALTER table tsg_galaxy_v3.interim_session_record on cluster ck_query add column IF NOT EXISTS common_client_os_name String after common_client_port; + +ALTER table tsg_galaxy_v3.security_event_local on cluster ck_cluster add column IF NOT EXISTS common_client_os_name String after common_client_port; +ALTER table tsg_galaxy_v3.security_event on cluster ck_cluster add column IF NOT EXISTS common_client_os_name String after common_client_port; +ALTER table tsg_galaxy_v3.security_event on cluster ck_query add column IF NOT EXISTS common_client_os_name String after common_client_port; + +ALTER table tsg_galaxy_v3.proxy_event_local on cluster ck_cluster add column IF NOT EXISTS common_client_os_name String after common_client_port; +ALTER table tsg_galaxy_v3.proxy_event on cluster ck_cluster add column IF NOT EXISTS common_client_os_name String after common_client_port; +ALTER table tsg_galaxy_v3.proxy_event on cluster ck_query add column IF NOT EXISTS common_client_os_name String after common_client_port; + +ALTER table tsg_galaxy_v3.transaction_record_local on cluster ck_cluster add column IF NOT EXISTS common_client_os_name String after common_client_port; +ALTER table tsg_galaxy_v3.transaction_record on cluster ck_cluster add column IF NOT EXISTS common_client_os_name String after common_client_port; +ALTER table tsg_galaxy_v3.transaction_record on cluster ck_query add column IF NOT EXISTS common_client_os_name String after common_client_port; + +ALTER table tsg_galaxy_v3.sys_packet_capture_event_local on cluster ck_cluster add column IF NOT EXISTS common_client_os_name String after common_client_port; +ALTER table tsg_galaxy_v3.sys_packet_capture_event on cluster ck_cluster add column IF NOT EXISTS common_client_os_name String after common_client_port; +ALTER table tsg_galaxy_v3.sys_packet_capture_event on cluster ck_query add column IF NOT EXISTS common_client_os_name String after common_client_port; + +ALTER table tsg_galaxy_v3.radius_record_local on cluster ck_cluster add column IF NOT EXISTS common_client_os_name String after common_client_port; +ALTER table tsg_galaxy_v3.radius_record on cluster ck_cluster add column IF NOT EXISTS common_client_os_name String after common_client_port; +ALTER table tsg_galaxy_v3.radius_record on cluster ck_query add column IF NOT EXISTS common_client_os_name String after common_client_port; + +ALTER table tsg_galaxy_v3.gtpc_record_local on cluster ck_cluster add column IF NOT EXISTS common_client_os_name String after common_client_port; +ALTER table tsg_galaxy_v3.gtpc_record on cluster ck_cluster add column IF NOT EXISTS common_client_os_name String after common_client_port; +ALTER table tsg_galaxy_v3.gtpc_record on cluster ck_query add column IF NOT EXISTS common_client_os_name String after common_client_port; + +ALTER table tsg_galaxy_v3.voip_record_local on cluster ck_cluster add column IF NOT EXISTS common_client_os_name String after common_client_port; +ALTER table tsg_galaxy_v3.voip_record on cluster ck_cluster add column IF NOT EXISTS common_client_os_name String after common_client_port; +ALTER table tsg_galaxy_v3.voip_record on cluster ck_query add column IF NOT EXISTS common_client_os_name String after common_client_port; + + + +ALTER table tsg_galaxy_v3.session_record_local on cluster ck_cluster add column IF NOT EXISTS common_server_os_name String after common_server_port; +ALTER table tsg_galaxy_v3.session_record on cluster ck_cluster add column IF NOT EXISTS common_server_os_name String after common_server_port; +ALTER table tsg_galaxy_v3.session_record on cluster ck_query add column IF NOT EXISTS common_server_os_name String after common_server_port; + +ALTER table tsg_galaxy_v3.interim_session_record_local on cluster ck_cluster add column IF NOT EXISTS common_server_os_name String after common_server_port; +ALTER table tsg_galaxy_v3.interim_session_record on cluster ck_cluster add column IF NOT EXISTS common_server_os_name String after common_server_port; +ALTER table tsg_galaxy_v3.interim_session_record on cluster ck_query add column IF NOT EXISTS common_server_os_name String after common_server_port; + +ALTER table tsg_galaxy_v3.security_event_local on cluster ck_cluster add column IF NOT EXISTS common_server_os_name String after common_server_port; +ALTER table tsg_galaxy_v3.security_event on cluster ck_cluster add column IF NOT EXISTS common_server_os_name String after common_server_port; +ALTER table tsg_galaxy_v3.security_event on cluster ck_query add column IF NOT EXISTS common_server_os_name String after common_server_port; + +ALTER table tsg_galaxy_v3.proxy_event_local on cluster ck_cluster add column IF NOT EXISTS common_server_os_name String after common_server_port; +ALTER table tsg_galaxy_v3.proxy_event on cluster ck_cluster add column IF NOT EXISTS common_server_os_name String after common_server_port; +ALTER table tsg_galaxy_v3.proxy_event on cluster ck_query add column IF NOT EXISTS common_server_os_name String after common_server_port; + +ALTER table tsg_galaxy_v3.transaction_record_local on cluster ck_cluster add column IF NOT EXISTS common_server_os_name String after common_server_port; +ALTER table tsg_galaxy_v3.transaction_record on cluster ck_cluster add column IF NOT EXISTS common_server_os_name String after common_server_port; +ALTER table tsg_galaxy_v3.transaction_record on cluster ck_query add column IF NOT EXISTS common_server_os_name String after common_server_port; + +ALTER table tsg_galaxy_v3.sys_packet_capture_event_local on cluster ck_cluster add column IF NOT EXISTS common_server_os_name String after common_server_port; +ALTER table tsg_galaxy_v3.sys_packet_capture_event on cluster ck_cluster add column IF NOT EXISTS common_server_os_name String after common_server_port; +ALTER table tsg_galaxy_v3.sys_packet_capture_event on cluster ck_query add column IF NOT EXISTS common_server_os_name String after common_server_port; + +ALTER table tsg_galaxy_v3.radius_record_local on cluster ck_cluster add column IF NOT EXISTS common_server_os_name String after common_server_port; +ALTER table tsg_galaxy_v3.radius_record on cluster ck_cluster add column IF NOT EXISTS common_server_os_name String after common_server_port; +ALTER table tsg_galaxy_v3.radius_record on cluster ck_query add column IF NOT EXISTS common_server_os_name String after common_server_port; + +ALTER table tsg_galaxy_v3.gtpc_record_local on cluster ck_cluster add column IF NOT EXISTS common_server_os_name String after common_server_port; +ALTER table tsg_galaxy_v3.gtpc_record on cluster ck_cluster add column IF NOT EXISTS common_server_os_name String after common_server_port; +ALTER table tsg_galaxy_v3.gtpc_record on cluster ck_query add column IF NOT EXISTS common_server_os_name String after common_server_port; + +ALTER table tsg_galaxy_v3.voip_record_local on cluster ck_cluster add column IF NOT EXISTS common_server_os_name String after common_server_port; +ALTER table tsg_galaxy_v3.voip_record on cluster ck_cluster add column IF NOT EXISTS common_server_os_name String after common_server_port; +ALTER table tsg_galaxy_v3.voip_record on cluster ck_query add column IF NOT EXISTS common_server_os_name String after common_server_port; + diff --git a/tsg-olap/parcels/roles/initialization/clickhouse/tasks/init.yml b/tsg-olap/parcels/roles/initialization/clickhouse/tasks/init.yml new file mode 100644 index 0000000..9c4c8b9 --- /dev/null +++ b/tsg-olap/parcels/roles/initialization/clickhouse/tasks/init.yml @@ -0,0 +1,24 @@ +- name: Setting clickhouse init directory + set_fact: + init_path: '{{ deploy_dir }}/clickhouse/init/' + +- name: Creatting clickhouse init directory + file: + path: '{{ init_path }}' + state: directory + +- name: Copying Clickhouse create tables sql + copy: + src: 'files/{{ item }}' + dest: '{{ init_path }}/{{ item }}' + force: true + with_items: + - create_ck_table.sql + - system.sql + +- name: Creating tables + shell: clickhouse-client -h {{ inventory_hostname }} --port 9001 -m -u default --password {{ clickhouse_default_pin }} --multiquery < {{ init_path }}/{{ item }} + loop: + - create_ck_table.sql + - system.sql + run_once: true diff --git a/tsg-olap/parcels/roles/initialization/clickhouse/tasks/main.yml b/tsg-olap/parcels/roles/initialization/clickhouse/tasks/main.yml new file mode 100644 index 0000000..951be61 --- /dev/null +++ b/tsg-olap/parcels/roles/initialization/clickhouse/tasks/main.yml @@ -0,0 +1,5 @@ +- include: init.yml + when: inventory_hostname in groups['clickhouse'][:2] and operation == "install" + +- include: upgrate.yml + when: inventory_hostname in groups['clickhouse'][:2] and operation == "upgrade" diff --git a/tsg-olap/parcels/roles/initialization/clickhouse/tasks/upgrate.yml b/tsg-olap/parcels/roles/initialization/clickhouse/tasks/upgrate.yml new file mode 100644 index 0000000..48401ee --- /dev/null +++ b/tsg-olap/parcels/roles/initialization/clickhouse/tasks/upgrate.yml @@ -0,0 +1,25 @@ +- name: Setting clickhouse upgrade directory + set_fact: + upgrade_path: '{{ deploy_dir }}/clickhouse/upgrade/' + +- name: Creatting clickhouse upgrade directory + file: + path: '{{ upgrade_path }}' + state: directory + +- name: Copying clickhouse upgrade tables sql + copy: + src: 'files/upgrade-sql' + dest: '{{ upgrade_path }}/' + force: true + +- name: Copying clickhouse upgrade script + template: + src: 'upgrade-clickhouse-data.sh.j2' + dest: '{{ upgrade_path }}/upgrade-clickhouse-data.sh' + mode: 0075 + force: true + +- name: Upgrade clickhouse data + shell: cd {{ upgrade_path }} && sh upgrade-clickhouse-data.sh + run_once: true diff --git a/tsg-olap/parcels/roles/initialization/clickhouse/templates/upgrade-clickhouse-data.sh.j2 b/tsg-olap/parcels/roles/initialization/clickhouse/templates/upgrade-clickhouse-data.sh.j2 new file mode 100644 index 0000000..bc9fd19 --- /dev/null +++ b/tsg-olap/parcels/roles/initialization/clickhouse/templates/upgrade-clickhouse-data.sh.j2 @@ -0,0 +1,50 @@ +#!/bin/bash +source /etc/profile +set -e + +# 数据库连接参数 +upgrade_dir=${1:-$(pwd)/upgrade-sql} + +# 指定当前版本和历史版本 +current_version="{{ solution_version }}" +old_version="{{ old_version }}" + +# 数据库连接参数 +db_hostname="127.0.0.1" +db_username="default" +db_password="galaxy2019" + +suffix=".sql" +# 获取更新目录中的所有SQL文件 +sql_files=$(find "${upgrade_dir}" -name "*$suffix") + +# 标记是否开始执行历史版本的标识 +start_execution=false + +# 循环处理每个SQL文件 +for file in ${sql_files}; do + # 从文件名中提取版本号 + filename=$(basename "$file") + version=$(echo "$filename" | grep -oE '[0-9]+(\.[0-9]+)?' | tr -d '.') + current_version="${current_version//./}" + old_version="${old_version//./}" + # 检查是否达到历史版本 + if [[ "${version}" -gt "${old_version}" ]]; then + start_execution=true + fi + + # 检查是否开始执行历史版本之后的SQL文件 + if [[ ${start_execution} = true ]]; then + echo "Executing SQL file: ${file}" + + # 执行SQL文件 + clickhouse-client -h 127.0.0.1 --port 9001 -m -u "${db_username}" --password "${db_password}" --multiquery <"${file}" + echo "Upgrade ${version} successfully" + fi + + # 检查是否达到当前版本 + if [[ "${version}" -ge "${current_version}" ]]; then + break + fi +done + diff --git a/tsg-olap/parcels/roles/initialization/druid/files/cluster/druid_segments-tsg.sql b/tsg-olap/parcels/roles/initialization/druid/files/cluster/druid_segments-tsg.sql new file mode 100644 index 0000000..c62f59c --- /dev/null +++ b/tsg-olap/parcels/roles/initialization/druid/files/cluster/druid_segments-tsg.sql @@ -0,0 +1,39 @@ +delete FROM druid.druid_segments where dataSource='application_protocol_stat' and `start` = '3000-01-02T00:00:00.000Z'; +REPLACE INTO druid.druid_segments (id, dataSource, created_date, `start`, `end`, partitioned, version, used, payload) VALUES ('application_protocol_stat_3000-01-02T00:00:00.000Z_3000-01-03T00:00:00.000Z_2023-12-19T10:54:07.120Z', 'application_protocol_stat', '2023-12-19T10:54:07.120Z', '3000-01-02T00:00:00.000Z', '3000-01-03T00:00:00.000Z', 1, '2023-12-19T10:54:07.120Z', 1, 0x7B2264617461536F75726365223A20226170706C69636174696F6E5F70726F746F636F6C5F73746174222C2022696E74657276616C223A2022333030302D30312D30325430303A30303A30302E3030305A2F333030302D30312D30335430303A30303A30302E3030305A222C202276657273696F6E223A2022323032332D31322D31395431303A35343A30372E3132305A222C20226C6F616453706563223A207B2274797065223A202268646673222C202270617468223A2022686466733A2F2F6E73312F64727569642F7365676D656E74732F6170706C69636174696F6E5F70726F746F636F6C5F737461742F3330303030313031543030303030302E3030305A5F3330303030313032543030303030302E3030305A2F323032332D31322D31395431305F35345F30372E3132305A2F305F696E6465782E7A6970227D2C202264696D656E73696F6E73223A20226465766963655F69642C6465766963655F67726F75702C646174615F63656E7465722C70726F746F636F6C5F737461636B5F69642C6170705F6E616D652C767379735F6964222C20226D657472696373223A202273657373696F6E732C6332735F706B74732C7332635F706B74732C6332735F62797465732C7332635F62797465732C6332735F667261676D656E74732C7332635F667261676D656E74732C6332735F7463705F6C6F73745F62797465732C7332635F7463705F6C6F73745F62797465732C6332735F7463705F6F6F6F726465725F706B74732C7332635F7463705F6F6F6F726465725F706B74732C6332735F7463705F72657472616E736D69747465645F706B74732C7332635F7463705F72657472616E736D69747465645F706B74732C6332735F7463705F72657472616E736D69747465645F62797465732C7332635F7463705F72657472616E736D69747465645F62797465732C696E5F62797465732C6F75745F62797465732C696E5F706B74732C6F75745F706B7473222C2022736861726453706563223A207B2274797065223A20226E756D6265726564222C2022706172746974696F6E4E756D223A20302C2022706172746974696F6E73223A20307D2C202262696E61727956657273696F6E223A20392C202273697A65223A20373739312C20226964656E746966696572223A20226170706C69636174696F6E5F70726F746F636F6C5F737461745F333030302D30312D30325430303A30303A30302E3030305A5F333030302D30312D30335430303A30303A30302E3030305A5F323032332D31322D31395431303A35343A30372E3132305A227D); +REPLACE INTO druid.druid_segments (id, dataSource, created_date, `start`, `end`, partitioned, version, used, payload) VALUES ('monitor_rule_hits_3000-01-02T00:00:00.000Z_3000-01-03T00:00:00.000Z_2023-12-12T10:54:07.120Z', 'monitor_rule_hits', '2023-12-12T10:54:07.120Z', '3000-01-02T00:00:00.000Z', '3000-01-03T00:00:00.000Z', 1, '2023-12-12T10:54:07.120Z', 1, 0x7B2264617461536F75726365223A20226D6F6E69746F725F72756C655F68697473222C2022696E74657276616C223A2022333030302D30312D30325430303A30303A30302E3030305A2F333030302D30312D30335430303A30303A30302E3030305A222C202276657273696F6E223A2022323032332D31322D31325431303A35343A30372E3132305A222C20226C6F616453706563223A207B2274797065223A202268646673222C202270617468223A2022686466733A2F2F6E73312F64727569642F7365676D656E74732F6D6F6E69746F725F72756C655F686974732F3330303030313031543030303030302E3030305A5F3330303030313032543030303030302E3030305A2F323032332D31322D31325431305F35345F30372E3132305A2F305F696E6465782E7A6970227D2C202264696D656E73696F6E73223A2022767379735F69642C6465766963655F69642C6465766963655F67726F75702C646174615F63656E7465722C72756C655F69642C616374696F6E222C20226D657472696373223A20226869745F636F756E742C696E5F62797465732C6F75745F62797465732C696E5F706B74732C6F75745F706B7473222C2022736861726453706563223A207B2274797065223A20226E756D6265726564222C2022706172746974696F6E4E756D223A20302C2022706172746974696F6E73223A20307D2C202262696E61727956657273696F6E223A20392C202273697A65223A20333337312C20226964656E746966696572223A20226D6F6E69746F725F72756C655F686974735F333030302D30312D30325430303A30303A30302E3030305A5F333030302D30312D30335430303A30303A30302E3030305A5F323032332D31322D31325431303A35343A30372E3132305A227D); +delete FROM druid.druid_segments where dataSource='object_statistics' and `start` = '3000-01-02T00:00:00.000Z'; +REPLACE INTO druid.druid_segments (id, dataSource, created_date, `start`, `end`, partitioned, version, used, payload) VALUES ('object_statistics_3000-01-02T00:00:00.000Z_3000-01-03T00:00:00.000Z_2023-12-19T10:54:07.120Z', 'object_statistics', '2023-12-19T10:54:07.120Z', '3000-01-02T00:00:00.000Z', '3000-01-03T00:00:00.000Z', 1, '2023-12-19T10:54:07.120Z', 1, 0x7B2264617461536F75726365223A20226F626A6563745F73746174697374696373222C2022696E74657276616C223A2022333030302D30312D30325430303A30303A30302E3030305A2F333030302D30312D30335430303A30303A30302E3030305A222C202276657273696F6E223A2022323032332D31322D31395431303A35343A30372E3132305A222C20226C6F616453706563223A207B2274797065223A202268646673222C202270617468223A2022686466733A2F2F6E73312F64727569642F7365676D656E74732F6F626A6563745F737461746973746963732F3330303030313031543030303030302E3030305A5F3330303030313032543030303030302E3030305A2F323032332D31322D31395431305F35345F30372E3132305A2F305F696E6465782E7A6970227D2C202264696D656E73696F6E73223A2022767379735F69642C6465766963655F69642C6465766963655F67726F75702C646174615F63656E7465722C74656D706C6174655F69642C63686172745F69642C76657273696F6E2C6F626A6563745F747970652C6F626A6563745F69642C6974656D5F6964222C20226D657472696373223A2022696E5F62797465732C6F75745F62797465732C62797465732C6E65775F696E5F73657373696F6E732C6E65775F6F75745F73657373696F6E732C73657373696F6E73222C2022736861726453706563223A207B2274797065223A20226E756D6265726564222C2022706172746974696F6E4E756D223A20302C2022706172746974696F6E73223A20307D2C202262696E61727956657273696F6E223A20392C202273697A65223A20343631372C20226964656E746966696572223A20226F626A6563745F737461746973746963735F333030302D30312D30325430303A30303A30302E3030305A5F333030302D30312D30335430303A30303A30302E3030305A5F323032332D31322D31395431303A35343A30372E3132305A227D); +delete FROM druid.druid_segments where dataSource='proxy_rule_hits' and `start` = '3000-01-02T00:00:00.000Z'; +REPLACE INTO druid.druid_segments (id, dataSource, created_date, `start`, `end`, partitioned, version, used, payload) VALUES ('proxy_rule_hits_3000-01-02T00:00:00.000Z_3000-01-03T00:00:00.000Z_2024-01-16T10:54:07.120Z', 'proxy_rule_hits', '2024-01-16T10:54:07.120Z', '3000-01-02T00:00:00.000Z', '3000-01-03T00:00:00.000Z', 1, '2024-01-16T10:54:07.120Z', 1, 0x7B2264617461536F75726365223A202270726F78795F72756C655F68697473222C2022696E74657276616C223A2022333030302D30312D30325430303A30303A30302E3030305A2F333030302D30312D30335430303A30303A30302E3030305A222C202276657273696F6E223A2022323032342D30312D31365431303A35343A30372E3132305A222C20226C6F616453706563223A207B2274797065223A202268646673222C202270617468223A2022686466733A2F2F6E73312F64727569642F7365676D656E74732F70726F78795F72756C655F686974732F3330303030313031543030303030302E3030305A5F3330303030313032543030303030302E3030305A2F323032342D30312D31365431305F35345F30372E3132305A2F305F696E6465782E7A6970227D2C202264696D656E73696F6E73223A2022767379735F69642C6465766963655F69642C6465766963655F67726F75702C646174615F63656E7465722C7375625F616374696F6E2C70696E6E696E675F7374617475732C72756C655F69642C616374696F6E2C6869745F636F756E742C696E5F62797465732C6F75745F62797465732C696E5F706B74732C6F75745F706B7473222C20226D657472696373223A2022222C2022736861726453706563223A207B2274797065223A20226E756D6265726564222C2022706172746974696F6E4E756D223A20302C2022706172746974696F6E73223A20307D2C202262696E61727956657273696F6E223A20392C202273697A65223A20333736352C20226964656E746966696572223A202270726F78795F72756C655F686974735F333030302D30312D30325430303A30303A30302E3030305A5F333030302D30312D30335430303A30303A30302E3030305A5F323032342D30312D31365431303A35343A30372E3132305A227D); +REPLACE INTO druid.druid_segments (id, dataSource, created_date, `start`, `end`, partitioned, version, used, payload) VALUES ('security_rule_hits_3000-01-02T00:00:00.000Z_3000-01-03T00:00:00.000Z_2023-12-12T10:54:07.120Z', 'security_rule_hits', '2023-12-12T10:54:07.120Z', '3000-01-02T00:00:00.000Z', '3000-01-03T00:00:00.000Z', 1, '2023-12-12T10:54:07.120Z', 1, 0x7B2264617461536F75726365223A202273656375726974795F72756C655F68697473222C2022696E74657276616C223A2022333030302D30312D30325430303A30303A30302E3030305A2F333030302D30312D30335430303A30303A30302E3030305A222C202276657273696F6E223A2022323032332D31322D31325431303A35343A30372E3132305A222C20226C6F616453706563223A207B2274797065223A202268646673222C202270617468223A2022686466733A2F2F6E73312F64727569642F7365676D656E74732F73656375726974795F72756C655F686974732F3330303030313031543030303030302E3030305A5F3330303030313032543030303030302E3030305A2F323032332D31322D31325431305F35345F30372E3132305A2F305F696E6465782E7A6970227D2C202264696D656E73696F6E73223A2022767379735F69642C6465766963655F69642C6465766963655F67726F75702C646174615F63656E7465722C72756C655F69642C616374696F6E222C20226D657472696373223A20226869745F636F756E742C696E5F62797465732C6F75745F62797465732C696E5F706B74732C6F75745F706B7473222C2022736861726453706563223A207B2274797065223A20226E756D6265726564222C2022706172746974696F6E4E756D223A20302C2022706172746974696F6E73223A20307D2C202262696E61727956657273696F6E223A20392C202273697A65223A20333337312C20226964656E746966696572223A202273656375726974795F72756C655F686974735F333030302D30312D30325430303A30303A30302E3030305A5F333030302D30312D30335430303A30303A30302E3030305A5F323032332D31322D31325431303A35343A30372E3132305A227D); + +delete FROM druid.druid_segments where dataSource='service_chaining_rule_hits' and `start` = '3000-01-02T00:00:00.000Z'; +REPLACE INTO druid.druid_segments (id, dataSource, created_date, `start`, `end`, partitioned, version, used, payload) VALUES ('service_chaining_rule_hits_3000-01-02T00:00:00.000Z_3000-01-03T00:00:00.000Z_2024-01-16T10:54:07.120Z', 'service_chaining_rule_hits', '2024-01-16T10:54:07.120Z', '3000-01-02T00:00:00.000Z', '3000-01-03T00:00:00.000Z', 1, '2024-01-16T10:54:07.120Z', 1, 0x7B2264617461536F75726365223A2022736572766963655F636861696E696E675F72756C655F68697473222C2022696E74657276616C223A2022333030302D30312D30325430303A30303A30302E3030305A2F333030302D30312D30335430303A30303A30302E3030305A222C202276657273696F6E223A2022323032342D30312D31365431303A35343A30372E3132305A222C20226C6F616453706563223A207B2274797065223A202268646673222C202270617468223A2022686466733A2F2F6E73312F64727569642F7365676D656E74732F736572766963655F636861696E696E675F72756C655F686974732F3330303030313031543030303030302E3030305A5F3330303030313032543030303030302E3030305A2F323032342D30312D31365431305F35345F30372E3132305A2F305F696E6465782E7A6970227D2C202264696D656E73696F6E73223A2022767379735F69642C6465766963655F69642C6465766963655F67726F75702C646174615F63656E7465722C72756C655F69642C7366665F70726F66696C655F69642C73665F70726F66696C655F69642C73656E745F706B74732C73656E745F62797465732C726563765F706B74732C726563765F6279746573222C20226D657472696373223A2022222C2022736861726453706563223A207B2274797065223A20226E756D6265726564222C2022706172746974696F6E4E756D223A20302C2022706172746974696F6E73223A20307D2C202262696E61727956657273696F6E223A20392C202273697A65223A20333132322C20226964656E746966696572223A2022736572766963655F636861696E696E675F72756C655F686974735F333030302D30312D30325430303A30303A30302E3030305A5F333030302D30312D30335430303A30303A30302E3030305A5F323032342D30312D31365431303A35343A30372E3132305A227D); +delete FROM druid.druid_segments where dataSource='service_function_status' and `start` = '3000-01-02T00:00:00.000Z'; +REPLACE INTO druid.druid_segments (id, dataSource, created_date, `start`, `end`, partitioned, version, used, payload) VALUES ('service_function_status_3000-01-02T00:00:00.000Z_3000-01-03T00:00:00.000Z_2024-01-16T10:54:07.120Z', 'service_function_status', '2024-01-16T10:54:07.120Z', '3000-01-02T00:00:00.000Z', '3000-01-03T00:00:00.000Z', 1, '2024-01-16T10:54:07.120Z', 1, 0x7B2264617461536F75726365223A2022736572766963655F66756E6374696F6E5F737461747573222C2022696E74657276616C223A2022333030302D30312D30325430303A30303A30302E3030305A2F333030302D30312D30335430303A30303A30302E3030305A222C202276657273696F6E223A2022323032342D30312D31365431303A35343A30372E3132305A222C20226C6F616453706563223A207B2274797065223A202268646673222C202270617468223A2022686466733A2F2F6E73312F64727569642F7365676D656E74732F736572766963655F66756E6374696F6E5F7374617475732F3330303030313031543030303030302E3030305A5F3330303030313032543030303030302E3030305A2F323032342D30312D31365431305F35345F30372E3132305A2F305F696E6465782E7A6970227D2C202264696D656E73696F6E73223A2022767379735F69642C6465766963655F69642C6465766963655F67726F75702C646174615F63656E7465722C73665F70726F66696C655F69642C73665F7374617475732C73665F6C6174656E63795F7573222C20226D657472696373223A2022222C2022736861726453706563223A207B2274797065223A20226E756D6265726564222C2022706172746974696F6E4E756D223A20302C2022706172746974696F6E73223A20307D2C202262696E61727956657273696F6E223A20392C202273697A65223A20323333312C20226964656E746966696572223A2022736572766963655F66756E6374696F6E5F7374617475735F333030302D30312D30325430303A30303A30302E3030305A5F333030302D30312D30335430303A30303A30302E3030305A5F323032342D30312D31365431303A35343A30372E3132305A227D); +delete FROM druid.druid_segments where dataSource='statistics_rule' and `start` = '3000-01-02T00:00:00.000Z'; +REPLACE INTO druid.druid_segments (id, dataSource, created_date, `start`, `end`, partitioned, version, used, payload) VALUES ('statistics_rule_3000-01-02T00:00:00.000Z_3000-01-03T00:00:00.000Z_2024-01-16T10:54:07.120Z', 'statistics_rule', '2024-01-16T10:54:07.120Z', '3000-01-02T00:00:00.000Z', '3000-01-03T00:00:00.000Z', 1, '2024-01-16T10:54:07.120Z', 1, 0x7B2264617461536F75726365223A2022737461746973746963735F72756C65222C2022696E74657276616C223A2022333030302D30312D30325430303A30303A30302E3030305A2F333030302D30312D30335430303A30303A30302E3030305A222C202276657273696F6E223A2022323032342D30312D31365431303A35343A30372E3132305A222C20226C6F616453706563223A207B2274797065223A202268646673222C202270617468223A2022686466733A2F2F6E73312F64727569642F7365676D656E74732F737461746973746963735F72756C652F3330303030313031543030303030302E3030305A5F3330303030313032543030303030302E3030305A2F323032342D30312D31365431305F35345F30372E3132305A2F305F696E6465782E7A6970227D2C202264696D656E73696F6E73223A2022767379735F69642C6465766963655F69642C6465766963655F67726F75702C646174615F63656E7465722C72756C655F69642C74656D706C6174655F69642C63686172745F69642C76657273696F6E2C636C69656E745F69705F6F626A6563742C7365727665725F69705F6F626A6563742C6671646E5F63617465676F72792C636C69656E745F69702C7365727665725F69702C7365727665725F6671646E2C7365727665725F646F6D61696E2C6170706C69636174696F6E2C696E5F62797465732C6F75745F62797465732C62797465732C6E65775F6332735F666C6F77732C6E65775F7332635F666C6F77732C6E65775F696E5F73657373696F6E732C6E65775F6F75745F73657373696F6E732C73657373696F6E732C6E65775F756E65737461626C69736865645F73657373696F6E732C73796E5F706B7473222C20226D657472696373223A202273657373696F6E5F6964656E7469666965725F736B657463682C636C69656E745F69705F736B657463682C7365727665725F69705F736B657463682C696E5F6C6174656E63795F6D735F736B657463682C6F75745F6C6174656E63795F6D735F736B657463682C6C6174656E63795F6D735F736B65746368222C2022736861726453706563223A207B2274797065223A20226E756D6265726564222C2022706172746974696F6E4E756D223A20302C2022706172746974696F6E73223A20307D2C202262696E61727956657273696F6E223A20392C202273697A65223A20393433362C20226964656E746966696572223A2022737461746973746963735F72756C655F333030302D30312D30325430303A30303A30302E3030305A5F333030302D30312D30335430303A30303A30302E3030305A5F323032342D30312D31365431303A35343A30372E3132305A227D); +delete FROM druid.druid_segments where dataSource='statistics_rule_hits' and `start` = '3000-01-02T00:00:00.000Z'; +REPLACE INTO druid.druid_segments (id, dataSource, created_date, `start`, `end`, partitioned, version, used, payload) VALUES ('statistics_rule_hits_3000-01-02T00:00:00.000Z_3000-01-03T00:00:00.000Z_2024-01-16T10:54:07.120Z', 'statistics_rule_hits', '2024-01-16T10:54:07.120Z', '3000-01-02T00:00:00.000Z', '3000-01-03T00:00:00.000Z', 1, '2024-01-16T10:54:07.120Z', 1, 0x7B2264617461536F75726365223A2022737461746973746963735F72756C655F68697473222C2022696E74657276616C223A2022333030302D30312D30325430303A30303A30302E3030305A2F333030302D30312D30335430303A30303A30302E3030305A222C202276657273696F6E223A2022323032342D30312D31365431303A35343A30372E3132305A222C20226C6F616453706563223A207B2274797065223A202268646673222C202270617468223A2022686466733A2F2F6E73312F64727569642F7365676D656E74732F737461746973746963735F72756C655F686974732F3330303030313031543030303030302E3030305A5F3330303030313032543030303030302E3030305A2F323032342D30312D31365431305F35345F30372E3132305A2F305F696E6465782E7A6970227D2C202264696D656E73696F6E73223A2022767379735F69642C6465766963655F69642C6465766963655F67726F75702C646174615F63656E7465722C72756C655F69642C6869745F636F756E742C696E5F62797465732C6F75745F62797465732C696E5F706B74732C6F75745F706B7473222C20226D657472696373223A2022222C2022736861726453706563223A207B2274797065223A20226E756D6265726564222C2022706172746974696F6E4E756D223A20302C2022706172746974696F6E73223A20307D2C202262696E61727956657273696F6E223A20392C202273697A65223A20323838302C20226964656E746966696572223A2022737461746973746963735F72756C655F686974735F333030302D30312D30325430303A30303A30302E3030305A5F333030302D30312D30335430303A30303A30302E3030305A5F323032342D30312D31365431303A35343A30372E3132305A227D); +delete FROM druid.druid_segments where dataSource='sys_storage_log' and `start` = '3000-01-02T00:00:00.000Z'; +REPLACE INTO druid.druid_segments (id, dataSource, created_date, `start`, `end`, partitioned, version, used, payload) VALUES ('sys_storage_log_3000-01-02T00:00:00.000Z_3000-01-03T00:00:00.000Z_2024-01-16T10:54:07.120Z', 'sys_storage_log', '2024-01-16T10:54:07.120Z', '3000-01-02T00:00:00.000Z', '3000-01-03T00:00:00.000Z', 1, '2024-01-16T10:54:07.120Z', 1, 0x7B2264617461536F75726365223A20227379735F73746F726167655F6C6F67222C2022696E74657276616C223A2022333030302D30312D30325430303A30303A30302E3030305A2F333030302D30312D30335430303A30303A30302E3030305A222C202276657273696F6E223A2022323032342D30312D31365431303A35343A30372E3132305A222C20226C6F616453706563223A207B2274797065223A202268646673222C202270617468223A2022686466733A2F2F6E73312F64727569642F7365676D656E74732F7379735F73746F726167655F6C6F672F3330303030313031543030303030302E3030305A5F3330303030313032543030303030302E3030305A2F323032342D30312D31365431305F35345F30372E3132305A2F305F696E6465782E7A6970227D2C202264696D656E73696F6E73223A20226C6F675F747970652C646174615F63656E7465722C6167677265676174655F73697A652C6C6173745F73746F726167652C6D61785F73697A652C757365645F73697A65222C20226D657472696373223A2022222C2022736861726453706563223A207B2274797065223A20226E756D6265726564222C2022706172746974696F6E4E756D223A20302C2022706172746974696F6E73223A20307D2C202262696E61727956657273696F6E223A20392C202273697A65223A20313938322C20226964656E746966696572223A20227379735F73746F726167655F6C6F675F333030302D30312D30325430303A30303A30302E3030305A5F333030302D30312D30335430303A30303A30302E3030305A5F323032342D30312D31365431303A35343A30372E3132305A227D); +delete FROM druid.druid_segments where dataSource='top_client_ips' and `start` = '3000-01-02T00:00:00.000Z'; +REPLACE INTO druid.druid_segments (id, dataSource, created_date, `start`, `end`, partitioned, version, used, payload) VALUES ('top_client_ips_3000-01-02T00:00:00.000Z_3000-01-03T00:00:00.000Z_2024-01-16T10:54:07.120Z', 'top_client_ips', '2024-01-16T10:54:07.120Z', '3000-01-02T00:00:00.000Z', '3000-01-03T00:00:00.000Z', 1, '2024-01-16T10:54:07.120Z', 1, 0x7B2264617461536F75726365223A2022746F705F636C69656E745F697073222C2022696E74657276616C223A2022333030302D30312D30325430303A30303A30302E3030305A2F333030302D30312D30335430303A30303A30302E3030305A222C202276657273696F6E223A2022323032342D30312D31365431303A35343A30372E3132305A222C20226C6F616453706563223A207B2274797065223A202268646673222C202270617468223A2022686466733A2F2F6E73312F64727569642F7365676D656E74732F746F705F636C69656E745F6970732F3330303030313031543030303030302E3030305A5F3330303030313032543030303030302E3030305A2F323032342D30312D31365431305F35345F30372E3132305A2F305F696E6465782E7A6970227D2C202264696D656E73696F6E73223A2022636C69656E745F69702C646174615F63656E7465722C6465766963655F67726F75702C6465766963655F69642C767379735F69642C6D65747269632C696E5F62797465732C6F75745F62797465732C696E5F706B74732C6F75745F706B74732C73657373696F6E73222C20226D657472696373223A2022222C2022736861726453706563223A207B2274797065223A20226E756D6265726564222C2022706172746974696F6E4E756D223A20302C2022706172746974696F6E73223A20307D2C202262696E61727956657273696F6E223A20392C202273697A65223A20333335362C20226964656E746966696572223A2022746F705F636C69656E745F6970735F333030302D30312D30325430303A30303A30302E3030305A5F333030302D30312D30335430303A30303A30302E3030305A5F323032342D30312D31365431303A35343A30372E3132305A227D); +delete FROM druid.druid_segments where dataSource='top_external_ips' and `start` = '3000-01-02T00:00:00.000Z'; +REPLACE INTO druid.druid_segments (id, dataSource, created_date, `start`, `end`, partitioned, version, used, payload) VALUES ('top_external_ips_3000-01-02T00:00:00.000Z_3000-01-03T00:00:00.000Z_2024-01-16T10:54:07.120Z', 'top_external_ips', '2024-01-16T10:54:07.120Z', '3000-01-02T00:00:00.000Z', '3000-01-03T00:00:00.000Z', 1, '2024-01-16T10:54:07.120Z', 1, 0x7B2264617461536F75726365223A2022746F705F65787465726E616C5F697073222C2022696E74657276616C223A2022333030302D30312D30325430303A30303A30302E3030305A2F333030302D30312D30335430303A30303A30302E3030305A222C202276657273696F6E223A2022323032342D30312D31365431303A35343A30372E3132305A222C20226C6F616453706563223A207B2274797065223A202268646673222C202270617468223A2022686466733A2F2F6E73312F64727569642F7365676D656E74732F746F705F65787465726E616C5F6970732F3330303030313031543030303030302E3030305A5F3330303030313032543030303030302E3030305A2F323032342D30312D31365431305F35345F30372E3132305A2F305F696E6465782E7A6970227D2C202264696D656E73696F6E73223A202265787465726E616C5F69702C646174615F63656E7465722C6465766963655F67726F75702C6465766963655F69642C767379735F69642C6D65747269632C696E5F62797465732C6F75745F62797465732C696E5F706B74732C6F75745F706B74732C73657373696F6E73222C20226D657472696373223A2022222C2022736861726453706563223A207B2274797065223A20226E756D6265726564222C2022706172746974696F6E4E756D223A20302C2022706172746974696F6E73223A20307D2C202262696E61727956657273696F6E223A20392C202273697A65223A20333336322C20226964656E746966696572223A2022746F705F65787465726E616C5F6970735F333030302D30312D30325430303A30303A30302E3030305A5F333030302D30312D30335430303A30303A30302E3030305A5F323032342D30312D31365431303A35343A30372E3132305A227D); +delete FROM druid.druid_segments where dataSource='top_internal_ips' and `start` = '3000-01-02T00:00:00.000Z'; +REPLACE INTO druid.druid_segments (id, dataSource, created_date, `start`, `end`, partitioned, version, used, payload) VALUES ('top_internal_ips_3000-01-02T00:00:00.000Z_3000-01-03T00:00:00.000Z_2024-01-16T10:54:07.120Z', 'top_internal_ips', '2024-01-16T10:54:07.120Z', '3000-01-02T00:00:00.000Z', '3000-01-03T00:00:00.000Z', 1, '2024-01-16T10:54:07.120Z', 1, 0x7B2264617461536F75726365223A2022746F705F696E7465726E616C5F697073222C2022696E74657276616C223A2022333030302D30312D30325430303A30303A30302E3030305A2F333030302D30312D30335430303A30303A30302E3030305A222C202276657273696F6E223A2022323032342D30312D31365431303A35343A30372E3132305A222C20226C6F616453706563223A207B2274797065223A202268646673222C202270617468223A2022686466733A2F2F6E73312F64727569642F7365676D656E74732F746F705F696E7465726E616C5F6970732F3330303030313031543030303030302E3030305A5F3330303030313032543030303030302E3030305A2F323032342D30312D31365431305F35345F30372E3132305A2F305F696E6465782E7A6970227D2C202264696D656E73696F6E73223A2022696E7465726E616C5F69702C646174615F63656E7465722C6465766963655F67726F75702C6465766963655F69642C767379735F69642C6D65747269632C696E5F62797465732C6F75745F62797465732C696E5F706B74732C6F75745F706B74732C73657373696F6E73222C20226D657472696373223A2022222C2022736861726453706563223A207B2274797065223A20226E756D6265726564222C2022706172746974696F6E4E756D223A20302C2022706172746974696F6E73223A20307D2C202262696E61727956657273696F6E223A20392C202273697A65223A20333336322C20226964656E746966696572223A2022746F705F696E7465726E616C5F6970735F333030302D30312D30325430303A30303A30302E3030305A5F333030302D30312D30335430303A30303A30302E3030305A5F323032342D30312D31365431303A35343A30372E3132305A227D); +delete FROM druid.druid_segments where dataSource='top_server_domains' and `start` = '3000-01-02T00:00:00.000Z'; +REPLACE INTO druid.druid_segments (id, dataSource, created_date, `start`, `end`, partitioned, version, used, payload) VALUES ('top_server_domains_3000-01-02T00:00:00.000Z_3000-01-03T00:00:00.000Z_2024-01-16T10:54:07.120Z', 'top_server_domains', '2024-01-16T10:54:07.120Z', '3000-01-02T00:00:00.000Z', '3000-01-03T00:00:00.000Z', 1, '2024-01-16T10:54:07.120Z', 1, 0x7B2264617461536F75726365223A2022746F705F7365727665725F646F6D61696E73222C2022696E74657276616C223A2022333030302D30312D30325430303A30303A30302E3030305A2F333030302D30312D30335430303A30303A30302E3030305A222C202276657273696F6E223A2022323032342D30312D31365431303A35343A30372E3132305A222C20226C6F616453706563223A207B2274797065223A202268646673222C202270617468223A2022686466733A2F2F6E73312F64727569642F7365676D656E74732F746F705F7365727665725F646F6D61696E732F3330303030313031543030303030302E3030305A5F3330303030313032543030303030302E3030305A2F323032342D30312D31365431305F35345F30372E3132305A2F305F696E6465782E7A6970227D2C202264696D656E73696F6E73223A2022646F6D61696E2C646174615F63656E7465722C6465766963655F67726F75702C6465766963655F69642C767379735F69642C6D65747269632C696E5F62797465732C6F75745F62797465732C696E5F706B74732C6F75745F706B74732C73657373696F6E73222C20226D657472696373223A2022222C2022736861726453706563223A207B2274797065223A20226E756D6265726564222C2022706172746974696F6E4E756D223A20302C2022706172746974696F6E73223A20307D2C202262696E61727956657273696F6E223A20392C202273697A65223A20333334372C20226964656E746966696572223A2022746F705F7365727665725F646F6D61696E735F333030302D30312D30325430303A30303A30302E3030305A5F333030302D30312D30335430303A30303A30302E3030305A5F323032342D30312D31365431303A35343A30372E3132305A227D); +delete FROM druid.druid_segments where dataSource='top_server_fqdns' and `start` = '3000-01-02T00:00:00.000Z'; +REPLACE INTO druid.druid_segments (id, dataSource, created_date, `start`, `end`, partitioned, version, used, payload) VALUES ('top_server_fqdns_3000-01-02T00:00:00.000Z_3000-01-03T00:00:00.000Z_2024-01-16T10:54:07.120Z', 'top_server_fqdns', '2024-01-16T10:54:07.120Z', '3000-01-02T00:00:00.000Z', '3000-01-03T00:00:00.000Z', 1, '2024-01-16T10:54:07.120Z', 1, 0x7B2264617461536F75726365223A2022746F705F7365727665725F6671646E73222C2022696E74657276616C223A2022333030302D30312D30325430303A30303A30302E3030305A2F333030302D30312D30335430303A30303A30302E3030305A222C202276657273696F6E223A2022323032342D30312D31365431303A35343A30372E3132305A222C20226C6F616453706563223A207B2274797065223A202268646673222C202270617468223A2022686466733A2F2F6E73312F64727569642F7365676D656E74732F746F705F7365727665725F6671646E732F3330303030313031543030303030302E3030305A5F3330303030313032543030303030302E3030305A2F323032342D30312D31365431305F35345F30372E3132305A2F305F696E6465782E7A6970227D2C202264696D656E73696F6E73223A20226671646E2C646174615F63656E7465722C6465766963655F67726F75702C6465766963655F69642C767379735F69642C6D65747269632C696E5F62797465732C6F75745F62797465732C696E5F706B74732C6F75745F706B74732C73657373696F6E73222C20226D657472696373223A2022222C2022736861726453706563223A207B2274797065223A20226E756D6265726564222C2022706172746974696F6E4E756D223A20302C2022706172746974696F6E73223A20307D2C202262696E61727956657273696F6E223A20392C202273697A65223A20333334312C20226964656E746966696572223A2022746F705F7365727665725F6671646E735F333030302D30312D30325430303A30303A30302E3030305A5F333030302D30312D30335430303A30303A30302E3030305A5F323032342D30312D31365431303A35343A30372E3132305A227D); +delete FROM druid.druid_segments where dataSource='top_server_ips' and `start` = '3000-01-02T00:00:00.000Z'; +REPLACE INTO druid.druid_segments (id, dataSource, created_date, `start`, `end`, partitioned, version, used, payload) VALUES ('top_server_ips_3000-01-02T00:00:00.000Z_3000-01-03T00:00:00.000Z_2024-01-16T10:54:07.120Z', 'top_server_ips', '2024-01-16T10:54:07.120Z', '3000-01-02T00:00:00.000Z', '3000-01-03T00:00:00.000Z', 1, '2024-01-16T10:54:07.120Z', 1, 0x7B2264617461536F75726365223A2022746F705F7365727665725F697073222C2022696E74657276616C223A2022333030302D30312D30325430303A30303A30302E3030305A2F333030302D30312D30335430303A30303A30302E3030305A222C202276657273696F6E223A2022323032342D30312D31365431303A35343A30372E3132305A222C20226C6F616453706563223A207B2274797065223A202268646673222C202270617468223A2022686466733A2F2F6E73312F64727569642F7365676D656E74732F746F705F7365727665725F6970732F3330303030313031543030303030302E3030305A5F3330303030313032543030303030302E3030305A2F323032342D30312D31365431305F35345F30372E3132305A2F305F696E6465782E7A6970227D2C202264696D656E73696F6E73223A20227365727665725F69702C646174615F63656E7465722C6465766963655F67726F75702C6465766963655F69642C767379735F69642C6D65747269632C696E5F62797465732C6F75745F62797465732C696E5F706B74732C6F75745F706B74732C73657373696F6E73222C20226D657472696373223A2022222C2022736861726453706563223A207B2274797065223A20226E756D6265726564222C2022706172746974696F6E4E756D223A20302C2022706172746974696F6E73223A20307D2C202262696E61727956657273696F6E223A20392C202273697A65223A20333335362C20226964656E746966696572223A2022746F705F7365727665725F6970735F333030302D30312D30325430303A30303A30302E3030305A5F333030302D30312D30335430303A30303A30302E3030305A5F323032342D30312D31365431303A35343A30372E3132305A227D); +delete FROM druid.druid_segments where dataSource='top_subscribers' and `start` = '3000-01-02T00:00:00.000Z'; +REPLACE INTO druid.druid_segments (id, dataSource, created_date, `start`, `end`, partitioned, version, used, payload) VALUES ('top_subscribers_3000-01-02T00:00:00.000Z_3000-01-03T00:00:00.000Z_2024-01-16T10:54:07.120Z', 'top_subscribers', '2024-01-16T10:54:07.120Z', '3000-01-02T00:00:00.000Z', '3000-01-03T00:00:00.000Z', 1, '2024-01-16T10:54:07.120Z', 1, 0x7B2264617461536F75726365223A2022746F705F7375627363726962657273222C2022696E74657276616C223A2022333030302D30312D30325430303A30303A30302E3030305A2F333030302D30312D30335430303A30303A30302E3030305A222C202276657273696F6E223A2022323032342D30312D31365431303A35343A30372E3132305A222C20226C6F616453706563223A207B2274797065223A202268646673222C202270617468223A2022686466733A2F2F6E73312F64727569642F7365676D656E74732F746F705F73756273637269626572732F3330303030313031543030303030302E3030305A5F3330303030313032543030303030302E3030305A2F323032342D30312D31365431305F35345F30372E3132305A2F305F696E6465782E7A6970227D2C202264696D656E73696F6E73223A2022737562736372696265725F69642C646174615F63656E7465722C6465766963655F67726F75702C6465766963655F69642C767379735F69642C6D65747269632C696E5F62797465732C6F75745F62797465732C696E5F706B74732C6F75745F706B74732C73657373696F6E73222C20226D657472696373223A2022222C2022736861726453706563223A207B2274797065223A20226E756D6265726564222C2022706172746974696F6E4E756D223A20302C2022706172746974696F6E73223A20307D2C202262696E61727956657273696F6E223A20392C202273697A65223A20333336382C20226964656E746966696572223A2022746F705F73756273637269626572735F333030302D30312D30325430303A30303A30302E3030305A5F333030302D30312D30335430303A30303A30302E3030305A5F323032342D30312D31365431303A35343A30372E3132305A227D); +delete FROM druid.druid_segments where dataSource='traffic_general_stat' and `start` = '3000-01-02T00:00:00.000Z'; +REPLACE INTO druid.druid_segments (id, dataSource, created_date, `start`, `end`, partitioned, version, used, payload) VALUES ('traffic_general_stat_3000-01-02T00:00:00.000Z_3000-01-03T00:00:00.000Z_2023-12-26T10:54:07.120Z', 'traffic_general_stat', '2023-12-26T10:54:07.120Z', '3000-01-02T00:00:00.000Z', '3000-01-03T00:00:00.000Z', 1, '2023-12-26T10:54:07.120Z', 1, 0x7B2264617461536F75726365223A2022747261666669635F67656E6572616C5F73746174222C2022696E74657276616C223A2022333030302D30312D30325430303A30303A30302E3030305A2F333030302D30312D30335430303A30303A30302E3030305A222C202276657273696F6E223A2022323032332D31322D32365431303A35343A30372E3132305A222C20226C6F616453706563223A207B2274797065223A202268646673222C202270617468223A2022686466733A2F2F6E73312F64727569642F7365676D656E74732F747261666669635F67656E6572616C5F737461742F3330303030313031543030303030302E3030305A5F3330303030313032543030303030302E3030305A2F323032332D31322D32365431305F35345F30372E3132305A2F305F696E6465782E7A6970227D2C202264696D656E73696F6E73223A20226465766963655F69642C6465766963655F67726F75702C646174615F63656E7465722C767379735F6964222C20226D657472696373223A202273657373696F6E732C6163746976655F73657373696F6E732C636C6F7365645F73657373696F6E732C696E5F62797465732C6F75745F62797465732C696E5F706B74732C6F75745F706B74732C6173796D6D65747269635F6332735F666C6F77732C6173796D6D65747269635F7332635F666C6F77732C7463705F73796E5F706B74732C7463705F61636B5F706B74732C7463705F66696E5F706B74732C7463705F7273745F706B7473222C2022736861726453706563223A207B2274797065223A20226E756D6265726564222C2022706172746974696F6E4E756D223A20302C2022706172746974696F6E73223A20307D2C202262696E61727956657273696F6E223A20392C202273697A65223A20353235322C20226964656E746966696572223A2022747261666669635F67656E6572616C5F737461745F333030302D30312D30325430303A30303A30302E3030305A5F333030302D30312D30335430303A30303A30302E3030305A5F323032332D31322D32365431303A35343A30372E3132305A227D); +delete FROM druid.druid_segments where dataSource='traffic_shaping_rule_hits' and `start` = '3000-01-02T00:00:00.000Z'; +REPLACE INTO druid.druid_segments (id, dataSource, created_date, `start`, `end`, partitioned, version, used, payload) VALUES ('traffic_shaping_rule_hits_3000-01-02T00:00:00.000Z_3000-01-03T00:00:00.000Z_2024-01-16T10:54:07.120Z', 'traffic_shaping_rule_hits', '2024-01-16T10:54:07.120Z', '3000-01-02T00:00:00.000Z', '3000-01-03T00:00:00.000Z', 1, '2024-01-16T10:54:07.120Z', 1, 0x7B2264617461536F75726365223A2022747261666669635F73686170696E675F72756C655F68697473222C2022696E74657276616C223A2022333030302D30312D30325430303A30303A30302E3030305A2F333030302D30312D30335430303A30303A30302E3030305A222C202276657273696F6E223A2022323032342D30312D31365431303A35343A30372E3132305A222C20226C6F616453706563223A207B2274797065223A202268646673222C202270617468223A2022686466733A2F2F6E73312F64727569642F7365676D656E74732F747261666669635F73686170696E675F72756C655F686974732F3330303030313031543030303030302E3030305A5F3330303030313032543030303030302E3030305A2F323032342D30312D31365431305F35345F30372E3132305A2F305F696E6465782E7A6970227D2C202264696D656E73696F6E73223A2022767379735F69642C6465766963655F69642C6465766963655F67726F75702C646174615F63656E7465722C72756C655F69642C70726F66696C655F69642C7072696F726974792C696E5F62797465732C6F75745F62797465732C696E5F706B74732C6F75745F706B74732C696E5F64726F705F706B74732C6F75745F64726F705F706B74732C696E5F6D61785F6C6174656E63795F75732C6F75745F6D61785F6C6174656E63795F75732C696E5F71756575655F6C656E2C6F75745F71756575655F6C656E222C20226D657472696373223A2022222C2022736861726453706563223A207B2274797065223A20226E756D6265726564222C2022706172746974696F6E4E756D223A20302C2022706172746974696F6E73223A20307D2C202262696E61727956657273696F6E223A20392C202273697A65223A20343335332C20226964656E746966696572223A2022747261666669635F73686170696E675F72756C655F686974735F333030302D30312D30325430303A30303A30302E3030305A5F333030302D30312D30335430303A30303A30302E3030305A5F323032342D30312D31365431303A35343A30372E3132305A227D); +delete FROM druid.druid_segments where dataSource='traffic_top_destination_ip_metrics_log' and `start` = '3000-01-02T00:00:00.000Z'; +REPLACE INTO druid.druid_segments (id, dataSource, created_date, `start`, `end`, partitioned, version, used, payload) VALUES ('traffic_top_destination_ip_metrics_log_3000-01-02T00:00:00.000Z_3000-01-03T00:00:00.000Z_2024-01-16T10:54:07.120Z', 'traffic_top_destination_ip_metrics_log', '2024-01-16T10:54:07.120Z', '3000-01-02T00:00:00.000Z', '3000-01-03T00:00:00.000Z', 1, '2024-01-16T10:54:07.120Z', 1, 0x7B2264617461536F75726365223A2022747261666669635F746F705F64657374696E6174696F6E5F69705F6D6574726963735F6C6F67222C2022696E74657276616C223A2022333030302D30312D30325430303A30303A30302E3030305A2F333030302D30312D30335430303A30303A30302E3030305A222C202276657273696F6E223A2022323032342D30312D31365431303A35343A30372E3132305A222C20226C6F616453706563223A207B2274797065223A202268646673222C202270617468223A2022686466733A2F2F6E73312F64727569642F7365676D656E74732F747261666669635F746F705F64657374696E6174696F6E5F69705F6D6574726963735F6C6F672F3330303030313031543030303030302E3030305A5F3330303030313032543030303030302E3030305A2F323032342D30312D31365431305F35345F30372E3132305A2F305F696E6465782E7A6970227D2C202264696D656E73696F6E73223A202261747461636B5F747970652C64657374696E6174696F6E5F69702C6269745F726174652C7061636B65745F726174652C706172746974696F6E5F6E756D2C73657373696F6E5F726174652C767379735F6964222C20226D657472696373223A2022222C2022736861726453706563223A207B2274797065223A20226E756D6265726564222C2022706172746974696F6E4E756D223A20302C2022706172746974696F6E73223A20307D2C202262696E61727956657273696F6E223A20392C202273697A65223A20323139332C20226964656E746966696572223A2022747261666669635F746F705F64657374696E6174696F6E5F69705F6D6574726963735F6C6F675F333030302D30312D30325430303A30303A30302E3030305A5F333030302D30312D30335430303A30303A30302E3030305A5F323032342D30312D31365431303A35343A30372E3132305A227D); diff --git a/tsg-olap/parcels/roles/initialization/druid/files/cluster/push_segments.sh b/tsg-olap/parcels/roles/initialization/druid/files/cluster/push_segments.sh new file mode 100644 index 0000000..3a5410e --- /dev/null +++ b/tsg-olap/parcels/roles/initialization/druid/files/cluster/push_segments.sh @@ -0,0 +1,28 @@ +#!/bin/bash +source /etc/profile + +TIME_DIR="30000101T000000.000Z_30000102T000000.000Z" + +hadoop fs -test -e /druid/segments +if [ $? -ne 0 ] ;then +hadoop fs -mkdir -p /druid/segments +fi + +for dir in `ls ./segments` +do + hadoop fs -test -e /druid/segments/$dir/$TIME_DIR + if [ $? -eq 0 ] ;then + for file in `ls ./segments/$dir/$TIME_DIR` + do + hadoop fs -test -e /druid/segments/$dir/$TIME_DIR/$file + if [ $? -ne 0 ] ;then + hadoop fs -put ./segments/$dir/$TIME_DIR/$file /druid/segments/$dir/$TIME_DIR/ + fi + done + else + hadoop fs -put ./segments/$dir /druid/segments/ + fi + +done + + diff --git a/tsg-olap/parcels/roles/initialization/druid/files/cluster/rule/common_data_rule.json b/tsg-olap/parcels/roles/initialization/druid/files/cluster/rule/common_data_rule.json new file mode 100644 index 0000000..ad1c808 --- /dev/null +++ b/tsg-olap/parcels/roles/initialization/druid/files/cluster/rule/common_data_rule.json @@ -0,0 +1,13 @@ +[ + { + "type" : "loadByPeriod", + "period" : "P365D", + "includeFuture" : true, + "tieredReplicants": { + "_default_tier" : 1 + } + }, + { + "type" : "dropForever" + } +] diff --git a/tsg-olap/parcels/roles/initialization/druid/files/cluster/rule/common_task.txt b/tsg-olap/parcels/roles/initialization/druid/files/cluster/rule/common_task.txt new file mode 100644 index 0000000..f3e8373 --- /dev/null +++ b/tsg-olap/parcels/roles/initialization/druid/files/cluster/rule/common_task.txt @@ -0,0 +1,19 @@ +application_protocol_stat +proxy_rule_hits +security_rule_hits +service_chaining_rule_hits +service_function_status +statistics_object +statistics_rule_hits +statistics_rule +sys_storage_log +top_client_ips +top_external_ips +top_internal_ips +top_server_domains +top_server_fqdns +top_server_ips +top_subscribers +traffic_general_stat +traffic_shaping_rule_hits +traffic_top_destination_ip_metrics_log diff --git a/tsg-olap/parcels/roles/initialization/druid/files/cluster/rule/hot_data_rule.json b/tsg-olap/parcels/roles/initialization/druid/files/cluster/rule/hot_data_rule.json new file mode 100644 index 0000000..a44486e --- /dev/null +++ b/tsg-olap/parcels/roles/initialization/druid/files/cluster/rule/hot_data_rule.json @@ -0,0 +1,13 @@ +[ + { + "type" : "loadByPeriod", + "period" : "PT1H", + "includeFuture" : true, + "tieredReplicants": { + "_default_tier" : 1 + } + }, + { + "type" : "dropForever" + } +] diff --git a/tsg-olap/parcels/roles/initialization/druid/files/cluster/rule/hot_task.txt b/tsg-olap/parcels/roles/initialization/druid/files/cluster/rule/hot_task.txt new file mode 100644 index 0000000..e69de29 diff --git a/tsg-olap/parcels/roles/initialization/druid/files/cluster/rule/post_rule.sh b/tsg-olap/parcels/roles/initialization/druid/files/cluster/rule/post_rule.sh new file mode 100644 index 0000000..0889f1d --- /dev/null +++ b/tsg-olap/parcels/roles/initialization/druid/files/cluster/rule/post_rule.sh @@ -0,0 +1,28 @@ +#!/bin/bash + +base_dir=`dirname $0` +echo $base_dir + +#router节点IP +router_ip=$1 + +common_task_name=`cat $base_dir/common_task.txt` +common_rule_file="$base_dir/common_data_rule.json" + +hot_task_name=`cat $base_dir/hot_task.txt` +hot_rule_file="$base_dir/hot_data_rule.json" + +for var in ${common_task_name[@]}; +do +curl -X 'POST' -H 'Content-Type:application/json' -d @$common_rule_file http://${router_ip}:8089/druid/coordinator/v1/rules/${var} +echo "'${var}' 任务启动成功" +sleep 2 +done + +for var in ${hot_task_name[@]}; +do +curl -X 'POST' -H 'Content-Type:application/json' -d @$hot_rule_file http://${router_ip}:8089/druid/coordinator/v1/rules/${var} +echo "'${var}' 任务启动成功" +sleep 2 +done + diff --git a/tsg-olap/parcels/roles/initialization/druid/files/cluster/rule/supervisor-manger b/tsg-olap/parcels/roles/initialization/druid/files/cluster/rule/supervisor-manger new file mode 100644 index 0000000..799da22 --- /dev/null +++ b/tsg-olap/parcels/roles/initialization/druid/files/cluster/rule/supervisor-manger @@ -0,0 +1,76 @@ +#!/bin/bash + +base_dir=`dirname $0` +base_dir="$(cd "$base_dir" && pwd)" +#echo $base_dir + +router_ip='127.0.0.1' + +common_task_name=`cat $base_dir/common_task.txt` +common_rule_file="$base_dir/common_data_rule.json" + +hot_task_name=`cat $base_dir/hot_task.txt` +hot_rule_file="$base_dir/hot_data_rule.json" + +case $1 in + + resetAll) + for var in ${common_task_name[@]}; + do + curl -X 'POST' http://${router_ip}:8089/druid/indexer/v1/supervisor/${var}/reset + sleep 2 + done + + for var in ${hot_task_name[@]}; + do + curl -X 'POST' http://${router_ip}:8089/druid/indexer/v1/supervisor/${var}/reset + sleep 2 + done + ;; + + terminateAll) + curl -X 'POST' http://${router_ip}:8089/druid/indexer/v1/supervisor/terminateAll + ;; + + shutdownAllTasks) + for var in ${common_task_name[@]}; + do + curl -X 'POST' http://${router_ip}:8089/druid/indexer/v1/datasources/${var}/shutdownAllTasks + sleep 2 + done + + for var in ${hot_task_name[@]}; + do + curl -X 'POST' http://${router_ip}:8089/druid/indexer/v1/datasources/${var}/shutdownAllTasks + sleep 2 + done + ;; + + reset) + if [ $# -le 1 ]; then + echo "Usage: supervisor-manger reset " + exit 1 + fi + curl -X 'POST' http://${router_ip}:8089/druid/indexer/v1/supervisor/$2/reset + ;; + + terminate) + if [ $# -le 1 ]; then + echo "Usage: supervisor-manger terminate " + exit 1 + fi + curl -X 'POST' http://${router_ip}:8089/druid/indexer/v1/supervisor/$2/terminate + ;; + + shutdownTasks) + if [ $# -le 1 ]; then + echo "Usage: supervisor-manger shutdownTasks " + exit 1 + fi + curl -X 'POST' http://${router_ip}:8089/druid/indexer/v1/datasources/$2/shutdownAllTasks + ;; + *) + echo "Usage: supervisor-manger {resetAll|terminateAll|shutdownAllTasks}" + echo "Usage: supervisor-manger {reset|terminate|shutdownTasks} " + ;; +esac diff --git a/tsg-olap/parcels/roles/initialization/druid/files/cluster/segments.zip b/tsg-olap/parcels/roles/initialization/druid/files/cluster/segments.zip new file mode 100644 index 0000000000000000000000000000000000000000..cacbbe1bd392ea27f2edaac2d6607c27462bf5b0 GIT binary patch literal 48186 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 literal 0 HcmV?d00001 diff --git a/tsg-olap/parcels/roles/initialization/druid/files/cluster/segments/application_protocol_stat/30000101T000000.000Z_30000102T000000.000Z/2023-12-19T10_54_07.120Z/0_index.zip b/tsg-olap/parcels/roles/initialization/druid/files/cluster/segments/application_protocol_stat/30000101T000000.000Z_30000102T000000.000Z/2023-12-19T10_54_07.120Z/0_index.zip new file mode 100644 index 0000000000000000000000000000000000000000..af003371b58f88cba7db28d5e4aad9b7422fbdeb GIT binary patch literal 1671 zcmWIWW@Zs#;Nak3c;-AgoB;`N1KDM%Ma7xImY~4~AfQ*Ao1b5t@ixN0`?7<`e7zUBN4uNar>e5^UuxEwcS)} z-JI@@O)Z9Vk0q+lv@nibyHw!^qZo^QgS!4b8_q{(^&b@K>-}K-!?ka^n(wS-S4%$f zPdb$S{O`Tl_kZtAR1@~%c*(m~SPkQN0!X@@=;wT6x_M;NJx^F;nW#kXZ~wFd%R_aUwQrZH8Qy( z-|yzWlhCVO#ir3K-Onb=_Uc{0aSsOR$u+8)ehnt>RgFne@7wEcx99k=*85F7mL(y& z>7u@gWnO{lyZ16mueG}odr!9+`m6f?_>Ca~G z&)?s-xCs4Q7t_36yO85(Jo|3eGWj=}H?lXFC%ivk*HFv$o9P?x8|#7tm#$npV0KWh z;p;(@8{Qkj6Y>wn|NIPdXalubDp&CEoqYqD} z+<3p?;Nrr5*~0dld!`r0s2*1Mv~uA#=B$}c<^h*H+_|EqU&$OR&Jeg^_f?{=|BC~& z%v(v}{IWaRKf=RgbGUQ#@9FPfYBa^lE^}Ve$;a!fgq6*wTYho&_{jUzZr%(<8|D?S zwVnl4^qi4d@AraHm5VW9Qzql9VzsKZk#lUjyWFq-3Fru{HN2m4TBIN?IkmFTS|s3D zLFBfVd!r9nPu}3u`o?lbu=4axK2w{5O_xU$KD(K%_hP-lMxUckB&R(-e?avn*O6rz zlIu<;n;f5Z^zXLBBoiy9f7<+g&U2ul+`G;lNWCdG@9m+MR4pBg+r>fC zR(|@td9TIiH>ToW%AakX8}qjEpUAvK>lM*$)jWA&`Y%|{9K4>gBg>gz=u*d9*EvCz zR~X(EDq1MXvFqLMz2_`kd2RB9l?P*AsE8CioyEBC>iau++qWe)O>$~+tU3P=oYy+m zZ|*Zl}^geJFFnk^1pamXzH}({>>|Vm9;l+Y;ZaIcK3rD zowwYk>AW>Rd|=ZZ3x(-!Q45zco|~h6S!TiFe(!UCcI`T9u29vg5U636P&WU&(5Ez} zEjMn2e_C#-v$QDb>YX1|c^zH>QDz}+S7Vd(-1#^YtV%l!kD0V>S+B~u=1ThRlh>(O0@=e#Sosjp#MSbF|g!R)pNewuODwLbWnl!`Aa ze4Rh}#ugj>=A=gDRDqhD@Y7Y^vKtL+>U&n|O+S%t7^y^nE#ZK8M_@Y0l?@W2Bbs>TSOJ$u|G& z_4HfsX8Z+5!@Be-OZ^xb7#=WzqJfb~gaJ_)BbT$Fh(HBMMKiiaqT$@Y}rQ3b1;+9)(mRnRV{3_jc$wkR874a4K zHaq79F0qv;iSk^1JIDU@rI!awx&?xiQ>I^eFn_}A%@cBxKeWy%^Xn_$P$_vvr%u{f z+W7zcnYRv|`Mx>rSM%R*yUONlcS`r2Se0n9nKeo{ZsVTw2k&}Mt71+`j?3pg%oi|C zYHIYmJ9QUqd9OBke(YSxlUpJE;|sr<L6+1AE1R^aJ5< zOoZ$_eJ^+jEfoIp=v3LigU6R~)*Va^P(8M;pi|=5)(6QGKW%nQ^F5J##>P8no$Yps zTMDba#P~C|*lY1K`#m&!VE4fAf#rhF=I+WV&wnf__WJPquQ?ftFGn1; z`QYWDIU$f~ONp3%QEI;&YhJhQX@!=jUJtybbznWMHyC2O(RiUW>Mzio|NRdZIl z+9*ymD|PPIWgGcKTO2AqB0dI(IbIK*=O(ze*k+~8k-l9QmQTE-vu7Qz*1fhF*X}I; zFk|^ALFe6v_x8xl+;;CRpN(;AotCn!{K9WipCsN%FKrd{-g1lM*B%cJ?KRS;RhGTi zJvT|MHsE&H!3irSCrv-dd|zl=;G42X=6oTouPMg>U40J=uxJPXS52w)FnA{PMYI+24P pRp$(#PUIYpt`pfKsE%c4Mv1HdZ&px21uUsp7@h&???7n=1_0Z=)xrP( literal 0 HcmV?d00001 diff --git a/tsg-olap/parcels/roles/initialization/druid/files/cluster/segments/object_statistics/30000101T000000.000Z_30000102T000000.000Z/2023-12-19T10_54_07.120Z/0_index.zip b/tsg-olap/parcels/roles/initialization/druid/files/cluster/segments/object_statistics/30000101T000000.000Z_30000102T000000.000Z/2023-12-19T10_54_07.120Z/0_index.zip new file mode 100644 index 0000000000000000000000000000000000000000..8f6fe8445a8cca2aab7c04a70a2912e2724a5e79 GIT binary patch literal 1393 zcmWIWW@Zs#;Nak3_~A7ImY~4~AfQ*Ao1b5t@iugSx3HtgJQ}$Gw!#pKS`y9}M z>d$Yt=ikraP&{lXYdG^$-L!(J#cTbl=ZC!%-0UCp(naZ~@tLS7>y%5Mw0vh29+=m^ za`w9k8~YNDJ3gy8&a=~TV%q-uSuDL}dw;I*Rc}5irntoEgx<;n=8ERar{pMCy8A_| zAGh9dhsC(tKXaK$@T{Ne##38ou3w#2^*3+x3fb2^7Xo8j{Ep0;$+MPodBmm15Ayn3 z_1Y40$@{nG?g=en7W}?aUz?k>z=+ zZ8iJSEe$u#OxjI9AXWDIzInSiw7I=83pf4nfAPjQ@2S<+$|P-(Hodf2{v%{i0w^ z^{byt(-v=0+bW{BXq#D2_M-I7u3M)s|7HFt`=!#W&!0D{?UvDBRNi;mey4QEO5v{P z;~|&4D>~|#6Lo@FS-X7}>`BWJDHaHK@@f=Rb?|oochzjOd;HQnDZkqoTPK!C{>wI% zE5B8GBOyuivda9!@u2+R6R+7=%f!H7Cx9BZ^=4li&!rCe4|`>9e^&`vGWXlwt9+bJCkhkaJeiJ9s92jzx{!?c)8CAy?HxcqV=dZQ9Xx z%`a+U*xo5=|9;Qtzm>m%t=d`k$eGjGZ0k!z6CT=3vy6N8$l3SU;Zyq^Pjm)%-Hv*| zqT($$nZJIqBVvZg)jqAN zWi0~TQ)8Muv%;!XjV)*O@TbPlbE=uhla+tP`@?OVCYZ!Wgw{E5xp zb**IW%c#%%(Zy@ioYa>IU+(;=og{UA`?Z?xg83gNd}uLH*rRlYvn@c_PQXscPSCFS zlhHN9>)p$Awq9x7<#p=8qXln#Z?$4C9 z8J`>?*+Q9k_3he@*LLm-3UPh9JWkZ+JXd;<>(5D763^vTUF_r*Rgf$#anY7l*397B zekRALZCl;!kQMyQ0;;t?J{N2`r{$@5P;zq3Z__pVnL+8%bCIXyUq%K7eO`R&5tN*B zQ%e$|sm67}#k|7`Jg)cu>SlB`GW?WsVSaTXOo&x@YrXy9pwPNc8%tB}3%9!DZVh&e zZhT<-)LlqeJga3x&^@pGIYmt3yB&B${> zGd$&NLH)$h`*BmU;-AEMWNtY8x1H_sWRaq4U6DTL*H`c?EsWCW zCc literal 0 HcmV?d00001 diff --git a/tsg-olap/parcels/roles/initialization/druid/files/cluster/segments/security_rule_hits/30000101T000000.000Z_30000102T000000.000Z/2023-12-12T10_54_07.120Z/0_index.zip b/tsg-olap/parcels/roles/initialization/druid/files/cluster/segments/security_rule_hits/30000101T000000.000Z_30000102T000000.000Z/2023-12-12T10_54_07.120Z/0_index.zip new file mode 100644 index 0000000000000000000000000000000000000000..6989ff604ff414a2fc8a534c27be6d0357870dfc GIT binary patch literal 1267 zcmWIWW@Zs#;Nak3cq7{r&VU5Cf$Xx>qT$@Y}rQ3b1;+9)(mRnRV{3_jc$wkR874a4K zHaq79F0qv;iSk^1JIDU@rI!awx&?xiQ>I^eFn_}A%@cBxKeWy%^Xn_$P$_vvr%u{f z+W7zcnYRv|`Mx>rSM%R*yUONlcS`r2Se0n9nKeo{ZsVTw2k&}Mt71+`j?3pg%oi|C zYHIYmJ9QUqd9OBke(YSxlUpJE;|sr<L6+1AE1R^aJ5< zOoZ$_eJ^+jEfoIp=v3LigU6R~)*Va^P(8M;pi|=5)(6QGKW%nQ^F5J##>P8no$Yps zTMDba#P~C|*lY1K`#m&!VE4fAf#rhF=I+WV&wnf__WJPquQ?ftFGn1; z`QYWDIU$f~ONp3%QEI;&YhJhQX@!=jUJtybbznWMHyC2O(RiUW>Mzio|NRdZIl z+9*ymD|PPIWgGcKTO2AqB0dI(IbIK*=O(ze*k+~8k-l9QmQTE-vu7Qz*1fhF*X}I; zFk|^ALFe6v_x8xl+;;CRpN(;AotCn!{K9WipCsN%FKrd{-g1lM*B%cJ?KRS;RhGTi zJvT|MHsE&H!3irSCrv-dd|zl=;G42X=6oTouPMg>U40J=uxJPXS52w)FnA{PMYI+24P pRp$(#PUIYpt`pfKsE%c4Mv1HdZ&px21uUsp7@h&???7n=1_0Z=)xrP( literal 0 HcmV?d00001 diff --git a/tsg-olap/parcels/roles/initialization/druid/files/cluster/segments/service_chaining_rule_hits/30000101T000000.000Z_30000102T000000.000Z/2024-01-16T10_54_07.120Z/0_index.zip b/tsg-olap/parcels/roles/initialization/druid/files/cluster/segments/service_chaining_rule_hits/30000101T000000.000Z_30000102T000000.000Z/2024-01-16T10_54_07.120Z/0_index.zip new file mode 100644 index 0000000000000000000000000000000000000000..e5ae0ef98b17170dd67df73ac8f7b5f239056384 GIT binary patch literal 1181 zcmWIWW@Zs#;Nak3aC2W3#()I4f$Xx>qTxzTGy2uONYbpZwtkJ3cWWdhfB(O(gw;uCj zo;NJ|n_A3*JA3E8+g8uE>2QO-!f%FsUHK2B-yE$KS#4c-=j)R0c2}VvlWM+(mhQ{4 z5@FD}o^v$yz#h{RMrL!*_uZJW_xZch32_pg`HNmfgcZIlIK#7j-i_O)pJQ9EtXkGp zzV`Ue*hRhFKA&o;B4p0-sp+TX6mPo8*dTbouIB|`!T!Y?q))2vm@#ku+oRWKCp^3U z_3Nscu5~s)qpi=RS`tuDPh ze2pi%`0d)Af%V@L(hQ7e{8Uey^rg38`Eln%$%l*&c{}+zG`(GIC%o^-qN&-jiqlrg z#&im;pLFY0g3$AM;;LHxg`684|D7ob4V74}U8wn~y5SYq=YzX-J9X95Hpb*Gb(!?# zzA4Lw@-n-<4L|<8o9F)VW$Cfwvx25PcRG4`)3VG%uWu!t%~UwLxYQ^u&g6wn{+UAw zlIbBUQ!`e~o5&mQGSe<3^LBy1<3p2+ZWiu*ml{)Nas^$wB+q>7+lit@PtM27Rd{Kq zOi9{0<=~flb>Ot2HdP_@5hDY`87_Q@4wPndQ%e$|Nh7vDny*t}{Hv#qz$mVuHoz1x^yX?);oLZ>Ey)@;MGU z5|^c_K3%uaH7?FADYWKeHh!7%P+%VOUO(qGJQq1L&+*Ak**$45cbZewVuhgnzfMon zoXWO#>(`6y=eNgbmapY{RP;Yido7EXwqoJU_=e2VyZ;~9I%J26F1dKVQ0lPY;teZj zo!$TF!>dH!Xsc_d?H}@ja#$FFe%lm}{)C1|h#287BLh#Cw8SdWRFIimZ~~`^^1iHJaH}8c5Qg) zRQ@&S)Q35>#%xBOK5=5lQV&kP{%_&GNpZL4KRSITM7QF?yl)$r@B8fgzIXc1NoS-L zk0hy1U!Z(Wy4`5<Op|jha+!tR9CLPa4jU}<4(mn zzgT~noXoJ3mw$eI^5ToPJ7earFK-cGR{VCf;k}d1>lHVApX}Zt86W#*=|i;{KWk&} znHtZY-}mpjpTc^d(j{C$*BbICnYxp{Sy6>`V#9U)=R#Zl$T8PifU7Pl6CRc@ugZH^j7ZaUH8;s zf_Mf;?V^Qe=5AklY5PwZ4i*t-e-nXOi%urrP|%bT{^baLx{)dGWyyl)&Yr8>%mR1MJgih&nOM4JXPnUS&nln0y_VNIk#S)5ykFTa_vch3ocj0Te0{P=C!yO^k8oRRN_^r$^cWz3=L}`ahK4ihjoz)c9^o_S$zU z9Pc%KHKgknI3960_}xM{O>FsGmW-K&{3qIji(8$$b2AB!;)= zqR_rxQQ@E!+wU{Z4(SbD#8b!9Qe6LQ?H$!y+TrTiacw4c@>i6ELdsLQSa*GwTsPsy z>BxD$yj%NzFoXQlyj!kuI?%Omz)6~sNrVBB*^u)Q$VaFEDeDDzqiRIXC!lPG0QNv8 va;8Jqi5$GBI%fcNBIhb}oyZXWn<7cm6*N3J6jH zNJ~otenf0~0(OL~IFAdCrjp2!u(PDdpuj*r2!KI>rJIQbxLx8RNW3urRW2v467WGW z##u-$^|xfxDs0_^>^c;+zqD#Vww8?ZEUn1 zFlq#uObuCL4wF^wm0A72mAH|1gUc(6vCoU(IB7}6Cjv#vghO_1A?8KuwdtIZ zNFu>~axB!+tN50U;8HV1@Iyv~0EANU*?RW`KRGE*7z<0DQygDtr zze>Td6*%O3ls^$$KRs_YzS%%Hf4*T}zUdN*p8bv1KBSb8Ze?yVNFq+^Bry<8`BPf+ z-}SYRPb73a`0$})9v?-&zcxBxS!fnLGQ@D`=omI!Kv*&}-CHu!KeJ@-yrZcip5~`L zh$<&xL*dz%dfFin>Y_Hq6z%_dZ{H)t&4o4new-l|w~v#FJ8ezj(HSAU8BBbRiE59x z>g+;6>n;oX zq~CXQ(JNDO&rGEB!nwSAy`{VV&?!&x5J52fz3a-!kWR_h7Y}rE`CcOMN4P}Mt`OhE z{eB>FiUzV9%s(lTS(i+fzW_+$$NxlAJcj^XPcc}y(rfWbSTb@b_i)AUnev+hE*rB) z-;9lLkN62GXBJ-ty7$87t^iUqi)@k=Cyjxr$hgM!tAXty^rPtOoU*)+a_W>Nm)qJ#D|+&LmZ`52Vr8`k#3s(cdXEK!;6jXpoA~j|@TNk*;?*dXaZ}IE z*lY|on!hq-1tcKA8bD&VDgS$segZIDBA!>1n$<<*qeSxS8k?XCKw5EadY4|ET#;1O zMuT&=Jf+HN!*S;Ap8DiZ=%B1-ZUDys_Fk}M#a}*X@2%8jnA?^xU5YPHM6L|@;XDq} zIN=oa=$LAU&o4POsEojt>=RVHa!P>_lRoQJsc^GWGhihB`QVT7TYHX}irV|g1d)^; z+)|f(Mw!*1IF*dLsIq8!a8Y}FG&kaz6Uf9vCAKAUb>bivr?B7Si0rt%?&PlblFs=P z3D;Gl7(!YSd_DZHF#Y~u4Qf1-*#c!-{Gk`CQ!5%xgyNc3~xE-+Wmyp-R&kl_=*R-jDKF)I4z&y*^xGgQ&btp=QL zmUj6D3r%bBd?1*9Dh~@Td@J=CyzN4)4{2xr1OfndTK~(1woNP|I0pY8uZVE>y(Tb{ z+kD}T^<6<6V;JZVL}-oh@Pff5FHdPB4$K#0WD z>d~@J0}@ka^!>@DUs9iWp8Z#^8N*TA1-Mn}i$Ve~x;--UaFW?75V*|Uz?9PMg4+}C z;w`rr=PL{+^mEa_TA0vSynr|@-Rg^X4bIG6W`x;S*XjBQ@fmAl{h|l3rjOYeXX7LV zsIwX29)FWu09;Z!o)=s7L}lJv{TEBME6)v2H#JuCk$u$1X?lZH4K$zVRnSQaPmvhF*X`6l4=7ry?{Q8$5Mt0MZFBd0dTrGwLI; z5MdR54|q2`254Ec)_e)iZ0*Gt?};jgluegTjJ4(s0$)En*^Pgf)>)dK(nCzvzEg<& zwspKK$oiVSjPtBrFjqw|YN0W0sQKw7c;HvHnmcJH>gly|-=kl=>(X9%q}i`Ax7tpF zt^)afJ=WyJ+7b(RhUmcdyjz$*I5bHB0P*6PV^9*3N`QZ`wUbEO6aO-HK z>z_C-PIuz#Yvs=G_ocExtlY_`ua!F=^5tdw#6;ckSurT7ZOn=}3j)lD_lCbu{|0m) BKQaIS literal 0 HcmV?d00001 diff --git a/tsg-olap/parcels/roles/initialization/druid/files/cluster/segments/statistics_rule_hits/30000101T000000.000Z_30000102T000000.000Z/2024-01-16T10_54_07.120Z/0_index.zip b/tsg-olap/parcels/roles/initialization/druid/files/cluster/segments/statistics_rule_hits/30000101T000000.000Z_30000102T000000.000Z/2024-01-16T10_54_07.120Z/0_index.zip new file mode 100644 index 0000000000000000000000000000000000000000..913226ac800fe187810de7984e33e2a615a8e36b GIT binary patch literal 1166 zcmWIWW@Zs#;Nak3U>9NuXFvknKz3PbQE_H|o?cRBUUEXh0~Uq=Z+4Cy=`$kOfRZdg z9Dq|h4^TEOF}Wnas8TPhI6rT7nAS=ikI+p)r@s2?aQOM2_dTm!=Fe%lm}{)C1|h#2kW>?w#-s-+lXTWOJ6!Z??(_dz|K}On(+=rL5^$oL%g7pvnJM{=YA0y`&fq zd?Jeak{Vj$MXBeov9P;;zIAZmz>e`k?V!Hy$ zJtbp4@lMzH>=YT&nCbD%s%V{|e$1v5F1P1cKm7DS=$=r~kNk?{=U*2K^K7Usv)se9 z?_b~hn_J80ckW&y&>a+AcgtJqz$Tq$E!DFHb*6s5m`ax_ojT>eN2_9u__-xrpIBEO zo^!Wkaj>{nXUdg}f@@29mMo}z=#n^vO=jFC5w+foT>4pc%Dbst?ZLh9>F{0MYi8JcUxE-R!|wZaaSo2iyR37H^8+i$ zmlY9zKdc4%K>_H~0B=Sn5e7t_M9yv?f1(1U9Ez?HIXi)JBLdh1naFt)T_Fe%lm}{)C1|h#2(pO9GIGlJMdUWCP4sM~6t(P`w zZ`9V~aJ{^SbDE6xjmKT7TZQruaDVmOF~vPmjnjVbML7X>9o3KK_j~?Y8YeT%(7&p` z#q+$_*07mUzQ>rahCi3!pR5`jU8|E5a#Qlwir=e_IrR8V>$=79I`*WXz4#LK#C6R& zMsv=(vHv_+QNP1HZ1v@_b{rIhh{f%&ezH>YU+`4@erq|D?`xaGvA z!l(N*PgJxgDqi9Vjqo>J{kxI1(k!k2-@(N!8=@bswt6AaKWVnbH?xehqNj|s7Ek!{ zinTq5f5*MK@0%mGU9aMOQ>s$)?nXb;K9k@ZuX3cBHq8~=Qe%G4VcxuByJu|IU$*em zIxhQC({H|~y5~1exHf&~8?9oU(+j*+=DHVOjnHvBrCiQEjd$ILPZPZZ&r5&Mn$3`N z?@r%4hkf;r))n0Uzr23>n@1eIllSj>QdW22ar2S~Th^Zlu@VaVy5(AHj8NpfSqV#1A#Md=YUB_bUsM@-$BqN`s!u_S_r$tb1v%b#O~_cD*_9gLp+YMoHn zcTmy^J}$Xz1tSAPH!HrR14?*T?0&sWS}{%4jlV{8BF8?0=f0$eONezLb}YS#adHA(Nz z!wU9zkh}j@O*~l-bk%ln%4B2`VL;>==)IVwQPK>^;V8j+JbD7PShJ&=iqTAB z+L@E0uEcfv_@rG{HWZOht(nY|m479=&u!vdFX5{J6_OKf{N8$C+aZhSprh?lS9Nqk zAGjXtKKjJKeoo)9^~;iqH{E1vU_8Lc^MZH7^`IMxpG5W4#h?GqIn-}|^o;oN$GcB; zN^H?}-{tUj4Ueh!Rgy;y!#ZtUlHR{(RH63k5MG?sOmM;Be0_WsZ;wM9Co7kGI(Pt`wnGGM{F5SPfG zJHuJe-#j!kByg|7(iz1w>PlWYsZN|@WwmIk+RSY^>lUBLF>0IkZ%)XH{w5W#Umu=b z*mh3KQS+eWXPe* zixrs*b&_YWeAWu#h)PxbG);|fduiqMWXBhKtqQvirMUTSYc^?r9cOXPMa-GKnxCvMO>e1o;>h zAZ1*1jmWtSlt~f59>_$_vgkUIgCAAr44_WrJc+Io*(0cq-N}R!SpnXxprQp>wy-cf K1JWy*K|BDBn6YaB literal 0 HcmV?d00001 diff --git a/tsg-olap/parcels/roles/initialization/druid/files/cluster/segments/top_external_ips/30000101T000000.000Z_30000102T000000.000Z/2024-01-16T10_54_07.120Z/0_index.zip b/tsg-olap/parcels/roles/initialization/druid/files/cluster/segments/top_external_ips/30000101T000000.000Z_30000102T000000.000Z/2024-01-16T10_54_07.120Z/0_index.zip new file mode 100644 index 0000000000000000000000000000000000000000..24cefaa93e243f99089907315f50876c77751cfb GIT binary patch literal 1191 zcmWIWW@Zs#;Nak3aCBM~#()I4f$Xx>qTU3jNyS!8gxM->EJlqFi-% zMQ370x^{B1fBEg$y%u`hb`2B6PfdQ3BzJVxOvBFYE;bS~8gH#!UstvNm8PBIktEgW zr&MNKmrGGQe);4=nN$8+`+V89ntzzLIWTScDHjQ^^-Mxmah^HWJ)2caYt{%ZOJr>1 zmpuFY@!y*IP3Bd`6JJmM+9r^saHLP-!g>M!Xbm&T8u96myEo^S9sM~!CGGR#i?J_V zcy3Lr-sSLi4VP)~_eRGG)LyYU&ma~;}PVDop;MI6&|2Xu|c6m=h z52i4Wd*f6NNj|L?{Y9+DK8dHVMTrO=R6$ps-QYxdZvJ9qAC>R9#3 zn4dK}_o2_K74bsBXDof|OI|rGozP@u)ihOY*0!9mpfoc{XZLzffmeqYa0uD&(Y$jl zazcpE9K)04)_eZ3f>PdYSDro385tN(1Jfq%lm|+KXsGu6=(mSxN3Z#re~3Q?^R(nwPV#MO=AM+o!yE(j_yF&h#eRj|q2I{{OKfW~M6ZqbKvzpM?axcDZ93 z+j!bK{MnkxyFEC$Yitfh8J*N{dKJ|)u{hpuH~XOtfw!g}lxp`*$uc<;{cpER@L}!0 zC%f1?qj)=myFQ03{1VDhZFTu;@XzIJhs8lY{;MO0BOFdivR!s literal 0 HcmV?d00001 diff --git a/tsg-olap/parcels/roles/initialization/druid/files/cluster/segments/top_internal_ips/30000101T000000.000Z_30000102T000000.000Z/2024-01-16T10_54_07.120Z/0_index.zip b/tsg-olap/parcels/roles/initialization/druid/files/cluster/segments/top_internal_ips/30000101T000000.000Z_30000102T000000.000Z/2024-01-16T10_54_07.120Z/0_index.zip new file mode 100644 index 0000000000000000000000000000000000000000..79e9fb5726079493d67544bafd599f8948e4f63f GIT binary patch literal 1190 zcmWIWW@Zs#;Nak3h;~{P#()I4f$Xx>qT!~m>VBQ)W|MyGX)!-VZj-y_B zQ#}pV+n(_0TRz#@a!Pz?&3vA${0GYEi_iE?=`@%U$ExxrQ+4B8gLBiad|c`_qm7lt zF2!Vi|M$;-Pu_cR*JWM*b!n%LMuFQ&4*Q+AMT%xETedN%j_t@h2hkTAGwxntU%sR96j%69217Yj>#ZScr(Rs%)jv_P zjpeny#3tE-&9mPNx^FXQHo$LckTX`S4rGoseXC#PVt#)rJmnf-b8Nyu>NG(3BD6{6Kd5ir`#x=S3G$e$3d;h z+4p;v1UzLe*wDD)3hR^9f|K_TRvk=`e0^i5=mZ^+x0ROt!Z*t~^BGnDnD6QQ|4CVs z$K>nwmD*u;j~kmW6gaT?!u$?>>|} zm(^4CpycG5?T25_2c^53J?kDkWn^GD4NRH1(;X<;=BAb;LQ{up|6Q)b3OsJ_KkFoB zXhqF;+a=YO^LOE{P5b^Xij|Ces`AYGrs*WJb6@6~@|m^-TspGiN##V?$-PMdo%7nmJzlR2QB8Pc6tXotMr~v8t?S389V@=H#UbL}(|m=8x|=S} zck*>tTCG@oE_0^zlwFwz=JnUy3wfW}{g4~vqL$LRGl+`I*~Iax=v(|pgMLt6H0sqc(a1a7GUAR M!te}8uVM!A08iPkSO5S3 literal 0 HcmV?d00001 diff --git a/tsg-olap/parcels/roles/initialization/druid/files/cluster/segments/top_server_domains/30000101T000000.000Z_30000102T000000.000Z/2024-01-16T10_54_07.120Z/0_index.zip b/tsg-olap/parcels/roles/initialization/druid/files/cluster/segments/top_server_domains/30000101T000000.000Z_30000102T000000.000Z/2024-01-16T10_54_07.120Z/0_index.zip new file mode 100644 index 0000000000000000000000000000000000000000..ae93e8dbcda8db48819cd17da5dfb338bfa4b22a GIT binary patch literal 1189 zcmWIWW@Zs#;Nak3*cr7ti~$L71KDM%Ma7xImY~4~AfQ*Ao1b5t@ixRaTf|XdE$<7*&WgYf0-UwN-yS&H@We57CKldp zeY1$2)7g4uPp|FW+KP`7Ynf@fHt}E0ySt#GlMq);rdGPvGyPk)Z`!gO0 zR1OPLkGaO@sjP54AEd?Km;IKL-xFo^s`^{3 zJ6nI@$GT$$e%l|Enjyu9UiOLdESOM1)n7TH76hpMOfY-nlwuy^gju%MaO zCIvoYoz<~#>5d@QXG^!AjD6e{-VnONIX}!pc430|%sJYeIk!dDbFkidUh(pODti{& zm+$S-x^fAxpVU+_{`n^uSNP)SeUtrdK|V{eeu$Y|;ZBXL(ox+Syw9jTSunI!@zg0@ z8L>Nw+^d6KKeKA~TDHG*K7K9SXi_k%_m&`)%TwOEip=zkx_l{K=vUQ!??p@W)u;4UotW<90aCL+-VP#baPWn5}_%?wLg&SumX?6|Ke!| zCZ${Fx$Tl_>$w#a8=1d9BfKrXvhn+)brZL2OnXt49N7F_^<0nFJTs|75pMQ{T6;JR zQ!Z$6H-5L+Sf6*gT2zN)Zm@WtHwtL%AsC6w{V6M6TCF@f)wSe7`qzFuwe zY|Z4!9-Q2NcDAm4bwa~Q>K%*m^o?<)x-E&zr>ySQ^-DitVyg50Q@-c2lhS{WX0dlx z@y;yn^Uex*Ce~sr|MQREUoYXq;vnCuzfQ^A3iOL1(8mGZj7%a7h^&g73qk%x1xOhe zT_bWX17%VKum>`cvn;w!qTD-EhQi9qTsHV>c&h`DKM% z-Vo3zE_wF(P&X6 zozvlXyC`0K#oVb2(=w&BU#53m**lfhswge|=Rr@s1zQe<+O3f2pENh>)U``5j8C5K z;BgL`ZJ)6zw_x|{_j1)`+u3+!OB^e%xV|^8yffp&p3kMdOX!uyIYekw_v z9j9_?Pk>lx#)_zyPES({PTqe|budNr^^KWR7gYvqSekpT)@57lp=>9{|B~zf?0@62 zxZ&U5iuR?t67+Vwj+ND-scJK~?0&CXZrO1q8Mmv6})t50d$pZ2LSSQw3Yw> literal 0 HcmV?d00001 diff --git a/tsg-olap/parcels/roles/initialization/druid/files/cluster/segments/top_server_ips/30000101T000000.000Z_30000102T000000.000Z/2024-01-16T10_54_07.120Z/0_index.zip b/tsg-olap/parcels/roles/initialization/druid/files/cluster/segments/top_server_ips/30000101T000000.000Z_30000102T000000.000Z/2024-01-16T10_54_07.120Z/0_index.zip new file mode 100644 index 0000000000000000000000000000000000000000..0926f1fb3a6d139f8ef173b34fdfb72c4916d829 GIT binary patch literal 1191 zcmWIWW@Zs#;Nak3XbD{%#()I4f$Xx>qT7J<`S zV>Blx1XfR&Ip@qW_aY7ZRX@}uuiQHj-RCxQu9k43#$GOuH-Dp&q7&!nu6*R&YryTz zvFAj^#u+lt+Am-HaWy2*&n()hqfvl8$su3yTa;GWj2hADle<6HnjP)8KYB*|_~YHD zIwiK~y6&;WvPQ4f}qOWYs z!)dlXV^eOy^4IyZZP}xn+xT`ZsJP-PZ*Vi$=i`>owrP`WvpuEX&#TM+wf5!qXYzSx z>kWRaoBwalyW^H$ld25Mg)X=36P7DmsNSOZkTua|hR{7hFDHdLg8K>sTQ)RJ$i8o~ zB;YA)M9YPMh?h*CjCMT9FW8&1sjKwO8LkWsk(|ug#l{nJr+=6gaG?H>_WykAOEwD_ z1>WzjQ~Y*bUu}BRe*4GXe765*3+`AZ((M(!k2`x-$0{A>DP3(^@pC3GbcuCz3H`aV zz3F+*L!VVE;wA;1vGlRGDqR@l;U_D5(QC3#wAuB*G&4zO?|MIhSBn>POtRZ!xn=EU z1x;0pD=(Rzde+S%{u*!Iz|mY}X%rTQRrtwJM`#;>7#Y zXWY&=>Y8xp>cPpcuQ>e?J5&(x>z0`1*>s=FOA~9a?w@|6c zE0S@xW$L7BOXW}b@-tRjp1QeW>&vtcj36H?eqz176X+ikpsxeG8JR>F5SbM@AAXIgZf$Ps|5a|Tc+a;`+ziR=+n$L?f8iLL-|R#4#rEL~U_ Lo&o9A%pe{BL1U-Y literal 0 HcmV?d00001 diff --git a/tsg-olap/parcels/roles/initialization/druid/files/cluster/segments/top_subscribers/30000101T000000.000Z_30000102T000000.000Z/2024-01-16T10_54_07.120Z/0_index.zip b/tsg-olap/parcels/roles/initialization/druid/files/cluster/segments/top_subscribers/30000101T000000.000Z_30000102T000000.000Z/2024-01-16T10_54_07.120Z/0_index.zip new file mode 100644 index 0000000000000000000000000000000000000000..e27ddcd3b28c856a0a3b3571b1d62e051f07ecb0 GIT binary patch literal 1198 zcmWIWW@Zs#;Nak3$ah*5#()I4f$Xx>qT=6<>P`Rw^$v-f^vIFO}$ zEl54)3ZJXmvCAhXN_3SQ?eVhGTK>`0z4?US5seB&c`nd3truq3QFFo)O=C(f4V~ zi>aFYA%as)FJ0I1J?gc~a?&pGO&!zb+)UlKeG<3E+6_}bOB~XfxpHBS>egQhKP4u* z&M)}Q?YoWlUD@BeN$3BaTd=TMkE49|i(IwuQo?ej``Udr9oNl#eD`v^Z@uZ?tA7rz z{>d$N|LW!a%j+N8eod+}G#9$uvQOxpz`M`;n;eq)&U5H<8Xt;2q?zdZ!{x^rS4Cat zhgXGa*M<288=czYAbinW1z&G%zhz=65P zy#MoCU+`O?D)6sej^W$6bH~LG+`oS)n9ug-+|V5hMTD0c*$7MD>e-}YJ8jZ5ZT<@% z16)EAJ2n*+x3j*#edtw4;9iBLhR+TDUg-QfwdYC5L7}xGCrwg~rzshGW?TKLb&8j- z^qlhL=(&#=hwSr?e@uq*A}-)MDH`!s=Sru zQ9S$csp!W_M<%(hw^6bCeClJ=x5tVR0&NTGEYuT?7OUkeO*06 zGpqa(M$N>|`O`ywqL$LRGl+`I*~Icx=v(|pgMLx6H0sq Uc(a1a7+@j8!te}8Z(;`V0Di_@% literal 0 HcmV?d00001 diff --git a/tsg-olap/parcels/roles/initialization/druid/files/cluster/segments/traffic_general_stat/30000101T000000.000Z_30000102T000000.000Z/2023-12-26T10_54_07.120Z/0_index.zip b/tsg-olap/parcels/roles/initialization/druid/files/cluster/segments/traffic_general_stat/30000101T000000.000Z_30000102T000000.000Z/2023-12-26T10_54_07.120Z/0_index.zip new file mode 100644 index 0000000000000000000000000000000000000000..66c55ae82b396cc9f1a30b13f55f0b3e548dac09 GIT binary patch literal 1479 zcmWIWW@Zs#;Nak3VDy+3&VU5Cf$Xx>qTUPejxvMC9V^pl?}xK`e?D6PHa(nw212 zHF1-V`sC6VXWm&EOYi1o^pE5I$5P*v?*EUafA5z62kI5}y-zd0nIlwCys@3v=JcNT z#-Gm^&)==s^2Pn!gi{^gA5F04U4Aw5y=CchW>fZwTa>2!;fQ=}!WJSGSMIb**X6x? z-`p(|8s9s1PrmV~?_F`P((k=-+1KypntzYqKKJ9tie`Zz<&^F#4?IsS_Vh3_{Nb}M zdb+s(h6>>`XX>WTJmr(R%qV!~$}@LNjP0MDEvat*o%&W{b?bXm*3C*ER`y+-wV|sm zmhauYfHY<}G`?yLaZ= z-YB7KL6h!y-?WyvlT;q#qQtyM2|c`)B&M?aS2+&3{f zk0kFucRsj7``69`mmNja47XlMy|XUg>CH$NuvSQP!n^(8F zn7U65J*#&@b(Lk7tMC%NCJi+$1$c$jT{Kj?2XO=HDAzCcD)9l&MLr7S?Fp zc1v@yF4u>BOAM2o{WBPAH8Q*Hj?cMl^VHn+rOKB|`Qs7SL~177yg&ale|FG{rMq6~ z9A4;|m~GPXe9q&7v#MR&G812TzjvPF6=S*Xs%h{+f$buT{>MGPe#mLtwp;ZR+2q!3 z-lgR+dH-A0BBP~?F1KC$q~WvT(7BJx75~-oYHvT)#};tQ#3A{+%~5v)=iI4{KSTQh zvfLGyto|T;+LSBPYRA3qEW0RXRh@nO{g2HJMRK)Q?U;Yr&^gg6^60GdHAxzCf4dmt0JP(#;=9F3?tX8?5~ms;pLkv)Ry*vZT&ksjd93Mzbor7sJ^Ga!8$R17l! E0BfQ;X8-^I literal 0 HcmV?d00001 diff --git a/tsg-olap/parcels/roles/initialization/druid/files/cluster/segments/traffic_shaping_rule_hits/30000101T000000.000Z_30000102T000000.000Z/2024-01-16T10_54_07.120Z/0_index.zip b/tsg-olap/parcels/roles/initialization/druid/files/cluster/segments/traffic_shaping_rule_hits/30000101T000000.000Z_30000102T000000.000Z/2024-01-16T10_54_07.120Z/0_index.zip new file mode 100644 index 0000000000000000000000000000000000000000..84c033ddd3ddc98062ca1faf19b810bb69287681 GIT binary patch literal 1310 zcmWIWW@Zs#;Nak3$T6-DV?YAjKz3PbQE_H|o?cRBUUEXh0~Uq=Z+4Cy=`$kOfRZdg z9Dq|h4^TEOF}Wnas8TPhI6rT7nAS=ikI+p)r@s2?aQOM2_dTm!=Fe%lm}{)C1|h#2nOvsoU^cV$Sr^4`*-8owX@fN&aT#|2HM= zXM6>UKi0&G8%xQ5{TJHD@As-EKFv`|H^%c)ibjhpjRc<@V(%=PA5Xlv9vXo~IP25U1=X zuyN&|mLEMontrtX==;(6!&UuU&C6iRmFqZ-XCAaVIk$7$Bc%=#X4wORrGdJ}YmI{| zJ3Sw#Xq=p8wN$%$lP`}r3-h`!5ec@(!&;^s`mu0jVJpXrDfbj~mwaEbK+134ixnbry^mrm zU$6u@^6uNBmA$wzxy#tg^|sIFN9Le3d-wW+sftVt4D9^)(kv*+=cbk!MeTc)asioy4%-3-n2GMR7l>qLH!xS$^#X`Ta4qHIyNq0O?4NS z5V#!BX7MP>K$ug_gTYs#-z4eJiRinX(do0RADIXSJDTcUlFCm%Sp9p!R=1|tl75x9 zAODM-6~N%AmHJz4+C#zT3m;g`+qlV8_O8y=348A`yqbEU`u>gZqg{o^w%WeQ&^vog zMXhF!@66S8+1)>l-eCR<79Z;Sfpv~r@mL9OOe55A<&_EWVi8^3OzYV@;% zCq8NA literal 0 HcmV?d00001 diff --git a/tsg-olap/parcels/roles/initialization/druid/files/cluster/segments/traffic_top_destination_ip_metrics_log/30000101T000000.000Z_30000102T000000.000Z/2024-01-16T10_54_07.120Z/0_index.zip b/tsg-olap/parcels/roles/initialization/druid/files/cluster/segments/traffic_top_destination_ip_metrics_log/30000101T000000.000Z_30000102T000000.000Z/2024-01-16T10_54_07.120Z/0_index.zip new file mode 100644 index 0000000000000000000000000000000000000000..630579882b4af4284edb23784eb068609e07d4f1 GIT binary patch literal 1125 zcmWIWW@Zs#;Nak3NHy08Wk3SlKz3PbQE_H|o?cRBUUEXh0~Uq=Z+4Cy=`$kOfRZdg z9Dq|h4^TEOF}Wnas8TPhI6rT7nAS=ikI+p)r@s2?aQOM2_dTm!=Fe%lm}{)C1|h#2stE7NKhEwcym#aq!-1lu z=Pq8Wy2rBC$aJ0`-_?M*iB_w0XC{2@beVk0@1mM*2&1y$uRTFmQX}4bo%?ZV!n|Wk z`!=1(u#=a6!an)$#p9h(`q!cv3>a=SGuku8l?jxw{ApPI@#)cZJ`b7ZN{6s`AR<4<lp$D~^q{I@O7Ie+ushP|o350o9*mS8O`B$W8kRGcxF(`sVjTir9h0{r)%*(hzj zcp#)!+|5Y$>eZu*+S7?Pr;$FSOfd)EZHh>Ga&IqN(A?riz#yxcC#z5i1z$?f`@yVp&wesVbTYSW`d_4;?Od^obR;GN%#6YTQGPqM3c zc%~-G@+#(3f+ELrroct+|{JyigX&(=uIclQroo)9%-b9=d;aO<6nV zKcA+LpxCvTP0!*JcrwktW|jWgK3np+h4kGJzVceVW4($OEgT+Sv-)?hyzL3o!F%^~ zPd?oCHKUCmFr1E>=@Poe8X_6VwDXELEgMu0afsAvF|4J-`LfOIA^hz9_4j)`yp literal 0 HcmV?d00001 diff --git a/tsg-olap/parcels/roles/initialization/druid/files/mysql b/tsg-olap/parcels/roles/initialization/druid/files/mysql new file mode 100644 index 0000000000000000000000000000000000000000..eb261461c9bff255420b44d93862036144b54ecd GIT binary patch literal 15580175 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%0DKioD-Xz%*%ekpH(k7F|}i&ksIHS1*x8t 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%0AfNs`FxBB+Gob@8#ql2q;-=o-rp@>qt+&d z(q@dO!TKT4!XBsiWi*h~xt991gWk`HpGJLdi99qZ7sqyd1@EIDpo*Np8~@lfVvrs1 z2{mp4fflVce*ot>!e@lDG+dS#8~JkrWWC!Nqc5@SBDz)+3vCU!Bc}B5*pK~RHyK3x zZ$^0J9kQ6tq5IA8bx!3=Zjt{qbO19LiG#|1v0)uxZH_B+QuA%#Mve~*>#3GNj?)%! zwQcf841lAaTLgzjzc<6k7%`0TLI#x&0WzOdd8a{XrGm=}*a&F3C?rFcc?4=mjAAi^ zAw#_82fF~ht~~@PR=)P1Sk_hh@qOB#Y}?;c(PjGxDQbW3PTGGK)MnZjcoy+82kx{! z$ypw8BkWl1>sHAV1Ycsz{*-eS>Dv}POTj%235|vb{PzKMyI%xupod!&+=8ETs@dPeo|)#~ z7PlNg?6ue1qt=XnN~fGCVymN=ZG@|VDbVzqvhQ0oDzL&A6Jt`K-VdI32;4(e*NRVWCta6iDvK5 zV~b9&pJ0E)e@ch#=CD`n2sm5*^9_)0q6LwWyU|d{KKzHJOaAE*eeyOK5zm?=+-F1k3Zw@i^v(-PFUB?*XQjduqj7Zeof@iLd60_O9|8u4p z7(?0Mn0zr^gPs2%Xx&B+E;!K33MV&T>$es+B;YH7>5T!M~Ew_TJPts6BugO%NwG1^bl>k?=U_)xj$t1 zC|;SH{a)-6s<4C#c<|ks;YYQmIxNR7b7emM26|=u1mTcw%G=+&IUjMm{;OPEyw-ac z6h@ESchv3l?ryNQ0k?K_xa{k&Gxlr$eEO7x0Qs7WQDyjkCY-p5ptPMp)&I$A_(h@? zl3{^!9u7|=OpTcMs`WK)j8C}$p(*toSpXb_E~66rDxGUTz}dyu!ZyEv;kpVqhOax7fGY($A2HNnhCVvfGw{l*z#8Y zOZc5Y`Ujkz0CF?_u%id&uydpqT6m||vlcM`vuj#{#H(UupbZlm-jgmjBqjKt<4kgq z>Bu6;E{}m!^wNctW!neKt1TAln*cP98C8q?;~5PUlcAQSq1OGh6sp`S^CO9wxVn?Q zzp=rMm1HC_ zydvEEQ8)i?`x4nVLij>alxT!-qO!SAzlyy)8zD5MP^Yu;pV3-``|xDH!S$VqT!1W| z+OILXTo-hp!L*uheVKj(LObU*$b z9J^iLh7wh|U4Gv_+d@OPA$NOMlXc>!FtYT7NjRh_y-ZC~92~|QQvzm5ogwb1dIoh( zOrUNQ*PflGFR`-Za&t7^n>-n;Cy85fhwU(Nk^WuC+$3gkX7|<$V&O-1bLzWOX1OGD z`HSTtH(DrxL+RF)mOT1FYMY^tDwoJ&r9f$Ir6L)4l)D^anUEM*D8qXg#!ysKh6FNW zksJFv2QH7YFq#5SN2j3-_|~|qTB=^;@Py7|ivnlwt$rPvJ@Eog!&xFJXJKs)h;Q2FDJnPF$0l+zE_3p%_5Bwa~1nadI=NWnxLv_EF!OMDe4<20}J$v-v*kJ)bPn}`;438^E55BT7dYX{K zsVE{wD!}v(|6cTZ2ypr^j=XWZefhmek5}Z_ToxjEAGDjAODCqkI_`T9CphFqeM>F7 zvXRke8U_U8i5{zXq(tARO(o7k3r$7;3{$5DM!zQZwyiSe>2jO=8Zr2IUK{nv|7Njv z;C@pln6Zqd8H{@!hqD`v#^e@AZ_VZ}`*NX?F(Az&p%YSYP3uV z!57PeCbqDF0u-d`Zqb9<-`jC)CBE2f!mVQm3%_7pJ?7MZlpDk5HV&0oShm zD6iOzcKKMFb2`Q=9l6Y4&`$EQy2=aKQ|s74`Lx%uuR3*sP#@;3vf4X7dVn{sr#r6D ze-}RsvOLB<2zu?F`i1<7_NlixT`&1#7^Wf5_VEc9iXTU?G$(%KL?!3P4+s}|pA%5_ zIQ8z0DU@^ibJIfJnLSIIOV+zQSP>a@aWN;~`*WZ?rC-?VCc&M{JAf?3TK=qNQKW&U z?AXGOH*RnuoLj%EhdW{L)E={LE^NbBZ|YBVYzTs|!v$SUor9bk92%xrm4m7iQ;L=r z0i9;Q8*%B*{Hp#Kt?+Y)>~{Je;!$N#xI9`Ds;?T9D|x)qy$KukryNh-WCzt}Ak8Ob zE`mu|e#N-MZg){7!w$RW6>{dxj6vz4#>0>7ljMppkWhd?8~25nu>JJ+fxK*N(pFyH zrAxZa;(pavXt)`c@m^1Rncs-2YJ8_Vdan!8#vX&vjllgSDigdeI9D?bzT(%kH`u$~ z9sXz<9Mh72Y|cKd+IXk*WqwASDq@(J2mSr$OBIlPy4}x)MUlK&;K|4vW`5riFQt%x ze;qHC8krpl^*9Yv_IrzmL29A&x2@IDPaqlwuWZXUJxRgyML$d$6)ik2V za4_Gq(!H@zd9BR3`&h7_KQP$3v>st^hJ|GwrTMMbT{Qz%GnEFDx^1j6?B1ft54)V< zgSBDJ$DWa}vB`$O=$Rgh;VT*b*gDSe&~Ph0q^zyhamD@hmpM}&s%Q9h7|v%`Uknu| z>#B@O>LzX`@X!B-2F!v|EPh_}jgazg5<85$g9&0mrD|1ktl!M{9rhp5GkL5RWS^(7 z$c+9MD1FiaL$aS=uk1qGOk@2j%l2`l%{Wh9$|hUw9oLM~0c|Fh6alEvqCNUB(QER# z@(0viFw?2VYLm6|Ki)#p#Lh#`ASE0_Gq=vPVr9EOGzyoJ>TYI<21#{)V}?;MgJBrY zSFhmIah$-88Z-s%zTk#2@|XQ2()=NQl^=)minx4}EnImc@b{6%|s zmW|PPLe4WCb)~?Y{j+t9#iW;WrZ;+!e=)ABy67Ose?rc)Smq}`Y7M!Y$&Y*p*9HTN z4koq}-jk8>yO``ajPw6oB553!nLZZG_{cu72~&Ds@gmbNfb+M#$s>Z=+We!sz~2me z*pB^2;ean1g`RVF1N0{gX{eLkaR-q(4c{6>$UbrSNVy>gzSNJHXCs=<=s*D9Ro97Lm!Bg7*e~Nt&4EP@qw$Yn zHXLKAtlbZP*#mW~7G#eCsdv*w*m}60RfX$rv2(jZ=#BGpfYY<+F@satcSbzk38x6E zPJE0;(xp+RamVs*(OY&dufUw-#9z!nBY?y~X-LGHTB@2)03zM&-B+3Y0cHEM(;39% z4dLeZF&w^Aop*A`n_4LCdLGR&j{()1$DrI$>luYw*LniiOytgQHZF zjSLHt^~ZMSNG>IzN1 zZD(CqG2INAixZsnSXX4;WZLhFb+zxmQV*i1?rgCHuNxcPZP}RUisG*^q|!iLfiR0+ zCz=;^=DF8zz$sZsQ0;2(#6QEBv-X4uriES;CU)T?e(-DB6S_=zey3?U%ST)>N5(W_ z>03Do()%{hS^X++&kN|A-;4O2T4edCe*ogG*45L$x95TAt~=tw;$cq1V|?R(d;$W0 zQT8HJ^(Z@*Zh`do?=*igC-&-$0)NR5sq`hdSZy-bd)v(2Nc#>UPoH zEp%sH#*;r`6#m#hb~t0P`}Jvm%Iw$a^9xpePiA9$q@(jTG`8)1P+#^BOL?Pu?QM{HoF|I6PAPBP9`ahXB= z2ZiM6^$MznX=X?%1-}$-2xKCjC3Y~k3P%5EHRKJySM8d8UhSpFix4T$1ZYKV!Iv|7 zQV{;_Sq6!H$0c`x&KtI|#p!5S_i|*$w_|xl^q*3Sv-3;1uO$_NCw()tbCpDd*fUiP zpG-g5|74I|9ryp%u8v_FIKVHCK7g*(9>fe9`?7_kW`kdGqe--tT4}{hGkz0UUA2pL zk#(!KfqwW#%`P&zO{`8-G0q^p2<9{mwlh4X6Cl(FZp7ol;3axOwfAEVH7*$>8Skvb z;1jCLQa5!^^^vU}lPC6v`V~cOYa?ZEPurq{1J2;EVNx*CwVo(Y2!A zUA5IF8{IPXoX{Cg)uJjFd&~F=g?3@GJswMw@?mnMa66TZudi&fZ8!|qu8x$w7CouT z8$3{L#a7As*eZDm!}QA1Os2IC_D4W5v1-^Fxtfs+Lt7H!wfCz9G#+aEej%2n`D%vC z!vr~?wz4!(XG}AV9F<@R*cHyheY$qFQHBkixOZ{28T#0)p*NYKN5`9ClJ zU=$Icp;2V_j|jj7GL!mK@;~_5POrBAz2Ur5)PHIrwuiE5#iFXIy+F?(PLe=X<$i^M z-OJlg@8l?gMQp+#w+T=F{IGjYp{Zc~*Z!C3DRJw-K^dY_Aq+Tk{B1|UB1KvHl}%aM z{Gpm5q3@|mwd;UxF+7aS(hWtC)tIvQUCiGK{`Ti@n472vVT+lFg%SqdMj-vOmF~Fy zY^3glNozvjw!U=`BA+@=UNC^`o!jY^=B<7Cg{)~qt+fyX#%pgJLETvChtoGpswk4E zZ5yy1J=(b=#3NB@sQ!~&YjF+@_);XB8r|N07KK9ELU;5Wk?91T;+XrvxyzY@1yQWi z@B#y@bW=L_;S3P@IPao?g9HN>Z0zr(CW8XqU6DLpA1!0b>ev&(J}$}x|;8tfs-PM^V$Y1=Zc4U)AAxO zZ4K3L%?%A`tt$J*X&59LHSPY3HE8>N>67F?jObzIrC^SGBYDHIKtR!Vi`})u)9}m8 zslE6;_B?ZH-=9=jMQp)eVo2Zusc4lhtQ=}Kkd19;PcruAcctxS8L--KNOoJ+B)7qr z#nw{Kw)ZDfc^6i8CTGWM#v}fnsM+IR!nC{K&$4mA$M^Vm(LopQ?fE6KO=9E5ahWf| z%zn|1as6|n_|J~3FhqDK6lVzv?gAPt|3Ec{+ceocy}H|Vz1^Fm$Fkp$+rx=(hpa?; zCa)-p%SOL;x7og9o1lk5SQbF`T<`26xAq~9ie1)?PQj`c#PX}X>k0)l2!QW^Bkgdc z^D&Y~?IO|w83I_~-1(60;?eL+AM0+^R9M#+yl|uFcUI zRo+RFvQ@FSt>jm~GMvS*8@<|xx)`7J*MgNBVF90oyi<}wCiX6`hB+n8h=R*_>KG*8 zJdcBT{8NBx-s#C(3<+2AJkAVvhCCb+KcpI_?XoXp$5fBHes#2ajXRTT*7n0$L36<{ ztS*A}i##&dK#SQ#a=!rG!8Z4w>dZjSt!Xp}Z}Ms|tF`bm13#WvL`*x^;3q&r*-K7? z%lEP;p`w}{EMlA@E}k3oYxiHG((=5bvX^4pbW5ho{z_aNxdb%M} z&%YYc;Zd^^E)P~hv4p{4qN87hiDEm5X00=NUeo3 z`$g;pbDo*FWsrX;zJatMULIXkt%S64pcwW+wKruDnhd$)+MsgPwfag#&ORTnzkLI@X zAGyRE(ubr)^G?GbrQI8e=tCr;!6zAsXhvalhGElx=ITWBvJdHkIe`y~c!N&=`H6^=+-bod-N;8~V-gYu$vB zW=i)OOo=JszdfCq5L0s_f8a8frkV&W*K@O*+E*Pb8vcd*u>H!^jd0>TpgB^u+PULK z+E4F_GIz{a9ckVyDfYDLQCBQ-8W!+gOOu&^c_u6YlbL9MP+c*+7q=A_qhbChXGUwe zfaRYNlxcXV5lfbH5stQE0y&XL2CO2aQ_?>-5Wx^JMau3>UylN&^x_V4?Nr1?tf(pZ zBGSAizmZc;g6&D>bBNb1RJJmUt?F zPly^r&&c3oX`{9-N$!UB^Em{O>rs!%b>GGg}X24L7Roh9d-XN)yZa_?10g-E4mh!?;LwXJT=W`l+#lyj|i z0eJ=oh%%fz3#ly)C%r|lh47L7i6Y3aF1xxgN&qaD9HXAam@`IFyE~*SkUxw(f!=uZ z$|>MEnaj!!b5E5!zIX~c1kc#go8Qf^F8L^u=-D&Oyx9)Po($c2r7%bLR5$jxmPW&P zLy8Co-cK!c-(#tpnV=*#B6`mareildBz;h2U)WtwY&paT#ii%5OE;=YM47dY<#*ZG z;*3yQHQ>c67o($=-ssUaW!xNX;^!g0hNZ!UL!%fbH_g+*tFbX*H<5*q`_g@5wCl738~pWW+n1tTw%nm zfP6?Oz&Ue>U*lMvnaD_HoMuP}d%hKzI`%ya<_E#Qj5Fkz15BAyZy#UijG9g6hO2cqn~7^$IWc z4EsmrfETKdtzA%4_VU!rD!tlgLJU7NV0mTPYoWyutGRRskY$Dv@JHTjOqzyu?Mqri;{l?2u(UNd_sLm=3B- zaQ;n#FD1O(MWQqD(R5dR^1W{Kv`x)?Ra5eAgqlXwlf?%K2HYN68)lo6Xc&CUEIJf6=e880Jl89=NtnF2w%WpPBw^eJU8IcX}ij zGn}6uE5cQ^Ge3zo=kKp^x~*2c<6LWg*d0~vUdJ5HE==8S_$&S?MwP-juE{$rCxFjH zxSQGysx7l^^cCMNIV4e{oIt#e~# z$$P#$)ac`;D~d7ruC($f0_AG^xQebT2W&ErLj$Dj)FiIR_5a9Qel9)U>|vYz!)M|4 zSc>AhD)xJKxwTfR@!P5A)izQU=Z0ygv+(n(=G8ARbZcRC{pHAmll+KHKQke!rW1dH zI<8+iv2sA#-7e#|%)Z5BwAO0p;+NLJ{(=1zq$;PU$S&>gad={1e-GR}QY@DLNqt<2 zK)*q^7c5RfL5BMA6gSCt5z=K(e zI@DJr%F7VBuj62I4K+bHip_|x;f!D#gOm4!`=zz_L=V!uKJ#Q4pU(Z7Ur)P~03c&# zB5T(>QZ8=YY^XKj<`2wJ>~Y$rP`Ztr5Iq2mLUjGJUnwBvqJc#36xgg)$~p(v9G^EmOWeRfpy#g-~UH{GjR2omjCzZ|Nr*;&hYqO9nb&i_Byx! z|Mlb#$a#&xE~#69<^g;?>@u=vfszT63fS!9)Le z4VGaS+;K2TOFX=tiJkZvy|aCj<%)uTYdt;#cP`|g?>~ebMp}p1Xup+sGXHW!KXQd2 zD7EMEapE$$vlDOX7>3-wpN11pRv-~^dB>@76OsEjY(_fZ4KE#k{vD;St-5|VjxmZ9 z+3pneeQg*{_?V0MiE4(&bGZ4d)5ANtQzAZ5-z4(u!p*x6Fn>!>wG(0c^me7xTCMt~ zu6op$#tDDlk1h>9;yA1dT$prR^st)8WaWA`jCrDh-%YAUxs>vvpgffFf}lKz@}ohy zKjnFp`5p<3QzCxP4ceD1NS=p9Jl^oBbZwI4aj)|jB-2LTB-%v zTy}=-O-CG*|0uS%&D_(94zaAa8o2qXo;k@%8t^C0w*FK$283=49yk&*Am!FU5Jfu0 zxa|l3%4-IS9Qr+b1b-6cKRxj<^7P|WmOoH-x7Iv)|M)T2IDAAeauya5ipcbP{S4X( zdp{YPa*RC~bDn+I$65I7j>-db3uCFe-9wkktub1#bbtPEw&P0&y-mi8RzG<@aP_ME zUUl?fqVy8wx%BQA2Ay4O8$5;1`lUNNIPH(~-|z3I>Hah$H_u;8CIn#f`$IMFzN!8s zjcG0L`J?|7!{8RYriWg^I8||r{72vcnRrYRtP0q_{41>_%0C>zz$XBBAep1VS`D$m zld9pBm-kf*Eq?r1ns)Pq1Y>H*q&yFMeVaiNDenr_+)zxN4@aFk<>+|ZbS>D;>Ywas zm}bIxrD(?3?Mar@9RW2hKl0sUCn^3ikaE#Et&0IJkVWX{)aG!(nSWlNa4xq|r1jNo zea2|qr-u_~7l+GUj}DQ4>v!;yeFkWedZg8(4PVPQV(F43igN2<2P2aFUj{+wszWaqt5F&Wt?|QA98RF z+flOIng6;oACHVt{++j>aV9DU=8}Jb_URi%%bCAh?~b5{eFvF?2bC;Cnbi<`n_!>R z?=$omjK|U!%Ca}DaMU#D2h#M-#q>T%kfKei9*sH~9 z-x+%3c4mM$YFy9gK$0H8@<(>PQl8V=jUPuS@WH6arGm~NbB z%y`1Bc({uf+GpVV5I~M;iPAuloJ%&$1CO>Gpe)J$iH~5ehf?e8(ePQf*yypahAdpwH zy$u+QZYe2l40{(+-XJ#2iJ|*xsO=S)a#Aof=cu%y|2o(cklzA+`?<9r?J>KfNrvIy zf}1KsjUGkr$095u83#)ES4;AKC@L6dhRt?r-^|{gltlXxB7U5yPlzK^-{|+Gd2C_a zEEe0s0JH2}I`Eua=%;XIRk!Z@{w9jDo4ucUHG}0~JsZ=H&Bwu1{>}YB{v|gD3D=_S z`BymaS)IAmM(M+6iwwH7;b=XPe+5qn|DR8olw#0bn*v6kYV_~pGdw!{@zc`zS9Y{; zvd}&HK-DX^ zx|Hf+m#@r5N)-BaK%jj;G5SVE*&tr6uKbNdk&vRt8+$M-Q0r)2w0{?}zk!3{f2nsH zmo_me>%n_IRACn73hsdggTI5e{fBOmM{K<%hJpwBFucT+3Z$YGMRLgR5li(7;zi~~ zAy1TU3h8xxPX&ymZyZ+uc(r%p&-n-zl$fy~w5SyM1qb~HkIVKAho%%%v*VF(^$q{} z5JW$51h-!JKp0H&M90hszXfv+zbZ!|Btg8$Q5rAcY}EOf=(T`3w$#t#!(4V2*}wJl zPP$7yXy7733ho#7=W%N{GigT3v+XN!K}tuKUcZ&S)pB0j#IQU9hti;Ff5Z$)ntgZl zFmJ)Ucd97BJMkIno5@jG*3vKNlD6j@)ZVr{8uw}NgIi65uiEZ14GK&_OMkR2J+c44 zY3bLtrLl)}99qy4+tg*Yp_BhzL*KIv?cb}*hBUcDZA&?M|7J+tZA+UvK`U!=|9seh z=?DA$o0gV{Oo4mBw~ndaw)A)UN+YvNfKRb4J!BRl=RN@jv&K|rTl(99`?Pd*2U>Uo zKEjwjcCyEGDMX+P{Xm{Sm#+NlzSaVoej~p3qS`DPxKTt^!%f>23X|KQ)#>#;5`uwD z&@L@yxjWU?je`2`{-7Ksx1tYc+A#wvwe1iSuMmN;W>lyJeP3dQ@}1hbRE?DKdf1M@ z+h|R4Hyz5~sNWl`?c~vDyJ>#a?%!0uCh@HHE9p8fSG zk|J=}NU$;5|7N8|erm~>n?HQ@o@K9@$GIGnYzyzy0Wty!URl?ytGjn@PPhb5pZtZy z$=C7MwN`>n-NGg0PR{=&!}_>8kicE?pCaA8S(hv6C?Qx{sahN;72P9Gp1(M>%_b|QLwVVY(`7egdM@7h7)b&(1Z*>#Ky_>#-C{xLPBMH&?KVaIHQ1Wq6c1V zYm~x|gY9Y2{rUF>C$6~mkar*+U9t;ZV>nWK^iYW*xPa+N#wd!3bPE0o>A;_FH-uD> zX9%f$Ae9OF^Y{Ejb;|z`kz|s(|A`Pt#51K5bV5 z;`Yi9by@ikTlrU@D7*5sE-NRIAQ;A*tm*8^XLecn8C&`7PL=z0S@|wo**DC$eazbo zM`QEtFu}`h<iQn0CrRttwHn%P-7Tb!Cu_UN?xmg+Q6=@1at495;zZLKATgn<#pG>4L zt*Yyf=-O1Y`@Fx3ntslXEXCf5ueGAr&%_745o3i<_e~b~HD4N$>;gmjBkt=acF5!J z+s6-@&344!d2FknYM+mVWNGFVePxTOZ2_*$PSe95=_9V-(A>U0)58VO9JYc=#L{EAtXFek_p=+Qc`1oC=XpI zdO)b|nSt}bcuwp{jM$%iuA15AoInr#){QYjut%YPBGjuYH@5GcFab7JwX7-?{smJY zHE8Vj`s*Ecomt{(`F0M~7*|@hoyq9fcUlkUh#|OB3Pi5*kGkLPIcTTmPN^Ua9vXNH z8t}T2qbJ_vc8d*wCcmG>etVcXPohS<9^I4R3LDA{c6OI{s!^( zKC3cj>x4(NE~MJzuDxKxIO$Z+#wAzjsxTz3pw|2|KBIkKJIJF8kw>GgI2(8 zjXqbPw?VO1m3Sv=&Jyso%u*^%X!h*}P+i8X8ouFQ$hF_n9}i%Xp04?m?ug{F*?+f% zI3h9+5qTJW*gu7OnXpZ$!e&Wb@_X%!=5`;b*yh6RMVBV6l0V^h=#y8&-TZ&T4bt-d zb~nh8Dig{FHzDjKaOk;(c{C3+lu_xA4#KMJ_Bo)Pw<}$8K=J=<6y#wGrQpP{sf%Z z83EVo(C1Eb9fN|ut^YXF?$0-=p$0BQeb8IDH9m-E)Xwn_Hyy`H#OwDCW4;lzzZ zgzoeYd&jcnf%%0$V)AoDHN4O#B83ArSkJ(AN5x^eQQ&9Nr7nbCh1_OsAx!20 z7MnrX5$dJBNpO}w6L&4rlK+TkS_dZv;!gZLYFVG=M)9NY3SPH^HF+Ja`oAREypS^X z3L(WDBV|>Ytd6sO>(-%tveRyRz%FKm)iVriLv}&S0*b^j>;8^yoT6^O01O%97zLxx z>wW_6cp*N?+!u(oW!9EOG=gkDh^cg1X2$0?3jXnZCbG?+^}{`Ft?}VhvKCS9~{icoa9USra^vP=wrutX1KCl+krEgoaFa-+gOvk)2ut?9FLuh%eK?dtj4kz0WP7zt=6+v3QSo6 zD2>&l%(ax!^N15Z+-ZpO+JBT4n_{A zfy*cFgQ8^U2jC`cR~o+hYC2zePYMAtOFeZ7vo-U}HCJ9)c_Zj9c?z}st=DFV!18Nj zTr0oy^DD^@{zHMh{0o>b}eK<-Fi|J_^uIY>w0!^bOBbw%ilJ%-?9smwwIjmu-3Q zSCm_AxoHRGr)~M3U6khs_4Vz8w%qdzp8v|03)Por%lT^aHd~&q=TmI?9F?!K(QS|Le=m-2W5# z(BEpyjhff{w*0vIechJls;}p4dCOkP%WQeNVDd!pTzx%a%d0i_`)s)1TmK*i$3R}KMbN`1eFZhh|pKN)H zVE9{G9;9*p(w3juM)}U5zVLO6EnlSiKepxd!rf$BzDHv_&z2{OZpYj5Z`97|wj5Ub zr`YmJ;q-W0uGmTW2wUEw`i?DcQ~f+!ZqR&pUTWZQqsEZ3<#W{6#^AYd@v<%dM&(vp zZd5x@+wupWQl4+i^E9sqZMjnL`IRjfs!h+9N268wx7qS~(cTnW9831HRk7Rxu@D+X3JNr{Ddt(qxK)MWnZ|s&z39I=3Ta2tnt^|^5CtM zr`hsq&G$N6eoL^r#Fi&%Y-ii@7Olr|wp^k5qk`v}%Me?htN9*l%RdrK4z=Y*)j7bH zUlH!weqiQ)sc7JHTmDbg-)zgi=x2j1j}{zWwB;tP{S~%+q~`b!Th7t*KiTp#8uM>$ zdA(rrOIzNf`Q8~k-$MBoTQ=+H$F@9C=G*dG)ql{I9~W)>%9bw`{5@N~RnKp;% zTP{}lIa~gr+FWMK>qRq9m~uby^Kktw#W~Rcic-sHP z=>KVdk6Bxky{MB?DnGiiz0nB>)T_UdwEK|+*yTggmqx{d# z(M?{p?H6>AMn#dO+17%_>cpSr*kwLOwyklu_>1{2HP`?3<+6v@2A6(hltBMkH7kX$ zWIetH986=_HQHTGQ|Mg$#1_yT(&rLMI-zq=V0B^jBql_vt|3>pRyCh=QYQg4k_hE0 zVUx4)z=k!m6KcTbaSkVbkQ+%%?N*~i_1kOsg*5soufy(>^Z1kM&;6*~Mi1fGFEIwU zuLJm;Oe4GKSy_P*yXw9g5__wq+Yr($)Rb(hDO=^#A1+NNG3J|^GE4xZkxL@@fBvu& z?;YsHes33%fnt-0y{gIbQCG2dH zND2V6RthCql5W~=q)gHm;D|Z%2xsA$0D3JTB-Ptq2C7Wc1$AGY6uqFj>`mtmg>BZ| z+&0sR&orgIL!5Y&Qj76OoY@lpD>E1Z?$F4Dt>lHggjj{ZnzAM+7#G*iACCP>$m8@l zIVxy|-+N=f(S(zOcx2X*G6i7!x~+{)ernn&7?6^^5u*^P=pF{;=x|*FF$XX>3nwb* z14~vHAgtR>tB2DnHTF_-Z?acc{pOl}%X2@u5({JC3fUFXW}~3Qo4V{NdKj@J1(R`Rl*T zXC3T2ELNL+D7f(q&s``1W|F-seRPz|bW(?Dbbn%p^Aoe$_U_%g^Q8f+kE`RqXwq$N zP8K~@SBF`lvN@bMvm04lUdm|-*T0z;E_pNhow{fGZlr(K<|4(DhG*?If1ERxw=@)N z(i{H1%U`<2K)l)in>iTFzC^7jRI0HVKM{X_O(e}P*M}4LH}P?GaG!$>|FL(RiQ{gW z$amQjT0N|(rCW~w4JfQzqAzF4i>)l^`w-iAyF-W*H`!vo#T}#)ez2rjbKrbjl$V&2 zyL5;pL4VA7#&t4$FMFS(TmF0$7y65<-F5n1cHtvANgV$epu@LzV(h!@h)OTEi3BFNMRK2$H^X>mLE1Sv0FP+J9sZW{0l7KJ z@RPgPd7k!fzA#OX*zJAxQBjqqCR)^l%yw?>gzADA{XAO9aFMP4IZ^Qp!tG*bvIm=6 zI_g*ECvG>ZZry;jcGYcmmp6Z$UUkc%iGkg!oyzxenn-{jsedc4req7dVWCW2^;&c~ zaV38lT^Vy$v!zJH{SQBchmm?8SR5+9nX5@m3Uvt=VK-rj?Adb+k?E1CXP(yG+O2H} zX7N^$B(7~r6!5F2NZE^1{(~#hkEtmWkZ7yg{R+&(RPQS69LLqA4i&Oo@$B6gkG zLw{k`3kSX%{nqV!nSAtYoz5Q;u5a0A-pLO04kykPx7jXk^G;rM$)~vRoH~-nQg1ywQHF>D8SLB_=A^<(1D!UcVdt zzu$d8j!C8x?7QL+EqOEjAMvpPRB|1x3V#IQPYue@!+iWa2rq(9$@_qe1agiW-9JXq=1aOsf^FSdILuVTX7_Ar4U4-0(1>KXA>5F^{hhWa zBG_rpq1q~URmKsK9&~K zl_kupH9UDoxMVx=zW!1^Nh)W3hJG{$r(pt6sZRVs9T}#%*?$~vqE?O8^2pstgSzcf z_ZhVLrQ$lCL0KAKH51v1#+%{ece&G_v)hmbHea~|i0|7u=v{Irt-Zx#tv9vj?@^V$ zqfb=)g2BHI;pYhG$(=zxpk5I@dDw=e5@WJ%(xc5_%bX4&m((Dd9L)kYqNurl!N=FS z%>vKtEt-^b##$l#FXMp63AE^61ZK5N!=uU{`{QKeuepXe{S~zwnMwi+Ar{*UA+jM_nH|QdIA@Y$vGxAZuN4z+~XWOH< zMV~!RHyz3sDbct4-r}6{96sT`9IxPa$jw=f3@5Yc2Mq&SAf5GNa~vsQhGo@tdHD zAv_qM2cB)>gKqMDZEs>v1!|rSq+y5Ta zlUX0NOH27wB#@N^)Iaw(bf5z#u4t7iGpuQ`dSGli_)3iUG*?jIM&8Z7mJLtd%REsc zd2?8n81Y8t;Teg+gZvy*wfuRWhH_W=W!lie5<&1>ho!WD{yUH=uV~Ntj!iV+{do_*v=fL7b zTJdwm6%!_8FA%T9vE2A1eR0xnspTy(<(o83o#i8^>(VG95ra)m(TCPBj5pNa&c;#ZC);`G(QyP*nZd+O6tW z6o%`$is;IS=hT(u#Ck+<1(yfhhvE#F0XT?EOw?eT(FQWQ%1Riqo<@&~l-1rNRl^d5w5*+l$+WDO%5Bleg#H1SPCd=@zvy|Q{F2?pIZq9z*MPkg z`mds?q&)vDDq8))$P+f(hsl5IKPTvV{eEOys8tK39Zk1zfd5NcFqarcNp$xi{+XvN z>(6`tPXLqiXoho&?lWT40zmI;OG9=anCcqhNOlYewO}jiurEzK=a+oLjQC4 zhRQVMZ>DVeimf%YO*q|G#TEo>l83W=to~{AXX13>+%GGDLY%s{e7}oqT90D3H_jsa zK-F16jut=KC2ovp=nNroW3GRp(7>uZMD93+;Y5tn!Ybd-e_kinQKjc9GTVV+m-0`Y zL4|kxi)swJd%((PHEwI@T+(0Y)Yshe^Ge`jKgd~FRTOE3yv46-nj-f0jM-Jo!uFw7 z9%$wqc6V#l^D3n5Jv~*=Glk)aGuwEq&)v1|vt`Sp6Sz5G=9z|y6C>)rDb68d6K$z2s&WwCWyr2e#==#7zj-Sj1%Mu;Ww&@y^X&ApWRv%w3O*>M0IkXgxEc^z1M zaevi_6Kx0n!yg5$M<1)3u`DO{ApSuNt)8J_Cc-Bne_--LxSimm@AeD6yCMCZ(||0~ zrf=~d6iMmv{cEn0!x3-qV&oSrL5l^@qVworYrj z2@8vfH}wj;xxtu|+?>HB8;!jwn`vsBIto<?QUgO9N z9a^+f@D?}6#J1HhWiykec34wA4#od+ulhqZMBZut+@%fnLkPVh>`h!9Ha^0*EqfCY zc}U9WOj1(s=0JqvW;9sb2OB> z=iIKx;MPKuBDTg|X&41Y@G2Aq)??URGU#ceCG|1P7BDG~T6{y;eX>6Dp@+w${-Lp@oNd8oAt%}UryN5A5cka^estfi$$M*{XUpkoR3Qb(neId>G zQ?7#kM`6uYGCsD%VQY-t=Od_SI^HO3VyXrO6&xc9$~P25?DU_aJ+*5dJ8#IU|*(xD)E{;dLB&}_c=gD)?tmr z>vs)%DLd~(KIWQ^8W++rLpEs&v>(dpU$BvLR zv^)HvNL6AD>FaUZ+J3Q#DuzEr+)5=SpGZ^U+>lpdfl_xR;tQVBpW3FD_@SCkYkai+ z7;q#iC{lBt{G?DsNG-yjAh?BCJrzap1Q~kV8k!K5H^{i44PVPAadlr>eP6UZf^TU zAuq(%n(v3oo8YePVv7_1LalMQ!BXoex*YIkM{4Zv-_7@i8X?8|85yMb&O2G8_>nw! z{uL>Lpkso;|H6{uYo7;$?@Wq+_%9)-iavT<(K}6w2rN9{6&8=_-$?1$>if{`A`nOv z3OvoqP4>6LZzMc(G*SwPwcq6#uDB2B^tOm!{Gg<%V2Q0uyHP*PO1&o3eHur)st2g~U&Q z4t(-6XW@65-$><~;I-5612!v3c+SF#TwZi%;s=2*1)MM3&pwbn4skz#=aY>B@t;PD z8Tb18i;}eM8_&F{_CiBbWZvE7EDXbFreip&ETp$joQ0=x%VyXa(^65_cD!y0ZaXH{ zyPDfZs>^mw-M`{gofn1Mh+Wpr)UeaIVNUo_(jS>DkrJ+K%{lQz9l@sO`s8=_LTKgb z>2ef@jhDNawM>|C3KTX_&dHgLgvv{@+E$l+6}=2x99p;gqL?2c0pt66Y@giVH0a(X z=Pu!w3Qj|-ejd$}dssSkyN@CNwh+7fc&A}4g_fL)^rc#uJyAklH`34xn++?`YuBbIYU-NMBC%|8MsPRyKuY+xkiZ2H&aSqN znXl$5-(~V>m`$aZ&{jx3oIp}IY&-h6SMWVFTxRz-&5i-`NbxZn#%ZxXShsr$xrq%?MWIhqxXFnx0W~c-q}1dL z`I2mWl8=~Pv$$UU8HVd6hks40OC)#oaDLvGc>r<0WfU(HXxJHg;N+F{-fRr$2eSg< zXRLRxpc?%Zx&RJim`F!Z8K}USEMS(aLs8{d*e%5dmtG9e)LS9F8P?GkfMw1Fy68^? zNJdj{iCF-N@8vGCoc$wCSyc)<?P z62K&=Z9%G{cnNsn3{k;LA%K$ax7I#0nS{`{{r^86p3FJ>?919~uf6u#YpuPuk!(2j z0}v4bf>qYY5kE#l&k~SqAhr6?53G2Uac}gYu>g;QcxFysTZ~TzMr+gg$iNie)VMny zMm|Lukh8DQw@Sk8uu@2#!B%8(FFI>+9=;I21J*>l; zcQM3(cLUZ{9vqco87vw0P@-?|K|;_fgM%<(DE0vErV)F|i|%RcqLR--CAv;D`Y?-w zlxz~ z+TKT6`(~6s8nwcbM{70Kyt|ozp_o?2M&L`3<5g|w>yy8dAiK7B9W5Xnk|8!LpR8ga zG~>Wgfn^E{hYuuI$bNJQKd9a8=a%xoaM+1WJOsEmm0N}?b8bdX98>HD?&LhKGqCsR z=nN%{^-`g|MBhWF{TEkIBFyczAAO%50$hJ0)OnJi^=Trg1KXn#YF_MdhH8}6+rhLT^$ik*h5b%X3$ zz@+NgMb|0(*}VjAl01V`LuHPNWS%GshpOG9eEa9yI@tlv8b|&KhYZ0XbZ_`?sd2CS zod<<5k`F`vazcz9324pOWxe<_9aGt8S@C7GC#>uY3K^00dMy_`s@OxRV%+pz(}R7a zvZE;FJ)wV`*Z!Mm(}dlhKt)G&Wp=XAmmChx+*Z2Vne8$Hb6WZQZIG4b-)4W#tpb5> zRf@i>(wH+}7A3V1jJ4v1LiXrIH9Km9ORbu*!kuDcpM5ogBuv=uyf2Yt!+!Y3c;=!Q zn|55M-M8Xu&vwpOvk9v)Dg|XSxSR+H{`vSqS#Yg&JJd02uYEEahZo%~d+Ax5&-&>) zX}D%He^Fg#zal4#Inu?vXRywuhq{2Urp|{dz2vftBfDDte}n<3{ol*Q2#TE}|wF#2juihP4EjCh6H zTump+?BZg#FI|Y&-}MG?PuM!mm;4?>q2-_$H1h2W%AEerr4@-Ank$^V{0$-~RMuA{ z`rh!52$IK^vXa+{XrB|x$+p%_;?k~#;`0K})y>75?og0j=4c`ldvn7y3=#thf|4P2 z2^c#^Ll{q$TRqmIQc|xJq+|B?QV(v^)E{VSUJaEr=6yg~7RxbNtQtgJW^3MQ zdt_u^u;O3m-F^82LG_g!OTUzzICf(@F&Wqrk&CjpqASP!4SFBtWWj1CmVB~mn!&xp zfkrf($h2~GaTeA9S>kaAL1V9{;)C`kbY6>z3LO^j!)K>c6t9!&+DCuFQ|sm4x=(zs zKu%9oKLLt|?UT83?0gh9?f~6{3|w13OHYR^>L?>8V_3Wjn zP6aizN2H$9lw+Q#sGGe^DSP%(6j@8)vjO|w(nDx zP6j0+6h7b3sqg|vYIG|6g%+)NP?wS55=d{-l2l_)^C?h0rq~zx9mBhnA^Q$hrN|nR zE*RpG^u@OslD2|3&_9o!|JaqDAL9msrO-4yz5^I{G>|~iuS3zZkoA)U!G=0UZrU2b z{}>XHEylx=MjVJH6?~uOQ;1;r;;>21UqD;#8D35f=19)pGF%8bbNCdpM1sS zS8*fqmaxnuXJj_ua6RlV*G=1_G%V;BvQy z@zvBDJWSqHqk5NkOxzR6C3g~u5U7eht%|p> zT~W;S61l|$^>4~;U?RecSj!m2Kfes_o#T?v@X8pJe1N^{+>51)W2@Hk2`zpdi>I|h zCm^mqEWc(_>U?ExF3zgALHF!xD!1?AX1iRqq9ng!VG(GO_egKec&7BfC^Ub!0H)U}IBUu5*wMWGefykXkE_uU)v89BARD!F?#= z{$ZyMf@(#VQE6;6UPyza{Cz{Xk4I?kt@jYD`%zuUnVyde)5H3m$x{&f8p=%(gQc+w z`>E+XhU~c5GK~pms4gl-zK4tD+nQUj9b*OO|M=n81*^oRSrf2 z*1}ChAk59;e#pdyFNm$)U3D)|iPpN2dr+u`ZOJG>Za8sYDe*zLplcLfBia%5N@pNj zsFZtoa@?E!OdN%)B!}4{>9`c|C7d&fl9POn+_iIGVaT}?74+E0cQIHJ;Fp1_k@&Zb z=I|~oWCmOm$Rh&`tdP$)Yp42@^as>CC%_%hZvB`d29~m{U5VW6a8qtQwK4X3lC>=7 zDS@*r>-0)=k$MTXo|QFsjKzm5(l0L{_bBrST=7!#Sj1zU6a{8iutMz0un3tOwMQxkm&V=(diAXOpF*2kV)vu{WU1yK+ zQ50Hnqi^f5*7)I%u#J4uScYZ9A*0E=GnbjfZ8>m!F(YlO6jZC!rW+sdb`qV@zuBr*c)#F5;^; zGOT4;?3l;YyOZHMXmY&zIYt4Lc_%Qgh$Tf&gh(SYpGU^X zs9yrli%cExR4#;Zb!QF3*q$Fi!zi=0Z1e@Q&y_+GoH0diWQR<{=q|68%ONzaWr8!H zh@xYqD1IPgd*;I)&l`zxx!rA})k)xU>5H;#5fES~d@{rLP#!16+WYfuW=|7{4hZuG zwqQJM4^16Vhi7tjdyB5So0E&K%;i3g&B;CTn~q1gIXS4y`wzOjKilQ~&C1T@&*<`f zdYAWiy5ukE@;%b!eNC7AJ-U4VW|#Lny5xVp%X`l*`7iABUDgX%F4Sa^bhrJY2l}_o z_(x#_uaSwXj$_x@hf&*drq}(Mm+>MphNd>#xZoVjn%U3Zj)sRDIp7A?9~;DVLGFT4 zyi5Hlduz}}F=(#Js7Tzt#Iw0Bp%nx{jObju)M!5!k+s*zs>pM-tohZfM46UK_uS@u zr1#yp!nj{Dfy&gcRU;(o0zw7u`2%EcCAXs_-4B#@-F(L~Gr@vz$@YAj#82wTQ|&!Cxi)bVK|T+~V1J zOp15i-}6m7mpp|}?oH>Y0X-SWkXZ?s%0 z2Kgc@V6f6MZ5W3>_wkn%MK`6feI+ajoLvL9r85-Jju>oL3$`xbs5wS-#&)%PYrUoq zmOS64S`XW0)MDt^U4DrPFJ>YYUj!_ z+L=3YY-VMVzXTeC8VIrjuK|1Oq$?ABEYMWp|9d2~`bK)$dLl?S{D+&EG5s7Q47VDt zdX72AT8DDAhg{igt*ak%j=d#d1?&9{kyjNXDZZ16OFAjGH)lkBtUZqgxZ*02cX+3+ z4o(H;=S-9VYjMA+3*TmZY*P`b8;~u;y@>rRZ`*Je{ToKZU6|WuKR->9 zUZkx_TX0GAUy@9hR?Wu0W zMQZc8vgsJ@_CJd=eR;niH+C(hTPXV}LIcKmlO;Bwsop+H zH&E>1l-HJQfr;&nwP&&JmfZcRRdVM}tK`47S|vYduu8u3C#&S@C#;eQ|6`Smn;ViF zwBkk7EdCiy@nW8aYsK+l+Faah0o89XGBehm9SP96AFM}U5tpZg6lL?QU38sOrFR#s z7mdH$k1k4Azh1)c+)dI6MZMUohny-EB>JBJhRiDJ8TfMhpcJ0m-@rdxmvrER{GYOu zC4bv?e3Ac_$xqi9aV~ZF6M=Q~v<+rVnYdlHPXub75_0Yv&Lo%3HPL%xyXUw!u!QK< z+#Bxe7k0{uCx-ov)_mFCRoMGRZ06qZ`|`2%Xq-b?V?XE0tBqmj`r=T?zy02EdemxT zWI~1ib9N5MXPFC}I_dw9AhcUn>+P%j?N;I!mp*?dYZ+mDQ)ivR64vNnV*kG3g71%! zAjPTL884Wgc?aMr`9yvQs&VqNx0uDmxnhclHuv>1f(=p)!J$JH{+2th1Wl}Tk#AM{ zzc?D_8gpy@v2o6MgMB0Rw?3HWZ9&d)r{0NhrW9spKD8Gv1DyAHq> zQp^AtZjld#X5gP7Bkk_BXLOMV;OE9QIyho~$_HG-A&+9gZw}d&ODmkSM9JG2T!tM3 zEy_H)6R;1oUSQUjNlODOP^p|RlDs-EjH@2Qj&?cG5DuVW+E-7^P@XeE{7- zs6G(>KVS`PuCRy6R)s>iXZ{z*u_9a%EqA1ja+}YTFxgzt`wj|#bS2R>f!L9($cbe{ zE$w;{eJOguWxmM!(EU;|a3)4x_<9-#6;8H|I(f*cE2sI|Pmr>T>CXE*Z$8U`Iazqw zdzKG}uCUM;N-U@v35RHW6J9Yj_kLJlK|7(=OEnhWNkXG**s-Z`NraY9?iTXOQN3e2 zKDqLHSqfSS(%&h#eTeodr@o)g zI+?2MoFss?F9_Nl>GjBIq!W0g!yX|`--5N3g(oLjE?@LtxAJ3pzRl+Bom}ncic@BV zbFT5=#i-%F@HH4N_oAY#FrL1vg&&KZ;xL35h+T@G#nU=HCb5e5u0D8$oanxlumBA$ zSZCj1x*=;X5>;8ZOlv{)!OF-<)dz2noLGIZT+041dNO5CY29G>8P5Y+S9I`i_!+d7 zcaHM2fsegf=(E;smU}jB*PH3$Ebs>?Pi}e+6p!v$(=6*Day1On3GP`ytHuB1znZ_I%gpv$@r49Sbdf=|Z zeId}K+Dp@S$?UB@bdGo2+!-Bc3R0T&?#jV}_UGzg&YjSXb5DFJiSFAnF6auBdvA*Q z8HUfb;kcBsR^&4h(b1SQd&>yudFTgq5ISv`c1w}Do1`n9W)XDEAV%tCa2S%?qd{sK z(7GJD6t)TeAN`AAXEf%qvlF-`o)d8d88ggl{6EqYR~8Q(0orAR%NgOwxEc;b2s@*u zsmx|(&6JT27^OX86)_haV;mH|<+{e9bk9aDm3{E|qM*Kc?82A!#S2X6JOZYi( zhKT*`4mnkvdVOYFzSOvlJwhEVoIQvhtuB&HO2<~Ksk^bCC z6CM5O1n|WtW&rHa@33=i@i6CjWHT#v5AR8rKOX*vglSOta?)${t}Px1X+J^Q=}kN8 zjqDaeSgqA-=#DS>6~xiyd_m^@>gp^%_oMBQUx+~Df>Aa$`m?rHewsA62sL$O=CSiI z(VU_OQ|wbjRUx@!eqZEA;_7i`dOz#T;4Y{Akv>E%FBNUWJuJSIny!bk`~+8rXPD0u z<@5F833bnK-(8J33~rW_bBVF$(kI1BKK6eAE6bd^xV2?m+n&p+{v>8R&Wi8{YXZC2+ zV{Le|e9{zum}EgiSd6WSDOyF)7pwtcdefU#^C@4ceKDV^{VZB{LD*`wmGwiOcZ{e%?G+b%_Qx(akb{thy6=(O^g62oQ zhZ5t_LyOaBW0{16e3J3>v|O*_O2pYT6vEGIV^*uzc_a~rUSn-E~f z6l&DwFXUH@epWhT#h<0L=}j2A0+Qq%aFBEzN0)A`SGiNoRi=g5u&mbKr~0iidpt~A zE5@<+--w$r;f83ZdaW4W;1bvKf=L=Ji@Kg*m6L&~v~fK(6m6@$K?vKbxj}{}rl;|E zlSLTAjM9DL3Jej?Nu4A1LoFPf3sVKx6b;6IaXK?=DW5{IS<@+ZvCcI{Zd^XMKSkal z)=w5G z#R)m%3aN;Q49@!eyYkSn>ID#sVtHl$WWz5D7Jx97z;;{zxpm>Ld0)2h>}^y z0GT@2TIUot_uH>Hzvr8#bluwUeG62sRz)T5iD#_M63 z*0|1ejMwOZzb!Rh2iRqYV(pCAN4YWv?TkSsBU}a!1F2DamKnv_Q%(n2aXCa2&_R>? zLd~F+2uWn36L&eomO=n!+<_i|+A zS}Vg4vNx)4z591bE5V4t5u%^%01*4lvvr{A+I5Vc)7%M-*Mny(X@n0F{MsAb@%fas zm2bhPO?`8y&u%zdSsp9JWZDwe0nI}(Yh@Vh#D)B=9yJyP&_em1nlX;DP@=9%8bZ7N zm>dZ+TZo-YqC0w@u^bixjldmW!n_!L~ zxJ1OkJdqTxqR;qK6q07e%b1mc+UyRNF^6PfK_|;}b@B=y7eSXTc-P5AoDOoBkC=i) z&^S$IZ(_)47ms0u|B`KKp*kwb@|HxL5_j7xO3weKPzlPyyvb}V z%$DyHe8atJB3zTIOJJI}`jWp9NC_NGGbTt5tj8>e_Up+2;M7To>*PtMLqf)|&u4Uk zLHL3~2UbKAeKyfc%v1%u;dQ2sztT1FwirGl)i0_XB~>~@zWE#ZNl0(lw=LWt)LT$$Eo_qA zpoayk#?^{cwquf}*!(YOtAYqDl$Di2Jl8i6h48aK@CW~OJx!F*NK5Sl@AzYcvEN|A zgUNs&#^>8(FiidACiY<+>{n!$O6O)H;Vl+ck{$++l_yuwsw`9m2kjROdo=@-MIDwz3iRM@Y1`Q3K)F7@)zf1EbDBluq{c`4JP zhE4?kF!)a1&v%2KO3;HUL;TV_^au|fhC^HF@T4e`GJ37ILRb6g^#_I~4*tALuPtVi z!C8))BCHzm2xAwwUng|N+L**SSqO9{JO87|YUd&)t3yv@lGWt;ZpkVxPLOJhN`8z# zv`mYdS5*(7mkhYKf1o|n<%=U9GBzvZvy*rDw}vC>J%@T?Jo$TSz>jDrU-Z1M>{DwV z(Zsw81Jum|RAS`1jiU6(PwPB1d-7JYx-*EmU&s1EG%H>Ok;t!znz3ETA%~d0a;gd% zsujSYD<1+-pfNiu83jomWmY%?Mb4t3ub54c_%bb{>-Y#rUYO0AM+7}+TmtRK8}L8+ zTswA}*RdK7-b+UxB%`&CJGn=m%Z--I*C(jD19HaFm;93{`a`XANVRD@(6y7wTIQLo zx9Qw3NWQDIX5<5B$mOQw-wo6<6;%IkculVq#O)`frvEQZWj}e!j780*W^CSFD195! z#`?>pszBZkP&zlobmCN0e{bhS4=TbPW)Dz`3yPjg*A6_u#Mr&PLz$*Jn4mY|pdICFHu+O|FiWIq9 zV^nz}a%py;YVICHjutH3aidgHiN7=$?E%J5LI0VFZ)hb4_|4ZS z#~?-qfIy2vXrm~c+$R$YDeH7Ro9y88X9t^OZGLOsZ#}xh9k^K(5#d;)zxr-}QKZ1^ z)53)O4OCxR6x~nw$mU8v?!2?>BO?|BtaX=3co`Y$+B|^sACdEd!DcnxiFF}VvLT%H zT1Ad1`J(lisGdxIc`u@ErSozUWU!)1YCwFTFm&#up`8Ccl|E6VCPr4Z3`%$GMjss$ zhs;j39n2+Fw!O#F#}P?}9o{u-PNRK}#|&epbhV&xSrBH%;tqYH`w#>MVE&EPxb0?M z;g8E@#UBFGoONkr8^6WCdSMgp`u4-(w^_?)2=@v78M$H=jv{ZS#^zU&#W^Fm0Ol_G z->?j_{~d!HD+pQ`+cW7A__-pwQ$8D4gcC^9NI+K2dg%ud8iaU>q$)jM5U8Fld$F4l zY$}~-p$1;9C0`{LSS||Ei5a=LqkmGdPT)FaaAj>evVVXVc#{}s(?fx?C;9x_W_~R| z^b!H2hzbKj0rSXL=098op9-ce64!#6!*yxQxPLlwxWhiEhFA$?WW~Sf4Q~3@Vk`cl zaDus;WMnefmGZ~Lz`=q?F`8y=X>SP-STixQ=Q|xlF@a`UmsC0zX`e-_fYo@IV~Kz? zkGB!~(MP&JMJj@;?0Z|LY=i9AMt(N~);ubKfA719_+*KZy)Pru*#5>W9W=Q2J|@+B zUmb1_Z~Y{4k<>0oDDz)7vxGn&?g&%$LQ^%he5dehgcfV3;Fi`!DZLPZ$nwXgDS08a zsS=vGMvHknKNdbPu-^yD4xW3<>z-6W+dq`tt7W(oBjYPOFnpDy|C;pA0#*S^oRK%B zKB|P`o+sb$=R4Q|2_PtXI<2%)J(;gcwL%Mdl5;XSrDxJZdS}fe3Lpnh8?z$kNI%0E zQ7FCmOT|%tN{8W#9*)XCLsp`q=Q%40nyi}RDBJoc&KF8;ZeJ}s@~s_${tcU zyI@pd8P&XpR_N-vl1!%7_$!1-69i0?jH^^sP~#*AH`E(MO%!g+FGVGz6M=5cN)@Nv zxl&G5QckLzoBb%~Nrk;@qa&xi*+EL}hsl0*3Z9YSMPt$f_P%_&m`~n#YSKM*Qn+&%G88tII&Z;b>*@myo8eqvO#|dQxWZ$SpPXv&LcT zWCG*z6>`R>9a;M8+0cdG25#?|I|?MD?Z1WsMHGnsSqjwD-?dIP{0dz=-D@BC$rA$I zCZY<3y~d1h@CZ53zR8UXX$oHBf*^*(q^x*tUIn1`D;%AIERLBi2TgUZJU-k|dG zXQk|x&Jg`OLDr8et@Ve+1|>(2QIcCLF5xrsfxR_c@+m6SFb8`~oU96NMKbndI8}T+y zjO|Tw#!2{^ujPu~Y&~_ONc)JNTB0Ht`l}cW)p??4sZAl9#)0yX4*L zjxZ_d`u4g*C52dB7?r`7p24~F*Lf^|Ulv(E3!&!;+8>nJPi+T+u>BVH5XsUp-&YsW z2laq}rG8xGZh2D5epNIFllpsQj+UbXdeVbKyaXb6H`dZ}V7naJX`z?y;}qzwiPo!c_GWq7U29J%}FvuQ(&dk>tR3;ej?R`6PIJeY}pqo*%aa`>_MT} zhx@?Y(2%XbSwEYD*(*r5TLKMkUYWqqhH)w{l&I)Y6v9QzJ3MEL-bOt_?TKuk7ph!t zPn6VIB1hO03y~j-LRflU4oLZi-Fblngk`_?;-YfFWq9fqy6n>~e}Zp^`wIjq>EwjR zrL%gSA1CF6Zj}EB?GPxNI~o~nywR4(!PQv3#gWw6yNIqUzNCUibE649bSQAaR>2g zAiQ>Wo(>XjiU$NT_i4IO=6^~il=ZWD2vC%QZrocR6N38y#s0TR46>a3#;cTLLhWuT zwbXrU(xgd&10Qj~wxMlk$%e#$s{{UjsD($M>L5?|c**@xarnV>Zq8*j9LlCl?yC^G zkAR2%O_Ae0((@pF3yctA)v6f{&N3U{$cN-85z9h#1fJNAZ)8o%{oQ9=jWUXV{InA>4Oz z2kRLt{KvXVS&^-OJ!Yhr6}sd1D>pM7iwNIWOJllIF~_RL@ovUT=7-ngJq$+jDR|Zb zY!)OloI1c(%|FC6G1Y5EIc!Cu@1W%fJdQHs3S_{)@Yd7-0@}@{3Ka)3Oz$=Tah?+b z_43k~8`0E-%BoEbaN?&v9^-SbR?Uu9>i+GYQg-1MQ&uu#QIHACDbfGZA9GA5YeT3+ zW}sDb6ABA!#b#^8j#6vI{)YGR8+I1-LhUld0lHqq+4x)R!^^A{7hX_Wdp-dTV;iy> zK4JTg4Yj6(qDO!1V{CVQ%*Tf0@m^uG8n@?Q-$ySL+exK;j;rOEhAh%;xxgu|Th@x_ z#LduJvG!K^sd<6CfTys1sIYy?^MPXn)|O}0ERY6{f*QcudJs?3eC!HXTTiQIayNkG z1DKo%0WdKp0@x1}uy6bez#5W0I+`~fbbE1Tj|EWz8zx4c_vb=iZ1-i>iZP>0YcC;5 z(7IQ&BB1pZvhlGY*@y3!^4&ubI-iyDNio+ijkz2E6c;xjBkpc{8Bxos6vF=|vq4>Z z!)`_0K}43eUI&4}G%l5AHcpiCNv3hH<=>{@l;OM~{AiK$f zOhPMIHT#&E{~2Ti(OE;Gqrn!)K<#7ZqZw4Xb-su7-d0UaKJB~=tgl*z>t80(A)h8B zcmV+3I463NAxG#Xr z{~78SoNCi}H-ie%Pdx@?pjktd8F(SL?JMyJd)-VN@U5NDoTg~ zyiYff$%K#~zR=qY53<<`*}E)x{~2VAjzs-A=7dO?j~NrfZZvb^liraTIv>V9{jAJ~ z+~dTuE=>3c^C3P*;Y-}dPvi>D^Z-^vOMWjLJQ@t5t=itG`h{U7VOXDJN6sL%cRD|ri#ZE_=k^I4s%4-sKVyi}8uFzcnoEZxQ|T_iHo`_=nRcRUJ*feBZBI&b~U)U zHJ{6#3Yq>u@@-mTzv$$(RAauGiqY!>bMNv$N9?~c@s0B|O!zfwCEX^D4FhT$_T<>F z;NN$G`{*Z!Q3ZcA<8%%Qwe}Qw2oVWiI93)sIIXgcs7|wn7gYK`sQSRu?6EnO^VZVJ zb)3~rU8Am-JIl}mrVL4i^Ysd+MEv~X)0sQ$Uj80fj-J>=<{->2d0^rre-EB*Jy*7R zI;HWJNsXLGAqdJ4i$^5ECFJqBkDVnVq8%?IuN4=6Sw=xx#l^!bzM5aey61$HT6->V z^aF|s;@1BIftjokW|{-Rah7%q9))*OzuZ}PoLK=3j<**V`|F*Q?A59 z6ld?ZcQEh$q!_2|H;1y?HXfxvgIm{}MnX-&}+Il*cM|D;O)S33B6R!On2RsOnF-ViQ%l|$%`7ADil75>BacKglDETNKZ zL@uF7D0Uc+r~`xd$3Dz;ulk_^w;}Qb_7cVYLLt^L8wB^E@qKX2kyj$xM+zBHL4my` zV?=el7fR1sThjWYKppRp5GK(j3=Q#JIDz*8$Cq3VPI7-5| zJNJb2DA$P$dYLn0j2yd)2K`@HG10p_VN&%Ot>(*7Yq@SD8JvOe<1{Dl`69j8f0durq6- z?&7w67-*kZiX|>&j}NI@UN9J!0|3dwj{3dxV_^Jt81-R6yo`k+Kh8++57@6phJ<2s zN_}k5V{<~jh*jbIaFpnYdxS@iDUJ*gLlCQpcU~+LZSds)2Ic&*7hJ{_a<7lQhM%e} zV$v=k-2Pc(FXcUQR+;@tnN66Hcez^cBDWP@0g;vm2v0LW<~Zp3wdRaIB2me)soXNM z4|aY|(aU8@?ss@Y?HV3^ZE;bZFd8eak-(NJUZk4*t7)f>)s%&gKb`cqUjI3pA?Gpa zzl7C~LWil4`og5Uswy$r6&aKaHYhnhg_2%kv99p9M=lNsra?=FjKK*&D~?qeg6S@H zfPuFIUuzA%h#PPfF83^tm35J)E1Z)mB~txXbd_T-qhD6d_jz=#C<-KIAFfRNv{-hJ z7@C9jKD%?JYs)sy^xu+3zIs9nP*gRn<3FG5jp( z1f_ZdU8V$O$>J11Xj@A-3%B@vi7VP;EyS@Z@57P;cMrPsa^a*d>Bx`=WxS^CN&WIkibSQ=*x4n zE3)=6PGP&eC~S|LBGAcv0Hy(=MH+t!q_6Z|X6p%ZyuUi4LCAxTvmohX z*e)vur{z<`O`}hiy3h=+Kd>d%QX0r9E1o>}keN6YR5ka|IKU+G6VI#V$X(W!_-1Ho zvK4=$0O<&q)UEuo;7E`&cEDx(k{q^dx8I1p*B0B^Gra8+A)bqrP96ip5KkZYp1%K< zl1jkc(~bQSq!F-Iz6RkGghtBB9`bJ>N+7c!U|)B=kc2=No4t&k+%Qr{?2uE>B#$Q< zO1WMrr3Tve2bUx9S(o$Ucdg5t#Ry#hG%}n4n-G1d|2;&d$;pd9(21)4$pLeNMDZG= z!zGo=E3zu<0wq^nA1L{2W!B3cRe5CRky`T4pd{eTxe3mAga7ahgN_H_#-O9G$N`Fv zM~JQ5JwE&g?|j>S$v&tH)wUMM>ZU-}10M-HaI?xz-51Czp8~2&UXspN(0OO}a-oKA z(1cU@%-NO8!NwGSgB4o<&P$pDqsvQ)|2JeFSAwpR~Uit-fb4OoS$`P~Nd4!eE zvQ~^LvsQ+(trZRajWcf5PTQb{xhvute9V3&10Vil;)7btQq@k*sCJ{jxoQ)**V?cI zDnRxd_O?=M#p^~UB!=YNUHhcJ@dEn7##xQpj_y_L#I?YYQ@JE)t=!B#DN@h2-S$Ba z)7h0vPJI#0fMnRV$I;)iEc~AaJc9j{ZcU(DS7+5~J=Tg>vbOqPvSK2|Xg7Zi4sB0z zRk6^COHHkokxwMtNb1WzL<*P3972Jn)NrrAKwd?6mNasaYnEai>PiDYd@mza*jgYB(nKPour z$h1GWq?D^92GT816x(eH1zZ6Izy_xT>^V0j3!%Bd+&M}*IC>pKqJYE}qj!SDrVNI} zoZtdV&5{GFiu9}D( z8|bH`gh+wG=UMYxWi*|uX6bwgJ9BOcG%1>?81d}0Z7pTQ564)|^ksg`H}hinG(&=B zw#Y1*p`eI6%$d#&@bkiTRCv=lbEO8?Sq}N}WC-!G%s?4`m$W$5b%|MwdM7>aA zng*#0HNpz*H_Ggn^ahJ8qB=4=N;U>;Yy#PpV~8vj z!uT&x=$~p+PS;Ccmi0asv??vwFR>(^J!!c}Q2W9;AUS18h5jgOZON$U>K%Ic6g&NJmST({%wVUB8tq2Us&Fo?m9)S=6=3Lo}Hd4g5m0=VA6ULLL$ya-Il%2zr5a zvO!9Vd&z#lAtN$U!FZSR0iD+C52@u?ctP$>;U%}io}N$d2WLlqs7Q!RfmF(B#Tzra zSZGV{<){rdkc`}2DDn=UH`WF>9FwHo4GU8Ou1d2WL3`va2)>w(A`Wq0;B+LNju9?2 z-RP(LDec%P|Dqq@*M2EbeFVhr1IdL}{3cfAX;1rFtoZ*y!VNpuG5D`UM2wfNu;s92 z6s;D<-0f_2cR&2UbnT*a*QV076wkRGz@(dIr!oSv z?lONaVnI08cxgYm@ocCA*Na~TN8P`HtMv9ct+9(;XB(T5_gZ6 zjM`W`v^H5cHnSIb!~T3)?2u*6AIa=2+30y)O$*o$>)NTSguUBDTUCV#yp7*w)Gc*OU>wr{R;F*n2%`>Q~pvG956L zBE?7(Rll`ginSeIMJ(`<{Y>HdtXSI#6#mw&ox6DJs^Xzg)?8bMiEumwi3XTm7jHPR6{Phgzch zafu!5EAvvdX!{7W65BPD$%mIsviIB#S+e%F42|uyz!~?EgRg$E)_!vjogxYY+fb9O z)Wp(W4N%tnH~UaVG!R>P@Gz4CHwd^R>g_j@a^kpKu1UQ_4e&O}$?f}O)3IEZv}bsP z8C;K^r>-_Tb~}~=v0>Sh>SPLttdv~DAuNwyST%Quah54;Hb_6FG~}AzFUl=|;G-Kt z(RBbmrAtiB*A;IouPdtXf5tVLys;McdZ^1f8OmE^7?DqPA|5bZyz`FdeGRRMo$o_A*Zlo)hNPLSsE1WCwmE9cqk#l*G zb6>I1L3GRQOSafY5(BbI8trC~_m=!rUFQJzuFN(TAcCROM09S|&gr|FXiS*L(dYSw&VwdP;(a~7(8@M1MSp;Sf zXAl%B>>a8QN{I_f@-HUckEvAjsHN0I+>gR#=#?kcp^8k_Pysx;C^?XZV{SFqf34xE zTLsOZhNcuW$?uS7?jhM+;49BF#cKF*uF029H0%K?xw`^5z2(=cQ7`PKaie7Hl5##T z4RXMKF|El`<(8uePL2RXPjxjoUs5GP7qozRk8Zyy>xd%0CUdwB`}55?Lo89r;?66VAH zV4Y>fAK{5p_XQ#Uq&jO}6>s*DhEH+>_NRe{ow-Jsh6L={OQdSLu=#WAC%FYofUU_dA$-^!W}nI>Z2Q?(3aMc==n)QaDNWD(n?I)X6N%sAeZTmjv=zxoG$Ln|Tfw{?DSHBsY;u1VQ^n7+WX4$R@l9usiD_+&Asi zB;+P)&Fs{fm+lx4E{#EZ{z{yAysbsgoV&vFLOrdZKJhPD?x)IQ_70F&}woE6H9n1 z2vRN}yXE6xuvEi@yRM*m7dDtA<6{K6bwhb<*oCpgW!v@X++AWY5uJiWE8VXly`CqB z2zUpP6K-V&VN`FiMZmebW3xZ@!~cxZrqBPkDNQc$!z7YkV>&I170z1eS#k^Qdpa-e zDAXZ_h2&Fmh&+)uSm7Pl0dIozt_GMiH9~{B#)=8W9PUd_r+!q%RC^_fX?sI5NIl9& zvf(4=E148)R*yu^la15AWFI9P8B1M8&Ih*)N+1zvhlON|1+6tZV6CjtO-^h>PVyO8 z{eQT>?K#gNS{8$DC7R?82!@&5x3-HW{=eSW^lU|4hKBxX(wUWiBY&q^c?s$NCUBj$ zus6p$AWSdiMx$noXURXwS^?@s=1FdQ4|!$wa@lxT^YU4s*zIB_yR#58M5TRt(7rW4 zVBb?zX;)3G;L0ic#>r0fnQo;)_c(~Kvw_YN_9~q#3bDMh&WKin(?M-RNw-#fnz%0qgUlI9B}b&F5Jp$t0psu= zzH^8Dsp^NitSdROT|I>mo`m~$&)BhOu~U0@^MG#5wNcs#Rlb|Rh8>+n8{_FeQ%57E83ddN&Wcyotz>{NtN5)8-bnR zLmx5)6mfF*{rlB`6t0YjiT9(JatGIs*b!^VM%$7%Rv3cK!jn?$8i})%rsVWXWnJ<- z)@;_py)}Y~yE`ag2w4QjUDiD~P0GSsVHcL!Ay5y2*%8mU8(0U#zGUECt<|ENooa1r zk@S%Vw6%;W`bW~4qW6%$(!L@Mg%ezE2cJp)kNLWkQk^F7U0Pe;ceS>R<@WoUKJfRN zp273Ork>lim5lr&NEbWfB({q96Gcuo{uu*}e?~vTBD0^ZkK~0$kBS_p9xIzU(^l$p zCK6pi-Bb3=J*56AyFyK+D!PZ7%2U6nI9P(3%7@FZGZ70w1ZfMg__`^f!~*fSXe!MY zCx@m|)C=;1ep-G`_Ek&4QZ2~uM3X#OenR$w1^OcqoIj1^}|{AXmS!7NuBmE)9E z-_;%Hlz-(8REpH8@hlYMuX-5&YkdE#p9IwlD9~^uSLEqfV;(!y^UAC%_XHA?+G2-# zR!x%7p|rR^a$<1wZN;M^gjm04V*3`kR5K)92tvUHL7Pt@3Hg2#F;UeiDecCUB;Y$l zQZ1PS2i|6Kwf-8u82N2dmUBdKFyZ+F(dnCwKa|GH6%BB}{vtZK4hIJ2ROW>erd;gc z^yseYOGZTBh5!`>k?mlpG(|LmsoO%ad+?u{EpV@HV~AB$qzCp3>YYRY^~jSI_N{Q9 z55x8izHn1eJ4Rq%B`&(p+2Ji$3oVq2jt)(KX zbYl8`44_P%M-?p*hyTP?jX>0fI+^)Z%>4Z_^Dm9`m$RxmI-FJ2@pitIn*Z;6)X162 zZ$W0SkQo!5k{E~rSu;j?Zyu&c5JAGbe&YY>{M=t!kR5p|WKSR7bh(bd>1&OQu8AM> zEeU)tw`LS%dZuj$ATW@gpX#jFUtB09igP}<^j7$HN6z);=cMf!aS%%3_;jWq?JAw# zkD`+C_+yiYpY_h1d~v;a6jo)DyeO5|Oa@OAo5ttMFxy*WyTm`nCKYF?Lp>q5iPpU5 zC{&RkxB$Dr4Z?qGvz;p@b97mXiXI}C)LlXBU{Cvs$x^23?Ra}rOg60Y&#IYC4I}Eg zeSK9f?{X@&T0ZDh;-Zv>EV+Te@BjPEk@kzRHbmJK7ZwbD<-jYYqh7OWj*ye@(XFUN zN;cpkW^XCA9%(eCqA#Lt$c9IojGmJ0Ns8C5h6AA84Ov8L zzr=rN#zpkpG@Czo^MS3UqyA@CG+mkXjbe3U ztjvLN1xjF-mGHEJ*c!nBI=cWfvQnZiiwFM4$YlC?M7=EF!@$07K~5%9?4HRz)oIC^ z*O%AiRs2~X8uPXs>2z{S$2-vI%}mo4INJYI7KtQo;OiIy57Wt4sDQ0x%Z$ z>5YfQpZ^%^?{!e&D>4f&>Ae0kLzuuR(pu~0#7=lOe#`ZMtpYO0s@AIKJPui@My9{)UI_~+as z;{D~^FG50O=!ng8kBCDQPP&UXW1cTyADz_^Pr;dRed~wNwe#QN&2%dl97NyPPK?Ln>jiVYG}(o>i#tGujRfI<6j%Lzta0oVjr=zaxE*j%aqCziHq@l z#>IGA%EkD?;>c+p&+6W5wwhKu$rW2YPPJLs;ijWk+eUA-sW+*8kCuh|h>@B#+qumN89#(hTFt%MovkFK{vF{5B%ZZLk-V7fg$V+l3zk)d2vJpp& zyR{h9gxoUMM|JkcrgwWAmvG?h-{EWi&!eSwvv$EXMn?vwh`^QG2Pz!7d4Tyb-t#Ws zX}qQ1gq(;>9zE0J&j5+1`eu+UB}8(QTW$%vP90Jnp7fS8qm1wYC7*?IW`x|&2@C0P z1KT}}$c#{^Xz6()Ohu+ed?rw);xu3^F|e5@oQ!})|2j(P9YjN zR*%$|`PE`B>_t$JmGaa%`M_(TQ;+&mAat(<e6C7ETmWPB+v zFnOH$Qy|rJe$l9>KV+6&kbbdON(os`kSZ2+6tGu@@;eH5JR=L{w=Y;i+o7?ru{mV$vd5fDAC_2f|EfkNuyct#QQ&_Cm~HCGZ-y)VRsnR@0~ zR;>7$fW(eiQ4TOI5>S*1TDd@0VC#hLVWzHB=81ICWTwMC+ZSw4_XBq==UavP&A+uO zdvLnDJ?T=&=|RZlqdrR0j7U2(*qL8M)iBK{Ja7>a7j&d@33HrpAdqa9xSR;8=NEQG zb*HK%GFNw1d9;(xOZDYm^_s>SToha1EKo@VRx`LxbrEx?wI}bTm|{F=I!6AaP;9+? z@I^U4S|@pZk)B!|v>*eRF5zPch}a{L<(tccTBR@fB-`0uE_-FINY(bD1^lGb#7&g6 zC7Efrn6&8~Y3AG*H7*4PT9LhOb&E{g&W%dfG>cO$VJ6aTvok1j1_kCG67Dglp8_v$ zU^B{Eo8}H>&Lk8-h?o^}DZM?QxP9W}G^opHJN+VP@Lrtx8DE_F8DH#`L_SVsvsd~G z(=X2aj4#goj4$@eCDKQGk@Ul~!2FhB2Xp+S8}<6xBFHj07sPxmBt(fJp4}RIz0#tP zoo&dv)AV(St(4-7-jg0PGpEi{8V$ zUsEJvcRn(BpdHltXAF-X7j`DGv|n31ywxIMShN=jtobB#dpgR%0}E?vpE%qArNrjJ zm&j|or_eXIJ)0qn+--j6oQK9UsmU_3k*U1yNx#k^5?6+hJ%iUj>+4r6Q^;P4ykF^SyS#GrGw)F%z#4Fz%iL)hGhopIc3%puu;CsdC!2G+ z9^g*rk4!f{mZm1Zv#1o-}xrP>6)NHlWxmm!`inQPR(LRjJpj za__;eDodrL9z2S1=6^w>sjkfze&)T{E2nq7IP)`J?3K$hzhu6Y7p2?IBDNa|*hT0(z1FH+rPl1_Kd#Jb-BoV~I+jV&aC+RQIoGQTXy{IWgs%i_#0 zGCMmuAzCDNK3mi-N#&iAu995eKRW5ujHH#zpx;z2E9*L5;6EKND9@wEhnnWslO+EP zBN${T2EnWp@3~%dQ@$@tNksO_;e{D>kLq}F=4ZU5>MrHG{5w|N@;#&OiM(o74|r$3 zq@;V&0wkS3ON#mI%x|V0@40-GdGJbd27n1@FWZ-*N=0=-Ou|I7os{Iz!PAR(Rp;UV-W<9lhzk%-jvrwM<7N)wg7nG4-%yf2+c&u7*z# z&Mz{7p%yV|y!z5zQ{2D^g;rLnuP_VnFU=I`J%8Bpr=`i?bhQZ<{@57!@~Zy zstt-r4+RJn>1jj{I$l^2I?p%;Je|{CS=4#9BFd&GtG)7>t|cYGG-$6Z?pjh3QUj9S zTbyF8sGdxBaSN$Flv71yl6ssj>U<<^YiaF)VAP#ldS>TRg`G+faMHi14Wg|Y5ON-n z2Rba(gz&z)ydec&TL!ETLjh?-HS+Ui+V2kJ(dyrt>9U!?OkcFjA&>!xYY4~IpWboGTm4~?<8#u;W2Ve&Q0nTt05+q{_31JrDC5KyfNm7`R!uYc zc&O?LdpdDJ>!s+zBR3HlE_$KZE0S~h9H{$^sd%(!FAtTPPT zzf5)XSArXy+4(;^*c@4EeMwB`mVd-hZ623 zdcH{o-E?G?sb{&=b5iGeE=kvOyz2a=iXAs(8~)&#zGTrAQJa}0hRA}_ zoX(b<^r*jdI5k_UkhNx#*>5rzO6FNWyRIYiW9iHj+?TG`;ikZ)roiqWQ$UBiqrmOy z0)x|?=|^YE>?cLHqC5}lSBk~mfP&Ios4TY!+1r$Vh0G4Rikt1{OmtsdM#O3RdT&dZ z-r<=Vyos=nMJ&o1dSiYo8`T^0L;g2I*5%xRST&LG2_d3a)KCjCj55%fD!QgfhK)t= zRPF&O(qhiarII$cak2cE3da9`szCbVRgitm3PPs6HRJ`5{a6^B$BGy)?M3-E;8+61 zNH5m?@mRg+u8zf0N-&{y6nb^seN-KETgc!ZS%DIL``^x}_7@U;6L<`#SVSyC9h%m! z*#wDR0wj*8Hgf5kd@IqxG)VOaG^E0C|)Yb%0 z5L3qO;vNC9=-urLsEdn}v2)-bzmyOfOM-S2-o?)ch^QDG{4p_XbFg&eqqvBE7x%l! z*@0E>uv8GY>jD5;wUY9ydxGJ0=keq|0by(Jk}F6H)U}WmMC1$Xl69SAHHi3GTZ)r7 zq*YG+ShdRG1OF5Px;{4hd7rek+qBhmD{U=Gw{^a>H8S1S1Z``NY3o;HT`gHN+Bz-W z)=;v#xt|kK%?>UO*%}w0VxTr`rH6=sQ?m412T~( z3@h%_-_7a=sMWfhqNM7LHr^(TqQ*iczJ2E(r{8zVd zW(l0R3g>Z#jowbiu5f<7A2{C;=n~vHVF#CqpFO{|Sai73^o1%+LKn#Wj?V05ZWM3J zimbCMN^V7gA6-T?f2-y!#F6A6{?L`kRSMeI1FKFjpdJ1ZpvgU>hHhjmrSsFilkIE0 zEl@Ym!1XG*R!go7{CyX=TEmRcQdN?J-4u*+a_KtCmn zx1Oo^DkX}*+cLy zqVTMeDuNQMr& z$c{r>RMr-|yMSH94ijZJwqY2Sv^!gInTQU?0Y?D95l1vMrl-l5cnT%PJSr)x-;r42 ziIGtxVz;y)j~2KzCG0$0EW0d)ex2kC#a2uEzUW!4-)A0cp}wUQGQ={2Z)P4hevx8m zKMXk!3Y^4W=nsU1T?#pO7lr)q&N#=py3ihgTYe)qCYY88FAvy%mNu%Iuo6P}rxUctfp1F^<5+k%VKn8`br z3Ju4~r&+_X_HzB3R-UXNt#ayqj}3`Ww=kgpHbpO&qRN1@s4}4C>7xCm*D1Yr-BR9G z|4iAy$bOV_r}YEPPE1$ArfT^t|2k5Zc`54gdKH6TNgyx$XN!vo3YLZ^F~+z0aZ_vE zG-{1$tq*Cf_We>TLm53cu`Rvvz`B-&FVAV1M zL_YyyA5E`TAOvp$#9aW9>c3+U_9xS|w{NCvBm4e)2r~os5S0qBp~M6MHb+KoHY|%f zU|&p*g9}wSzZW3G&RW6J>fcDe6C>wJOE2{y2xL=S(&ZnIX*}StlFvOLk@HtQs|5y5 zqyVO3y$|A%<-MR-EhiJ`PVtn}|FsH(tD5^(G5l z^Mpk1EdbLj!P^?Mi=@-=T0A5oflB)et*jz(&Y!g&Zk-|=n%1rH`@MSmcB=Q?s(0kx ztE&!Cd7~m2)n9w{>t66{Atts6qr6!l zL0}F2?BjBfu)P^wqB4%T8>CySiWDozp-t}jcwl&$#ff%UVAT|Z+YR4OO`p$GxOInL zotisCDhbJBH?PXqnuwx!1PAlm_7C>CJ2~EEDs=C7D$CR9m_1A4aXE7)9BKa|IV>JM zNuDnwC<)J8Yx1sp#`-=U@#PsBF%Fd8TuAS^pf=VYW~gXT-RbCgm`C#5WtWx8F_@jI z*GaETE@e_U>PA$LeN?J#5Pj`+#PsG$dsC(T*U;SdVK6wWMm+7PyM-TjA#t(e_4nNy zimeeljxTyAtX6oiaH{VKOY32+;9B4wLLXQl^_#V#G%HYxUUqh~56fga5kuId=Gts= zNntrR)nFP6C!Vk{|iZ~J0AB%*nZXPP~^r`XPS3vXRbab_1jexn6TxjwoNExy!Oz&t*=Q`CIROJ5aawc<`O*+wVsB*>)gVCs(%{ zX8UlfCo$<3I&gj91~cyI#shMc%%^SPb%ygnbZBddw7S=QsU_Ptch)yVqh~!Pjvaxl zO*AT>9^;dLYR5P&`DJ*95q55AB^2uh)=({>A8ZIoq& zLzuXlZ7R&*q2^{8x0Z5V)jK>^boA~%_7N(Z!?E?ZAlS3r{5gPyFy83ubMiiOM%~`y& zsLJxKE7H`5B&DN;Yu=Xrv8R;1Pl@Jga_8U@#hC(4J6qBcF=?NCb!IXI6uf|LO#T%_9;9n*EIMOy+rKLI<%2U1>nmo0RiJ6L>V!IFDvi!)d?l^9?yEu{ zX%r%^2mtP{ScN;R~aX@U>$K@fmUY8py{y&;`z1StekX196cei~cR^%ID=lS9m zdf~S484i0=7$?uvTGfwbD&}U7$+G5MDpl-#O)x7|5=A3Z%;ZPY@yxeV64wIqsKg~? zItZmuvRIm;1%X6$sIEgZL{rsiwAVe83X$k#ym!i|(Y6tBmdVmB$q$e$)m{7p3EA7^ z{y~0!v`^DK7yOj?O~Os1wGIrQZ&UgC__m;n1ukx~qvs1;qo!hx+h&@o*PV1Ok&l)^Rn8Jn)W+ z8V@vzVzSX32rOQRsEE&lcrxqq1g``U$^ZMUo|)YZ(f^N+W~Z;}>gww1?&|95&MVq^ zmR(V_Csx!=MS(GH^1O7^=?n346lC#VYKANgI8KpHHxET-PndFt3*dBI+p&h2GY6~1 zqWLC9fEfUOo&ff&O}@jqo;g;qr*;q2s!+(|czT>!zrX>jMlKW__|NiT?NoB`*6~-# zPEoaxs~X6Cc=>Ne-R-i`@!-|s z^(p9Jnr=W0y3kvp6;f#QAQUoh#bFYpnIwlxnaqEk%;k2bL>OO828_{wflWJMgzi_c zHz1z<+4m{gcoVJ-Ko=w|`_kwG7PUJe1e@Z6zpcilLoz>jHiJB=$r-}IL5b1#6}{rts~n6r)p5@;+eJrR3$x4#BQZh(6JeY^ z5B~SYArPLJ4R{B2S^VAwa#N}oK>pjz!4IU99n9}ho+~cM(Ee&QMmje5@rTL3ur90_ zhI8yZG8T*S+RI_*2Prr6e2j3+w5|s7k&<$)U)Ur3a5YSB$znN|g|I@PgV;41XFyar zY?)@RdMnKy3`XO$#Iy=0%^{4@m``a65uIrkpMXY%bw==?$Ecs_q>WH%jIh#Juel8n zQH0-CG^;clRW!dPIyM>E6`Qj;o`dyMn0*wC7x7)e?_7Sz^7Gy%Om$XboOyzi_v481 zAwX0ssv(oRz#E{ny?pC}Zu8qo+slEP=EodwF_kq)F_V!~XFnSc)%O%xo zAJ}X7vjaGo-^jQZKH@6ck2j5Wnn4sp_B1Pdg_HeAOJQ&$;6q_>FBOR1Kv!#MC2Tk2 zhcA3>vI*g{3ixAA7|)%?M4SNR564Kx|2xbo>~Z3VVUralIUwzlDY25dcFAiKOY)Lc zoDLkosa~UgNN>z!U-}1_n}&A)qIz%|W$hCPk!qku~%ykcj2-OASU;A{yk?+Z}?N&eJ1XgMEWX=rg; ze*AX3Z*DV7@}za=*iAXbyyF;q-$&<*qGP?n~46 zb|V+jtO)g9%JOFrqA@arPXk!gD2({28fT){@mqk<$ zh>BMSa7Ga9Tl$tFYADAo@X(~AOM!L~s5bRe_`+~0z$k5JS?H(~g3 zg_1(ad=A`J-Xx1Y&9lzh{$Q>t-+C)r@~mn}r57y`BZ4hJL{acCwuA!#wc)ibJV$O` zDXT-3XFhLy|GCMY8-jk`-@KB>NHf5^BK6=BSu_7HC^iIb{%eZ; zL$%}zOw@{EhoJ8i#lHQ>Ziz#&PyWvo>&V-UO5nAgWmBxXL$TZKdLk4}q?fOk#oI!` z$kT|9u`akaom~62g1Cwhg==FFk0nGBG@m#xfNatM35>^*L);L`I_D0nO zmvM3Q_gp*XFZ$qv&banqv5*}v7Hn(M4An!gpJ}&~RtKtw&iK%3XN3N~6p1jaWpZ#A zU~p^YZ;}Yp#eax7W0c532%26BOU{71e2`6qZ*r;OibU?hdmEJP4gi9~BEB zXyq)!mtN0HpvnI6DzQ7F;s><(n^0h3hF;IyJ$y&0d^r8Z!bL3{qo=F59*FaXQ*-d+ zszqB}l)0xUl-Cv>Ooj0_%FYfo{$(#w3pfHIs+i_xf)N3+1Mn3wfBWDdc0U5bAIixD z0paYH(N{t!nDE@a6y!Ir*dqH4T=c{01dl7pJX(rZp2}w+IdTU6kc!oqS+LTm^k2i! z1JDLx4b5R{q^OwPJ|dZ z6vM3=F*RNE(69J)`36yY0ADJKFM9Jv6>Jx3!5ln%BuhF>V9gDkk20|VeogfHdIPuW zIJ)rQ2hO)ZQ@EvVn9E3i&sMqfjW^?7~)}=>qeE%vd71_`wv%#5D(nW zH`IkR)YiDqXHA_vvL{2)Si&B~Wg09bT&?-p>An$W-tcr+S<_qy^`mq{_;c6I`m&jVEBQEC!BmVp-EqT`JRxVB1n`FrCh)8+4>;~J^9 zycr%+qiNzHrzlvP39d3K`4^tk;7m9@fCX<_e}pkBY%*Md!u2@tqH+*dQQZxt_;tU| zEhu8M80+t$POOyH2C*h0X`5&tVW)fbcQf6kn@bVX9w-#xI zSU@t6T>cgVFx4KVJamn~PYGTogm?2aEYzvck8Egfhoc7$O&qN5Ha|sJu7dbe0ToBa zdkCnt5UfEtwK z%Vp8SW1ygs*==SZ%r{N+x6`FrMOwknASVo%NTGaktwpfXcasoGwn9Bh5lCeK^^yk* z0#&2Xr&b7PWflZ##;}+FQr{2j1UBA$V7INWLkwGQR>a3tF=k}9l$b7v>riu$6JzX8pu2Fh<_x((Zmna@7m)uXa7KaNUfd5Pb_(Q}z)i^{@y{@bX}IUDD#wZ>K}k)5IujrxC?}C|d!%%^8fw{Bh2F zR$6Z&*_?hjF{v-XU=Lk_)dX6;U;}VKKY(*gip1YxxwAV6}n0#9*#ufaudrbA7#!Y6tC9EwiNBS?ng14x5tmo<(m<% zys0$8ZShA%fE$Wp-ga)2)FJtIXu8*UB}azfqK(^GBv{KIv+--WGjk}%NYS5`9Z7_G zQ67Z~+m1$bao~9g@a)l~c*J!BZD~-l-Kma2VS9X)XWTs;ivB6^wUe`l`EYs~teeRS zMT<=pb~9AiV?KZ^GL|v3H(-GbE|YvlHxDgE&qnJ!{LREKG-0wL6dbIW)ShMYmX5MaT(bBRcB1sTR;yf$2Zgq%gj-9j8=jA`J$ zlCOJP!`5 zE=D`%z*F$u-!%>(7P6fku0Z!)7(`iS; z&CUw&AfUVkD538`nTBWaM**4uK(Y{xPV)rM0ghaQKzVH##1TiV-2sXxiMNAFqy$tw zVROdoajKq$SYTJF8YXvA!)F_<8shXekYMCu*eGE?F%8Q$V0Spnt|xZSIM_XkveK84 zD29uO7c3gGanAKal1jj8x9oimB`uk)y%o63Q1IT$13X#t#^9X?c#&Di9=cvKjb4RJ zjV=o1=C3jA#DYdED?yH;Kz6v4oWXzL(oxRW@%Tak_!Y$|Gcc#q(-O?#IDaQ0p_?oT z>y*GOVZL%2kFa%)cJA9xch}yg&^wmsxsfHVxiuTWIr9`|-H=W$zp}+9fk_&N^)ZB7 znS|ZdG=AZqc`ufQsDwR+O0=>{>5b7(e1|P(Z~|Am=J%r^bnyV2q|ao`uWgXNfr;4? zgPVl7Nd$Edz|`1aU>ksr8C?hO0K{b5cv4s^J6WPToTj(($9@q3&*P~~CN6lt>PhzT9*;u^EkKlwOP{^FKIE`t0P?ppr<0+7z zp9+xNzQlq22SGliN`HrRGf$P?8!Np^m41Y!e@QHz!_t&XW_LV2h)T0;gidB;D>g!i z%(f#3@T0?w*Rzmj3tAbs*P)kGw~j%=H-}X-m?C-`0Fw!tG&p zI|_6R$gG8q-vThMeB=&eU1xm;>oZZlfy+m;;SpB1;6zL=1lo|z$S#jc6sbBLcE=$oLjrn(LV@8u&WR~TWv8m!HKVf}f2 z_(Tq15576AhbwxbyY^6-=X#Dfw-n%MaAW=^^9LjYCTCe%h(A)t+;dCtm=9)8+i*jgC)OJU!CTwi zdGF3Y)Eg{phdDTwwWfPxA$Gy16M@{DVJtp9>`mIh$gy6S8M@m(DNNdr3o05Y}HR0yb{6FKK@hw2sTSKJviaA(k%A5)P2#cu0>`RFU8idv>Dk%qUK zC%@Z633+A5hXH?8^hR~c_4})A@Ot~)mcvAjvi|*`7-63RBV~V2^Za^67BKHPTwMfp zVFB1~mWn{a@fw?Q4VyypyQ2N9Bd$9D97kNsqg_-&5gnfWO{3zKI-JuA^#lL#9itz( z7Mtz^csk-kj0D^&v8ONaz`M_4eY`TlH%-+NBd}ReFwav7Paz?A<{o|TE!xth_zpBd z0zNYm(sg?3Qe4U!)4tO)UH5>=BJ&7beFv6F%yo+o!U#hq4!N(y1FwqH zVv(M}vM~fToKZ}ZjV}B*dIA>?j~pQxCk~HLb7)LNoF~#neMSzT7-W2|dERj;uE-vQ zjEOVRu)1@4nTg$ht% zrX0AU%xw~=R4F$i(0v)F=z#jWC2}bOZCe9dhUgNl{x(G>BH9yN?1E;|Gr@HlR5(k; zhBUB@a#jfE8Mln6YC6>jAQA(S?))AnnY5+9vsNA-%8aCPD4KuEl;9aStlB#ekFhZn zShgKyRq_T#7&2pbFXVk1NiSaq+YHb2bBh#>0u8Q5kX)d2({J0Qk)0MQ>H zn1ROzxYV+vy^`JF7@c;sC5s;oHV>DAUxbHWJ-H(fr-P>DWHInCzQMzc;Y~sCa1$z0 z1p5afx-Z*~r9Q~Wzgr^bAxd?uMCkIjDKdsd4c$bh$npFpM;{W4L_bIxC(aHGV3G`h zW#Uz2+_JrZpy}VLI0h6Z>_jjCGigiLGC&4c-7(usjBps>E|r{41+q*9K}3Y5#rUuw zFJLA^-T31KK%;Qa^wRB^k0Sq2Y22JR40Eo;8H`I{m{SnXMISK3t8TffWHrNv+#{43 zXFtOMh;von^wJuXi2T7=Xs6IxOlCVI&kobmUuK_j9uIPw-e`p>vjBj(jncU&5C5AH zPBX%;Er8e&prXm9J#b`H#$IVwzkySn=M{iD1n+4mlkNkE1Z?MS+%D&RNy9=LG}lE z@M&4ifa(18>gpeGv9C7V0%Konr8Xarx~ao&xYwzBl2f;HwV~TuXo&h?29I5BIN?1+ zB_YZoK&LadO$gkQd%wVVu?$t=8G|0$QkwS{1b*-Y(;ghok>010&mFb5$Z=GzIRujl zq}D)-X~2lS48691yb9|#y?!O=>GB`%uH8Zvbg*X{8*&C4!U3#^XyAxIsYXQ>t5Y9B zAc>lG$RSf-6$@nStS$Idkr*w|!9Pc70qb176r2aa{IKKNN|XmJ<;D`q#$h4t@} z3Nj=wRv(%Iz*TO9^Nk7;WmbLPkyuE)j)04IHEt;moEppSekCb-RahP@hXg>c|7_l% zY5)bYFoR~P?q=x*Y!qDPIo(r%-gBgE^cZ(-7YIer;+ASEpFb*(!TaX6Je-f9(^h*Oxol)6DW09o;Az zf@7Ygvhy|UYN7EMso-oFW>-t`ry!l}h5Xr(#P5YpLR3 zLsfJ#R&-p0?ljA>-=X-{QKi=?!1EmACZ_wK$leL3x0FKO03s!riSEA=TQfzryVaC5 zc^6FO(!tRU~|30-13xR)a624yGh4ZyKAm>KFb(ZmJU>_LbKRKp__5D*u>_B0)@ zP*l1ikZv$YCucc814d%%o(A4fkUNZRjqsZgTh+&`)l~7=CCKC}d&KO1sEpiUet89` z5i3DSiME(e{*oNyxGiklvRDi@VBtbYI0&FOpThHUE|j3IX$T%6q@aM?&f@*D?rFFV zMVT}-Jr$Nw`<1LRA5DvtG*vZ{Zml z^R*`_^m(%jE*;REs?=21gfs{pzh$)wTDUBV>@fQPQFq=3-__=kMPi_Awr3I_xfzCW zaVZL77_S}*Hiw9HHLS-U#pol~*aP|WfGy)N++f^?1+z?7QBlI4rxCoQ zwAd+$6PcXb9ZWJ~VWv3@xPd&->i%CS!B>{!De<3_zoSGqbi1NNuX7Y7eiKw}O5Cg{ z@x;+KCDu8V820jCQ{rQ<0Q;78|F#a79h}o z-e@;pf@P&T3Hu466*5=k&nF0Yg7w>hmf7$jnjKtLOPq0Ng(#PK%4n)@cbNbBfFyx6 z?`%?^$5S`TM|}lzrDs4b39TDtTwmS-`{0Qs3G54y~lH503t6FjSe|w-pmyy_I;${9!KtM%pzu3wa+_c{ecc z0OrMM5N5bgm5N`@_%s#I!y@y^ZxkHnc|zq0Fwa+SNm&}4hE}Qge>46q6<@>nCsq6< zjDJbRH!=Px74K&J{VIM2;$dB^{d$edJV6m;nu?nA8={V|qKMJdT|zHjJPo~|Ahitw zr1KOcULXyDg-DSdj6YSy?_vB)Dn88kfhs;5FhdyE%>N?eyQ+BluL(i&F@6Q(cW;sw zuVnlyDt;m3KT+{D#O)ey8c!ixc3nflHlcGU*Dqfs7;mzI#VS~hAevl&yyjSmf-xwB zx!Am7JrJy?GXe9L1=8uC4+Ma?4CUaHqRG6BL<2}nnq4HR=iE*}9(c|IiQ}_? zPC(k)Wo!i=J<6N>?t*@v>2Jdtjr%~?#?*8xdSRrXLfTrWt^F3uIUcy58yMe$Pl6!j zL?9Mu1wWiwaeTJSGJmtQ@3dpqmwEz!z=g@m;=sG^KwHJ+7b}XZih{3E)p94_f?Zg7QQvmj5C{X3{-Rd!x zvU%Ft$yH-ZGUxQB5{%n|@msL^(#kP6!Qi<-!F+}=HzmS6$$|ME`T^S!m30BLHYH|F zb+SH=tl|KU)D)deuxAlVypvdB>oYb<*vTPol_7KnBWGhaa+;@Oe1p|1Ek>qqQjD8q zLUJcUsvsm`WLQw6dBv3l6?xj)!WS#tNo;$?`N<)wJpumB{_6Ihf#WP@^aS8o7;HV# z6L{Y|1-pHB?Nn9K{m9v|qJd6DZ(!2InEWI#`A%33V}xK-;$rg^wB0JMEDBte$sW+k zl`#svl{Z zuW%*2m>*ZT(wny)2k>;aR{ky#zDXf$9tnhB0o*u_y{X!!F|F9;Fyy62ah`}4D+m(> z0&kOpwoi2e;dlqa+sMSlfXkSCr}o5_S#Wv+96j^8xFXnvaRN8-2XqFB zK9>8EByyxT(y$pTUyDR{E&ceR;uBc08!>UHuX&n1gc`oT4OC!jSHRP+>Smne#}TU5 zyxGRbx}T&CZ}hg~Gh=7KW^P3WU8X&8#XC&Obs( zaVKn0-L>i{xaaP}52l_Us|{tKe^@PA4K#}H{IDfM=PptrIv1bj+Vxnvk;AmIF<2f) z((#8o7OpHU?>u4{Qd&!?E&_8m$6T=Ib;ROn#5EYGLkY~?SPLnt9z)VwQkJ6f7gcB! z3q7A$hzlrHhzHmx#Fd)Me+DjHs%7!12%3+WSQLOBfOSB@GP3~d-9%V75tc}XrwB`} zas>)kC|e^!QcP)Skc4Q%lbwJ#&IS>^HY|R52u_(!@e6Yl7b%`JPFi64?L^LeR0co` z>jYb>TVXW3#+HlqOkh23q{h+eO{^ycRp+1=%Mva^1YL6|aQ#~)Bu=O7i=BK%x1*7YyTsWJugP2YUO1PM|^?Rv~+It0=F?f2ReXb%!jin z=)>kSSAq9Xd0zLJSSj2){oK6XSGbl|s2|Ak?X6XLH%6nZn-`)Gbn?SxwO%h#mmta# z9UavZ2Llll$0{HzIrc3JzdnBf#Ie`X7s8$xgPKZkjFjGe!9&y{H>|=RB~|W!%oY%B zq|N4G)GzYsS7n?1>riYR!g30OBCJ`qj$f!~ep}J9i#%8A8U0)ztejI`2P1}c#!Hs4 zo@;%E^%jg=D{=~l5&nhsxlS?{PW%_1Sim2>o^IS_y?=>n$l0hM#I(4EY^kyvB8yIJ zO-@MW)@5Qk%%W2QI$xj(tNW8^MFk3*tA7_1`OSaa&dhw1@@S8P3NN53$y6`9v+y_! ztFX>*{_9+b)$c`;Iqw$mR9IYrF)Kdz@E8A3KRKMLV3#?DUb~F?xu8Rc$6OEq*Y^hf z-V6zHjORZTFSS3>CMae_QjSaZWdmSfS z*R!LOV9|~OAG>6J=vvFxKyxfqjj3_foJhq!PH3J}-8}tJbn~0Y-at8`_%#A-tP`5& z&`Tb8!eWURRf!QS@oi#>*J35$yaXF^MdU8X+E@XSnnUXC+sru7B$t#@vxCv#GB4-{ z{Wx^t9J8Dt2ZmtY!7kd=OD%l|;N;6f=YMD`Wem666d;W^_kbY*bv154;5#XxVkx8z z0cIlFki&B(@(j|Db8v=QBt(M(hPJDMV-RFPQxdBIhKbnsqTusZ2%0d~LHj6XEs?~% zRw5s)5G_;B2WYrbmP5@E+N70@0^;Dne1y$8IBH~KCF7Xb4l%dyMr>IHlG%Y(0n+`v);hxje1}m0)&h>d5SGYPsxhagl}q zYkwFzP1ZhB8Ys5vJYET}UwhovOgp*kEX$L&mbeR3n~^r>06!w%uaswG^2y-xctA zQ;M(9U_oy5Fhc$HRgP=eh}%%l0aO~7i{vz37HMnT%W~}M(@J2OW&<|lbsd)8Yt>zi z9+kR*M~(Fj6l)MC+4>2_91#q#n-n@5(JWMSB&&yXz3_E^E02-@d%T3Hp~ z&?3g@+y4DEFvKs(RZ9+X;TZBtpS>cU=kfX6TA%}oqqNGuVo?CO{SPvuMZQv`Be=y1 zR;b{1D_E(5Emm+Pf~0ji@ZmoQ`6lU&HMRI*)u-)X)&7(C{ULS^?%E55>OI%=fb?~v zOq{&VyWbX&xCIkijURmXjZ1EG+&6NV$M3;(gid@3H(_DB2VV4d6QjY%8s>=8hkwaz%b^8Dmg^&wC$LG!d>J;6y_=C* znNO9V2*mv*-U8sKc`vp@;AQzPfzplL?1;&Hfz$D@blxKhqHyJ+KXNhWX=PssQPsBh z_MmLw@8Sj;uv_qB&On?yu#r>Ac7}DFxT5zsW3Wp3wb@iQN{nSr7;GvQ7@(*Dw;l1m6XbOuRXO<-DAKUxF_XqZS$1Z2ltHWCi)l{J&L@3pVicOMK$;zABx< z(umv!`v?`&MrR6`h=CO0@s}BH1S?o4?vwecPHw!xS7fXyDzE6PEU*hfJWQ;a6mSFR zmON8-JqyQb;kVgw-0(f#i1nnwNbh%hGH%4k#aLZo5Y@m5OQdoezG^by91sR29?Y8wp9@ zM52O=`D^~Wj-28<67id?c>bD~AigN@4F)4l4tJXRw=pAaY_DMG8}DbKQvH)tU+eCq zx~*yC_pk2aA6)IBqhNVD6V9|T5kCJJpw3o$Tv@ zuM+i|wPhxu_PfSem+NL9eQ(yBBWSePw*)d1hPR9HL_ucz*U%rsXW|I5wJUn8$5?8D zM$tjFTy^7Wu`3@xy=$?r;niXUxR8!(5n=b%_Z~T?H(`&SqF^ua1V;^T|K454doH+j zlZ~}&ov1TjL|JicXx@h1pVS)R35t4zsI&0Wx>Xxg5N3mdm zQ?P^u=h_9M*Wheh&JD}Qi825cR;hB|V_8*4WwWXfchp2$PH>7ItIX0!edVq~c&Onq zl@YsC;Bk0U+ZOCm;!JoPeW>vo7qB6635CJ_)l&aZEJ4I$ud#+}R`IRJe|7F7{AkcqJ7-dgch-VWG&8Ful-`RFM0_GMhFlBfyFN5fzV|bj}0(H z+GV1U<4+0akab-lXaGBvut~dX0o(z7xeYquq}MG1!VSaG?Fz-C+~BR}!!8nLyE~X+aC3X`(xUhD5dI!{2Dhau@C5s#BP@wa9pyJHxQ@ z_}ro2wDLJ24SkI~=xf*toc>6lJB-r-hE-`>3~S8&XmuFNJp6z?ZpeY{nnF@YhgXVCYgITbUONzpuvg~{WLS33+^o!;qEi{dFmJgwq|zbWWY`a)d%6gkY7$?xDQ z;kNQ8Fr(pZBE?%vy4t*TJKEz6fG_@MljA$&Mx}w}bQ=k>ijF2wPVbQkgW$<$lQ6p0 zqcS`eis@rPzPs)aRmWhb4)`UA)p0B8@PuV(pncY@HMMVyY~etezBkkh5Wov9UC_NN zaKfhU)cMD{>-s3z8AGXeI1&R|F2G#i`Utz9V*%*WEPPg0|nZ-At61CJTKzk+*H z=WsXdN^(U;0t{|9uEatAN_(6?1&0(0zz_xC1Oni+7D_;@i~xSdI4=sUo(URyr+?%L zzRE8(Rw`HV@?Uv2$*bU%+ zrzk-8bq**RMa5R}fA{R+iWCcyb}JR!rfO*=fK5=q&gvZ4BXPiT2+RdwHuTL#-(hOagcRZa z6D5|tdZ9vhWooBH-2DTHI2A)TbP@7_-)15o&q!awQ5COPzOjvFYj04(n*+MwZs3*3 zti0P#Rgh03WHuqOyO$F(9Uc)%@spf@)<-@;HnVAxu%C1^xbgkRB+V0ig9Hd{G#jsy zo6bLLaPKWY9XRTR9I5#Iy}bC z-ff3KLbuKkWZO*tBWmWmOGOiG2=ZBaZS!L)Z5Gnh@L+S<%dc1|lx_valjLuhTV%u0 zX{C4iugu}EQe}B(4AIXQ7%~dr?-bT6l_XRBJ0z1<)<@;2@J#nV&yoWy*!zV-Fk2c| zSfQ2w$WRckDB*Z6I8PxirLYa2Dfj9$t5N@YSfQ*l+7JqX!c6rH`xyeag7GQ1QeyGnwp4bT?_!`;+K`V#);<4G z0`Z-J$W>@*shv4nWj@yMuhI|X&l!vXHW!fj+(VmrtRPH7fAxxFUSX*ZPb}P{xZ#GR zPPyUDok_0fC>Ecf`mp>{;NY%XsY;#Fd8r^ug&si`46feD!of8Or(~q(v=3v0t0_4} zO~cWdYBv{KD_>}@mCsgd<%x=`t<69->Cnm*$peE$p?jQ1*STuL8<9E}LP@d&W`>_% zwl~H-)DAnX7A*knJG&EYBYlNSA^j*!k%{zkm_=+NcL&muVvyCk8(_xYd+^A14*M=H zD2j}#77QdD=W_$}x>|at0JNGZAS~4MXimkIW5Fs4Bf!Lc%K0`OaL{)?@ozR(BzFtkM$uzIbK&!4GQ z!4GYqNc5LP@i2@umWwsm*+3?wsk9MDYh;A^4Ku)B3fE{DpC@DS&&=G8e0iA&_<>k!N|dpN zxvZ@{yco*p;=;8LfP!|P|7rK552!gSwUM~dEBzQ*jcE4l(`u6TMphsqo;h}!14Pyk zXtn~nv~!?eeq#frs7)AX`5b6?m}7@I0#?r8mGWN55;+ckr2DvY?IzXu;382nelSli zlj63}PBZ-h3Myi7vce#(a||wbFxUn<#%Xq-9fWH~5thNp+oeh(bKc}0TpT+4+@%kR zKpg4dbhW%~=Nl|j!DMVW1+^P>$tI}Xc)y^Ak&~}b``7+XDc+1bxoYIVZS4;811x-L zLkg2^gl>^_pl_hAQ(>EAZCb*mWLA*KQoT76r=zaMd3$Tou1&~|+bHmi41-e!Km|3f zj8Yz?VU@^v(Jbo2r(nX!v{Et!{S}nXz13TOAoR=F9fE%z`onGwmW+yjC@+5b%5psv zIR&kzqX`tLRYk625jUWQ5{fiAMN&}2Ym`&8SxyY076)QeID1)UviRkm2TT1z=HqV_ zf5YYDk&9p01Pr%6t36sd?Vq1X298=;7TO8;JoD0Fmg1XEj0>({SFbm}Sj0Oza+NHN z5_JUm>qHIfsJg8R|7Z4f+GH2-k9e?`MYlEdCjuCb|5(V)Ojx%ei`@}{au3N5PlObZJ^=Vl0eFA_ z3J{mroj>gWfIJJCV{b-7jO79$u$T~Ru!g|H$&6Ok1DVaqb4f5c_e2#bBxf+~)XuB8 zi&bn(CyjQPzB%Z(;M6KO=t@_MSasp9qFWl`Z&7DiBupJ5I^_~^)X^$jRt7(oAc>8n z-DvP|ABEAAIC<)%(fhx&+5U8()o=h5BQb}YYWWNpGb=?1o0j3sOo@=s= zMFe4usJIbkk2p0mybl11T-jO~%|L-m3kzaOI?AiRVdC56>w~X7@&&h)Z|vn4Wr5pj zKQX!1X@3b)*}zx6u<6(aMS&+!SOwUGhtFz!5+FWn@JWdHtnIW*;ZdoMV+%a=ODk&H z2l$C?KHI4&h?)S8l#aPhE%3YB^80TBf_PX^mtB<0pXaW-NCAC>Kx4emgA1bn8yvdG zV2{ws1%iko6=^O{o3NL_>mjeH`{ze0W8%nT)VL5*{0nQELC|~(u@jz^3ZCEYS+uVd z@aFV_6C>8yW`6u1nP;AL*UeD4B`4x$llBq^w};Yz5JrqL`@(Xa@>Ori2Fu7mHI_4C z(bp83ut1efTClLRDDXzE@Zsug{CHvOuJ2FAvjzGaECmg>H95AKmn?@*tDe^6*=C-N zAlPtxk)Z$>0>E8&yTbQ^-x6qP~lA_rvyt5(VM!$r+xF@6!)-j@$`18Xs#5O_yDVm66@Qz# z?_O5QThDD~{ym)|uu>s#Qs)RP`L9i)x1bYH8?|xfX%~P3xHbTirGk-YYpK6UEv;65 zHUv{*FGLSX3_D`*SrAvP_5fNK?Iap6u_GncmQ-zKvWo663sB4eoRNXx zCN_4+ebQJA(bcMXCBJk^-={ydoA(39Mh!A!r91?gLE}y4bj;(BQJa7snL>sd{DP@L zWsT+*ggnL+wEi<(B@N0>mKn{}(`_7@6%OzI+$j!292~ACs33R!ZRVi6?9!W5>AN~F z{oQuE1=LG zZ-msJzQ+>~U4XSUcf`a6l|-2?k^C#Yf$g$9fGc8*YUp|%mIwV%C!Y+5%xwIrQ(_$E z)OiW(G(@~Dn%jpKlKxrNx*mcLjFX935KTj$&tGXin393I7Yw#?Fg}#b99ir-=D1aI z@Q~s=g~0@3AfOV~iuZkD6O>vnNbL%N08LTK#SAG7F22w zBRE44dzGpSHa~iQnk(>T=qJ<+{(5r{`RfhlFme>bXr4vC4=-i4?-`iR`&nXK-I z!%;yeJ6ZpcwqD>+^=4xO)sC{6^&e@OMZnNjVp;>HvVvVHq;qYr>GW;Wea4Eh59$PL%ru?do$T8OehCT zdTk8?E6NTwQCkGz%-a8u{ zd6`1zxgR@4C)q*gpQwRUzy&w!XsL81Wd=rFT7i)Ze|c{Z0g;GoaDPRiQ$<2!^9eIS zp^H&B2F0+WY_BANP`r-_SL+|*h6-65ByTi9Os~}vRTYu$}Wk@Z1s#Twco=Niebut-iNDE7sMAwvYuY5Z;378K|R<*Hk zC$wW?oZvM|XQ*z_%DVEyXjEjrn})061Pmvi7-y4rLN=PkM#W6zDlnGP?i@o=4&TZl zOHk74S2-&TT?dL{bS~Qk&CMqPj7;MR0@l|0ch>z&()!Lp8swX4hDIp+U>;N2V5~z+ zE{bnNcJ!nN*%imri>#xQd33AYlQ#hiTw&em2~?_6OF<}H`Z>VzA5fq!jW%#{Y>8D) zF76`k^p1luJwW=8z#MEsbMMJ(qLb-$+PzI<)@fzbxrFupT%+TkHEgtUuA05Ng5~l7 z&!q~_s%WQpwtZmZxe*104u+z`%_tyrczL*@gJ5T$4O@q*5Sw=^`1zf~Utz_s~G zw(*3Qa)9!m7{$SGt)I4Z4Eh4IPOxwH@6l+-FwVSpOOgx5Lt1%;;w$sISB0U=yCNL< z14x)Rt1Q=6YUQx%cP$#n0SIXY%*U(DWgjA5UGG7X@?#fy2XO}}B40wJqljFEfDCHi zv3jGr(lV%Z={B%RrdCcDn&z+XTi9KXP^B2qN&&5mgQr!OyuL%#V8=@Q0>nn9;*UN2 z`x46+0EO#JyoTe748k9eyxOt23Akd(lkUIOF-*MKGEDp@hZryVXl1;=6{nhOcpRl9 zHJhneh@rA9@Mtn0yyQ8!ETtMAOUU*zvf-u?;_zV+2r4yK!{CH$2BPAC5IL=EKJx)< z;gzO{UHp1Pn;&kr2y`|=kqa5sWJL|c<;qcr=+IcL`~*bW4c6|0e$#oPq_<=@gad=i zZf7XC=5_oO1>NatZAP--&XZQwLWJVlO9h2Pmh!id8sWs^XqR6@z|67H16%aQB68qRsFh5}ufg2B@BaDJYnqrl70`rl3Onm_1J%MI-BQor~)h z+m=vYc=?Ii(gy*{xcG8UFm30F?GQduT`YZ>_ag)qtBPEO;(wJj zA8Fl3akFm>z|Z%Nn6 zOMzT$u*^b8NeHcsJ1_S3oIa|jH-8o1)9$*5&>qa5-M+JDr70-j%$`@hW6w&sY>ZJN z7g_iU+U3Wh86xW=n7w1;=YIf))Weye6x!<>jq5n+i>-w{fnCi{*ZVM*5eM?wfAcO+Fdsg>ENfmB0 zo{k1m5fS6>+XRZx(RZ9)FTEvY200a7tjY{=BF;pFU7@%N>iG zP>(GuIg7<)<~kcDpx0i3$`l zi2@~CXd!TtYcv#q|Fp4ypL@$m-YTR+XR-G)=q!fZD%K`0%>Vo+?ZP3oZ)n|W$<=o& zazW?AgROnpJWQ`_8ySmsWfNbxb2Cm6a$*}YI~&AH zhQFALNYtV3=5N#886On}z6EtPbpyWc5@=UJybu3t6AxOb81as^YmKC0B)jXbP`RIE z?t6h*C?WTLOuT|)1o~BUTs^NS%X#N?RqjTX`^qV2w{5*sj^HfQbg%J7H9{d^z|J}c zMa|iBQeAZr0*L5477@}fZDz|r>Ql;@9rUFt={i;4pP$;a6g=(vCOP$;D6p2(EiI;P z8RSL{;nca9g5BpbwgCpF-bMQvMOEl51-zk!*44q@zfUB`j>k zgiC0=s?>IREfeTYrmjpOwS7B~ayv-bL^{bvDvGnYsx2ra^5@{&oL+rn@;SjiL&4A`J?( z8;`WgyspcYaAR(+`QXJQCp|!MZh9Q~(2=V?L3Pyx`6#QiY4*n(sBRRp7%3AtztL3*#kw}8`&jhq~e*^1~zUg!e6#w6SX!9x$TkMih0Bo}CF=R(e_M_qLhe4P!CB1tbMwA|Ea0Ih(!9O1zMTk2UD}QMUm-fq36AQ5 zzCA3k7f+@ZjM!2T^Z;hTpiKaJ7Cd=%Nm{hC9rzWD2p0s;Yj69cV9@)`?E?qxRocc< z-)Li;JMg=^`SHX%}N?Z0}ItIZg+!O`h-1QNKP@DPwzu|r01SDVxCxggZ*?#<$ zF`G1dIGG$1Hm4)1u+P+fx}QonTu7K zy2LW}sLPC%ITW=P!*QE8*r%&E&?m<`49zf?T}rt@Q!bw-R@7m0@g+O~rWnDwJMo!H z*ozOs=M^ZCBHY07fb5J5xacUXki#N5{c1OlIhE##;+3vH>}V=nzP^%7dr4z{g<0|) zU+(6_bG@qQ*R7~XMxKz)ZumK`lCN4Cv%qo_Np=s0ekJlVD-$5Dk?kVv+@FQ2!3oxDF zA|iO8T7kNRpgWm@j1;94f*Vlj-%P|rE2y5eNt?!2=AH~jDo2mR@aaloNOmWL8JFoLq~5xLoXv&RFNy} zF1m9qXtV+Ith??bm9YmiatEU_+QgjBjMVtyh+Ay*&=L0^O>>W1aSC3~D$TCL80M1V zQw6K(eZb<3qF|i_s3c@R!oq@zgFr19Yo~#eL!YA*WZ)erWp2Jf4nkFO{dO$zLtm)m z>zVv)U$O;UYoVMCMHeV83WpX|e?IGXAJmo=ucCe~$B4{32h>qhJHnL_njN5TGPN?e zdJ(IjY$9!sUwIJS$j`=;+qsBTE1cRav=9cURFu{3VRn3H<9idnqx~B3*HxYEgS~=X zfC;jQGONS!OQYUuB^KChqx~@Z%I<=eSAaJC8*mVO{(8DK2(nb6Nh~DtDWTAFEc7iA zbZE_Wf|-Ox8V51_;=`THZu6cE0x!+{?|E3XsI}p#6cU(XI+qcp`-c1b5=5rg=z(lW z6BeOa{z5X{aSErV_kfcu9Rw$v>G~0;!Nf^#hP>&K5@SmhDa9XqNmKuhTGH&F0k@RE#}$2u3?scAITIP##(rp{5|y`u zCf4@+;OqDLu9?{D=m%18CW=;t3*VLIcQENMGM>(dz_3mFj1|ha#9}ee0DoQRG49<< z4hj0-ZQr8rZHGr2JSNrm+Da;0bE!^{Wprd>CK<4VQ!(s+-v-@(Al)<23d8>{`?lyM zu;1AfOcqh)3WYaF+WhU)+HQS(j?3qDgXdHAy~)1Jz`8|W^MW!Iu#k)tqF1YW=ds@X zcD)T};)^wJtwGJ)6)1a4A@38}4g8*v0V9h+BX%~*mnf@Vwzr$x$@bw_-!bq+PB1GYMRESn;oq@Hd_ZtZSOF69dNbO2W_SlAz; zFJogvFQNu|1n6-3sFigiG~`I~$ccwm_BcfB1BGq|*cU<=#TgDm8ccQV3yQM&Hcioe!0yiqa8OTQbiWJ2rx&p%_B=mAg&8GE3ml)>vzCjgo4bs zkYMKnEFHKBp5LDa4|I7Ov^ytK)tG4Prj=7{I&8~5k;S&CUEqzFKo#&hm`c?W{P437 zt?>9<;Zd~_cr+t-A~&@?4?KQ@7_x0*3alL&`eRr}7aXdnU zPUUqWAC;J#6id6)N@EOk82%)r7rR7pwi$cB;=Hz5H{f-d8D&lWtI4|V)7#sjeBtSm zJft)N;m}|JnSeXSu7zo#L-B15Ml2In77tUmPN0GFAAU~o_R+~$*Wdjn79iRVUK3aD z;9xesvSM*6wnHSp;zm+D&c3sulz@T32{;)ci+zdQHYYDyw-Tw;yVPal!(plK(7S4b zc)gJ+0mq}}dWctOmI}s=@ndH!(_&GedL{Bk`>Utj<4c%2vg48W+t=FU!0HNlVXjFL z&Bls8sUE@@WCc7}U6`_g)JEORF65kXyK8!qQype7TRJ`gQ z#REYOLU})FWs@kmvF#joz>~La*4HFTL7so*!kPr6e8UbJeZ`?d zKQ`24o0cxDJ+cv0D?lN|BeoE@<4I7h0@3!ku}vyq*(-xj1`~8wzErnS=nAM^1W5Jt zM7fv%E4TTzX1UaimCfxW0HiXdS?F-o48d2|0Kxa?W!!nybA}2Xq2eE7{CA8G%ghBN zT+yop-e?=%@$vAoRk`a}Zgm{IK`Q=y#xGBVC)h`B!_d_aq-y1>ftJ-k-uh3NZng3S z;2MX%|3*OQtCiCzOiUa>5~cH4TuTN6r(EhWUT)&IwN!?}v>Dhyl)U){=zS}aLbu_M zqs2I4m3_GP9dLpA2$ns$kijlIIE-4jaYY15fLaOY9W;Ai#^L+k$c}>TEg(&y227|~ z2PS#Mq!|zuCb@)-qLokBm|TWR(X?twkmZpxFqR_DnOOGV{Xk0Tp^{%0NA6sCTjugM z2-^W_|1SC3@{Rf0S}KFvx6u7;4H||~L!oY6HSy)b%9v9J{zd!SLco&y);={*2_bAblQWEh&{-#UOODQF%<<>sx-?eZ6VUY_BOi{19%TcT+EaXo1KHR3`e0m13*;~%$aOcRg)UymNi zZn;G)sP499f|wOe$bzl8f0W^0uOGNYTi%RwpWvNd z0&&-UqriR$PgM|1yWvd@egjm-e>3An zAbeuRP0Y9v87=0qW}C<>`|yH?HMYQSu87at#6;HYS2`BnHrU$-@0#!JPi;Q^`~jbC ztfqkYTw-^nc{S<~Q4;NCUhyMbEO*leB8xd6IxOXy)$RC*(05Jo1`fbkXn1KUpzxo0 z0_9ntunPan%WF`EB^@HQJyeI<+{hEU9W4{aku4k!Xx)u0%Qdkpg7?56S7ERcw>?;3 zFAw}`9=OSC%tt0%jsypvpsZdrPu`|kgCf_UIIigU&WXYw-hZk%@NMk{V%W$G|bq92IfuLSvs;Ui4GJCAH_ClUO5AimCo9WH?2thbC{5l<< zKqLiEU(M+k=?W}p&fwMtma$c?h#wSo*Y#3$-&2daA4POx-R2{Sq?n1iX*Xj#uAoXY zFd1&&CO6?1w-+bZ;I|Y)sn)YeWUTE}^tzXMtu5CmE+Kx>0n-<49F_uZT!xYe5i z%K~VNe!y0Br4Ze`Pvd(ZVG7c#qae=_3dJ8^1By!zLb0#|itmAw+;xLhnGnlxSDDzX zUMQpb_EF?6N{V{MP2I%HLAk1!-g#C3g(_JUgFew!JZx77uF%S9G~&!+>k&}1SQ*u? zAX*cCurb=7G1)zWq zq0?24#deN$$U(oByrODKfc<8{ane=!MluV4TR;Fa{A| zT~8FJ`*%~mx)+_seUBe~U7{c-6LJlbRKIcB@m=^Uha{|Y+dSDHl~YVc&O>%^s@$M{34$DZ zy$N2Up#~V3S6>P2>aJDQ=d=1HC?YN3K}VbUz=MhC4+b!(DHe>tNv|r^4W*zqlksmi z`sxm)FWK(yePd9QcJSbl^sL1q5naEc2!^Q#QL zdM_!`kn3>a3Y#~kSvessNmtzV;D#$!d=o;riTj}s5AME&<~u2HEf=U{>Otf3Nsz%& z=p1V)bOy`fiXHRIt+Mj)cPQuow=LyoC@FuHH+a`}j81QGE#GPm3kY(bjvN*u-7Zit;ble2 zQ{wJTd-QM;PG&W4V6w|IY?C)oh^^4tm7H+!Xm9yKyvh-|1%D`XVe55vu+I=?Wj@GS zyotdKKd1~iahX~JkDj$qqgF$Ob6+!bHE${H2s8(<$->=WpnrX zMe{e-p!s6VE6s=U4?Mct9Kc$LKi;i?@m)VWY-63TdIInRe|>sV>AocDbeAhI3kfEX ziUhOmKLGOqvJgztY&=K=FfL5%eC#6CV_?I5K~e@b91Q6xSm$FW1*0Gj-a}KW+!G_? zKp_}#sCxRbo+==zdP}W(cAGb`p6jF@n8L#4AF;&)C@^Q@aUdS$iNVEk16B-@1#gnh z{mU#Pu^(#Zo~Zfz^o%y-$K*Q(|Ih5Kgx;P#TdWvfP z6_xQ!W|XCr(4We167FGUq}0GT!mGttpJlv_*Aes9&AASk(4b%nI+t$}O~bDzskdj? zh3Nq(@#k0bKxnupu#fBf2cD3dC8IGMTcJ4(lkyoG3t*fvZesczTq?yoZ(M}oq1Pl3 z>B4l+FzDRy1MM<8w^8Bv_zRsj=J)%6%f$13GNAe^2>8>{Xljo z8&PiU%x!_K)VV{wqi@WG@n8)elobR=@cE*d=xF}q_gwoMkC9MC1Pd(G6C8aQP>B=@ zM{HHdr4hM@P7_H7nM{WabFAm{3pSq$) z)0PFzx;iE>%dUAIHwa_j1Z&a}C6%QE1i?kqdC!Y2}K-C64` zp!D|&z?jYf+)V&?05i}HLc0en%)8S*9;1W^;tY`IcEf=ndFSop)J3VGw2mmj?Ws^3 zpo4h-eVzy0JIy2Ey+=tXs1(tAs^@8*iVIUeV4+Fl9$Ken{1kW#+Ye1IM?O4eppaY! zFmWtvxAF%V2}R(G5=h!D({x=5ra_QE)?C_o!IxMNhd`hV1}PaP9$& zLB4C91ZFPCXu{3&ys)N^m5MS|ML#{)DTW?aG?5iqTqSRMA#DEk4f|HHAVxzIzsZ95 z-sBCc11Rjeo7B-_aj-0>6sd9yMT#eVAyZn}PVh`|;7O{^YLV`W9v(V@GBh~)N?=6N zS9z=_FFW^^dT{^JCx^E5Uswo7W^y%5c@`W6U%?|i!`|jljmd&Ll`L>L8yW_hINXRo z0+$ym6zhO*WDYl&UM1D^21`B=;7qAhQaUEwf5~q_4P#9+!=1aF4!&H9t`HFqtoEc2qfjM<=zH7{prjz{gUvUVi)5a zkH8zcu%f{kz+;^OI_K~IZ&1D;pghd&>U3(9FYEaA- zzXy5L5sxWHfTFrlz{-fcKp!0galP>)RE+WyR$(}^Q03Vm@FkZ%aqxHXsOjT$9@m6+ zO;OL(Gj_(Esf;N2mtSZZMnc_=>l`s9%(5%VhQ=N>N2lVF9cf0@`lM791Hl0)d$M!; z{rL`>KoC8{hWZOEpavOI0iKW{ICW_t&yA5Zr;1uEKtt0=kZ11({q1sFP);ZggF_X- zg5u*I>y+Yuj@V2S=QfbH>0Iep&jV08>cevy< zb44yxcO9@3-?iLYv-|Jb1#AJbE6o4co1naPqGP#tq}<#|0V_ggLnv_$sN6WwvEUQB z;D|sZ!m*Zp(k}aetJS3t)U3*bwL~GYF1u4au5!z_ng~qkn@txmY&eUuv6=Lr;%onzy zpN6?u;YU8g^%ds7)S8!_Wq`XDo=`F_hvTd=*_<;qFOLfy9$x7w1kMZzVw>lE9H=F6vwmN&UZE1r*4P;&!Cr^ zzhcleQu+j%8PNn2>?+JR0@j>-_4a)bv*s&m1*or0DLA79JlOiqg_;qD<2^j5P;*V0${1r}nlx?*4q$UtoHdB{bSP;JjtCxU0}BP~NxToF?vgqP+P zLK-kAshzc1&1fPQ%^TyDRWJJakEOrc&lU(bvh>l|$00ARz1^ArA?zflH*+k1E5B$C zp8k|^VS^#gyjmWxeQy(VZGOSmf-ne3%J0CY=8tl7MyMBCxHQ><%y)ncIq28H%r7uM z5~CH_`^q1!kRJB4%k;{nl*!n!%I|77@VkT`hjp9|Zpiw9+o)yu ztFh%1!u7p~CW}bQ3;Jd;rr#gUcfTv^!dr$y&>`S@x%oi_#8}o{9J#eLIA459j>|w8 zPJf!l0CYKIhK^pn09$>3_&Gw8y#hRa-A?G^9_Zuxl0S9-5|01vw5$ap7H#2(1(olmV`&?Ks>d_4wsy8kB2u4<}8a zbu47sdCyUT%$Ge<@8dJt%^Ptd;li|&&xYyxrMq*1Ym#&}hgcrr-8W$~0bl3hl z_RPIijXAKZh?SQhyo^7b!v8D2K+~X0&u;gDFCsrA`QpE-3qrH*Tj+>7GgY_q1=~^- z#usIVZZXVvl6oS{YHGhxGBLn%G*eUN_C}Pif0AXzaQ-H@%jH~Cb*LDv8nJ3+*onPH6M@0LyARX!YFWHctK`Kx=NwvG&&2hawb2>sQ1 z2=U?6S4_f5N22>Vd-OM(Ip07XU|kKYi_@}Cw6nQW=(8$rvBfjq9OZ`FlS9>`SMd^} zxmO8mA}X+sc)^@6E|7bmD#*bHN;XcXHt!DrQgMyW{u42SNeusV6EYJDgG;fofSTsTkqW7y3 ztfl?6MkG8N%om8P zmMi9!rsd5?o+FB^YTIBY;w2A_^FBmRzzh~aS>R^d+0e$pgn8YGW2E3TP{P0wT0PxX zm^&%&AY6RyLH1l;=my zmSTPrLMUiK21b$KO1H1i2wo2(j&u^fgt_YPlX6{&(t0%&zu0ip8RE0`ksi?KofuFr zDoenaq)7S{=6sPq@n4~#AdmxVg7~DOL)tPpo+qZo#tHS&s*qh;^{~}b)NhwbqdHw0 zjq67Joi}<_ve5;)QPxDG99E~%m*43QDt!s%H{8}Myt7xZNBGM_!n+Q^;Ro=A7ndix zYj?^7qSue*f9Ia;E0`;&#Uw|&sf}I6|E^|=H1))_*ikl}d-tf0)0#d!Vh~!>nv0W;inJbu54SN~#hrvsantUd_UsiZ%3 zJr1+P)cbdk0x{M9eF4bTs@IxRs?NWLoK{yz>Y-z23(+{!>dOI?dW!R2aFk&!7R}Cj zK@(c84p3#wBzFK7;XXppi*ToIhScSCj*R*WY7ZgOzJ2<9`YfKg(-4$q`T2KquQ zjKbj9Lub`VBhIx5y24GU5QseaE5;eCX?`mmrV@VUd4^WW^`e^M9CO@s;F9W;^dHK_ zg$d3pq;si8`Gz|>Mfsi^9R|TV6mSqrfd+=}V5&P8HK?a-J6umui&-EhrUJ^AK;-DN z*mO+R)<^&{IVDm@%pb^b0hZ2?i0=0I$KAllU;Fh97g1QIs6rYc2c=k#Egx|!Ut?;) z33|HHHiihUY>;Bqj@ZtEeC-TZC}JB#wF8o=^mYm~Tn>=@ax;%Y*Drq=@#o3%xh4@22)`;YMew(g^n*>(M z0C%jl0<{vb80W0D%V7f1*NWiEUNKy3Qomrah)+KG-J~0+z%{}Rm>E$~*GRKaaYr5> z(}@7?d`uuiU#0s9KN?8$Z^Peaa-zj-JDanuww}@Ul_!G%&;fHu5mutYnU)sQmRQsP z)cG{0{;Yxeg-LTh`kVCIO+^AItfcy&6?RRomR9UHB8V@N1J)ykw6sa>hpsyP449V} zL8Zh7Y``pXnor(>{1?Dac1ac6MJGN z0J%U0{dP6sC*Ll_TXFL3bR)cIA_m)oRB9@^1}-g1rfy579-5X)uR&cF){Z;toi~lN z5uP^`VM2ixmol;HYzz_p(-rI@I**h1Y4GkHjz;Jwaf&sj)UeLL$7{Br!glY(Y`_`a z6^BiuJThjueQOej>=+|=D+LRU(K(oQqs*3^TqD+kPscVcsNdYqBYdi0?zn>Hj(jWv zg#mcJrAQU^5xb%sUyP|Cy=ae`*ONSaUiYq=Q)HFfAD`UiMR^)~efI@4aD88ZdwIKh z_A6>l>ukta@Gk@Y?&YO<;vSh9I!Q%)vn9V`pAYa_ClqlSxnO@b7{vV+ekJF$vEWha z^KQ-#NJyIpmVkWfk~%?^_0MA6$LG_LbM9EJ^z)4F3f`O|n{dsn!Cu^r``l6J5PZ#w z@3+;m(mV_f+L?}aoK7(FCfqwmO!kgj-v-(#n2SKe5NQb0)E?CP5M4wc_ox@XOm|nj zyqA1{b&#@JeL4oCYpYXM0WQ{Qbf(5){V%$i0c^$#M4}y4TN?f7`(eZz&Zo)E%(FdCfP$pRGbITw0d{ z`OlS16Y#2W$*v!%yY_11OHO6D{4Ui0;N)gmg$(%ula9_B){ihb*ux$;^7 zRistQ@(a3PrtEXWU3-mg>eEQ4OTy|juNP_!dmL53M6GI35gBtm7?Zfa zssUOA=tak(9dIv5;+_HAi4)XVV)W_^!3Y4})BsNH9HV!ybvoYy;Buf9sy>`l=}1@4 zwC#)nGRg6sK7Tal-Qak*stTDyL%GCWQ4RZaB*K;I-UdCvXR9*4MueKRm}V}7F%Zm( zJLk5lHCmrsyw?5VCy6q#<)!6r!Pc?4HgQzBB@VLzvyn_|=|B~gt=>dQTOYLVZ_z?QRYSks& zmXYY;yyf5xog1+Vr4SqR1;_()jj{T>!iDhQVny2SAaQsoob#vXeUqqVp{8q+X><79sulwdI{^;BU-)t14P^Q(h58x__1O29>zj7KLyJo+ekKI zW8c%3&6`wrE_2{btT&msr_qnaDH*32&OIIh>sqXPELc8m&9O7{zBB9m1Q*;^2o~;` zjsE`;xS2~zhbA;9ki6W?1yWq(`ORNo7RMLxg|^Nm(VL9OwuovGI@2Lw6KiLNyven7 zE=a!*nE!MFCP|I=use_d|JXxBfc*D|JL~0UD}CKu>Pz%Q(}zi{r`}8^IbL_+d8G({ zp?!0r%@$va?e0t+Bp7-L|5>l#BA6VIbVjO zIt9pMy5sQ8BymP1CN^Z^KA4bp)Q!;T&M{H%EqNR&v{z2vUgpaT9wOgIc$N>hOeAS6 zt?1oU#I2&DpXR6M=;U%AUCh6QIO4mJRhHGb5FNo;3`9P&>g(}LA@jq)9KZuzgK_aJ)EBH}^#Y1XJaq^O?K$9lYzD@9mtC zb`Hlw=WMle4$(PsXIcDFBud!Z(6QUsWCn-mq7YmHemk(lXwB5ASSCtpn@+uKyMIeY zsISiBSP`LhI&UoUAbE5iXKdy*=)5C!yoM__7}oi480SMhSaVBGz|Nfa!-syi)(hd4d$*p9{72Y$ipS@qXDDu&*P2I zFzShiM4m&s2fAk-iqbK1&vx+wx^*Y=ZS7!(+Kt4TnME!aJ#;@u4xqH~3)qMZToa3t zme5#wOHD_CX;H7FY6bUWAQ*qiZ?nIQ-!Jw3O+Isvo@|!vhE#xli~r?BEJ8$wTFcGP z<6)L$$RH{eBTuxMFE7 zVlM2Sjg<)QQpH(1D#p^jLna+bHcgkf(9tEvYh5D1U>p*jJb1DGM0e)RIE+Cnjn%A5p%@oUa@UbGZLr zkiwP7cOG)_AiQTE;?#$>>>W+}G;I6>lmM+bsv~|TiP!GalR`$i8aaN5`<6#hc;xt@ z?nU?EA#n=R!L@kS;m`c9S!E|kIJ9OR4sCtOYWE@rMzG3;OS;>~q+95AoY?2?q=mqq z+)2S`)t`V-!B#H*dbigW4aKDG3F1`FYaS!qTI#cA^|wy*7-mI_cSnp1qo6xUUw7>u zKoC(LsN03GYjyq>eHz`nJ(eBpU-zoJ_EWYot&p_yekOB&&v+}+nAd_|E+-5#)CjpI z9P>Ob2j-S?6qdtgHI+yR>$4kh66 zg~jqn5z$Cti(fJCX$Hd^M-XZ{3Pa%F7i9D=L8D7gwfbX&)xYF)YsgOSZ2!sjg|nvR zbB>WancJV1z;77Obs0EYJPl#<)>bAyWlzg-S`g8iGDFWn|7(CxcnHyDhfQytEK+Gb zD#CbpE?yz_apmH$Wp>Uo0U7FsToXwUhqO#}B!Ku6K^rpXz&UzOV^lg88Fs|&lU?e? zewZ+!4&p*u8^qVBbGuuwt{Wii&?@5PWaA30jwyI<^wlT+>&$7PrwbdA-# zi9%T_k~Fqq%hdz!jt<9}Z&Y4b4WEo%h_#ti+Ek}5N2tcBIXW0V0jPE+tF`vUiaHi% zI{)F3GdBN`*f})+>G*vU1(3YMb*wBLPE`*?s}@A;S4% zwKiRg*bo`}TX^SO_kucX0Gln?IJkQj4Y1iYIQx;;jZHj7o2?unMefvE4J(mHW z<~sZ-UEW8H*ljx>#47+p{T2IlFluoSj`B9G*0nBTEw58cd-G=|>lL6Lr_Aaf^XQBv z@&Halxh`&u!gX{YKiAOl-lp{$nw!vWMn44y4ej||S@LZ!*q*0t%W-b>Lai!AIm4Qn zr>;Ye{T?tU<_V4BccYNEX`_a_d@kUQ>4@cpfGd+g{Ca^WR%o-bP*=YIX`~N&`niTN zjWCk*(YO^RVH}0>lt6b6#BpRzp|5nkk*qhnW7}=NIBow39w&vaIy5}GQ}2yn*9S3(Hys>H3JO}jM~ zFU$cJ+|Eg(?D=G_7MjHaa4jt)XnUxquu=K)Sq-Bw<%JI2QbmuiLh4XVHS-JaU(4HH z0xlA^G!WJw|9<$Vu>+S3#50VVUqo8udaFkjF-%O;u>!5<$M~+JSQVuY?YtchgWbk< zPtff)q9mDg;7SoLY#O|Z7;<>Y<{+jNRzZgsrmns5=(#-liKggz=p~*!hzKp}Rm>;52*)?WG7E zrMLbp058S2>3mOIxuo7U;tfM0Rjpxtjz{>0ZV7ZFCfz`$J?_+axDD42!ZAg5ftZ(+@+VJs$pQNR_aDv&JAg=BnMT8b-v1>a!Uu6q?*R812^8R|J} z1~{V()th;WoqEBcKRTm28Wq%eU#05>7wKAl*77>F^lbSZF7?ziZjLk*Q&>IEl* zVp=b_Ohel-9neHCAPySZy?{nxcK!E`UhuTcOX&qQDCBLrPQ!hG zaL07S(wD^Y5`ia17@s-Oo-IygA_xTeJ4*vOpFolX(#W;{$LZ>UEN{N4YWgJ=gKAyx zP}UR0Al0c@vL39ns25YGms2tLl#0P?Oo~)}3dNv-P$MfF@uL-k{cueZ_?&tGXOg=0 z=oEPn1)_IJd&8au*Qg_KtP@`j)AQn?C`wdus)5GQj0{?T7RP!1PSV{ z9g5^8ykHB*<8#*?CZ%fHBpZwiCuYFDQ^U^Gon#bVyFE@RgSnluB))}J!g6#Pt$l>I zfc01l31lsA!Vd$YjllIj!C|sk_PUpkx={VJ2E30&QdbK$F5i8wgd6GE7lP8R3`xN1 z6}K#WK4W9~r1f!=O+=PA5L#pvzaZIZ{7$|8zI;M|-X|X*)mA64mHWLq7p}MH?H(|*ohy^N0m5JT zp=5oP%Ca>IsW?Dad?l4DN(Cz(tt%qJlg=B6BH&J;3MHes)H0%cJa3ygw zoqZD|P-BW;?bNTmK8Ywmqry_*)Rtg>l6TUA zC3sB~hPX+O>IABp;xPm3bH`haeT-XJ|JefU_ z_*ugy9SH@AT4XAxffWmM#bvBGD7|81i&Sjl2fU)Mlq$H1rHa!_HBsS?_R~PFV)o}b z>8)>LHZOJoat5)VgoeNG`*no?#M90ma9q_mu0P=ph=|?!N%o)DFNP^j*8T7sXN)Ha{1xogr7ZR(Fz$=+S?Pir66LKN!1)fs=}tJ%E0NBB zc+9gO^{}NZ{M?n|5D7mmB728dk(Ka`;h>F6^*%nmKjb{M{+m?qaYF)<_%Ag|LZSyd z6k<}xLc#;>Jy0()?2GGw@&s5kQ!pl?0(jt(V(`E>oA%*>4BgiTRvegKu>%ieN~wbR zELD_VO7lRL1~Q4+A7`bvEL*uFy*ZPR3X0(DkNop0GWOdN+}NhERr zs2&Y_J(951X72_TLdwWim-ES{Aj>YA8elMh2yK@(Q~YSYFYHpYi>?yEqiqqrNvZ7g zoudLdFG2DY<;W(Sw34=q1f$%5_i?h8cAaJ@Rv7cq2hW9Fv;KZsS$k$AGauHOOXneT zn$GPNez_=W79TH8zVq6;`FTpH*OC)UCqG<8d%=``eBo z^tE#844_X=xs}&$dxv6v{O_t;xdFIGR$%@aDLYDVpMzz5BW|bOlNogTtkP_6$+ln@ zFGJX3%ivYm>CKWv9|oukl)O2u3#>}R6R*j~Z6jpm!d(+#$qtnHGggWbMrY;r!j|Di z$+>wm61t@K9B&oOqj3GhX;H(%?VIqf37(*B-|pqTt!dfz1ieFv-#Yr(#Twtktn8tU z;8)~LNBe7sC*GE^waxY#IF8Ec6`)ZQ`w&Aeko5GJO(oFbAYD4#-fzay;r4=Qp>X?t zGkS;HyG^?Wmmy5QGTfeXWqoJ@?pSZn4^9ZT_u~Fi$VgO#+m8w27RqDzKBG^#eNb=& z{!IN-cbksEG5Hq<*&SkoSa45|;hYuYnlI11*bPe3;L zI`>8>HA5Td;q(U1vLhNrK=%#TT!p$~?A&!+iHCRh3ibBaZm++gr`q+!9{6Ir>lA1Y zZl)7CsMj4u+;#6FEzzR}4mMoDuE$$>WL1(z=Et~{NVPGX5dl2LY->Rq;A5z9psUX- zNPz@dZ>;{d3!;UUTe@y7OGFB8v>+W`r!g7rT~}@{AmDQAP5}_A8th>JPKgI^DRhn9y0FRd** zqTu)a$8ZEx0~O;XLBW(6z{Oz|=4v=Om~X*fgde5~CLJAM2H5u?UwF$zgmP;&L+i|{ z7VR5?7!h(g9cF+VZiXl;B$#!3vOuS`auGK&CNd+R8BZcZtoEPKNe#yKD0dK1WHgFU z`1C`8=wmwV2&8dMorN^LNg1yN5KW7$fO!qNfNdg>gytD`P)xMq-4ClELqAJL4HF*6 zk)Ex1hd10^`0<&)AhayPQp;A}JdC*4dG+8BmM-C?C-wbP@mOcS3 zMgr&s?4p6l=r0xm@serzIKger@BuZ#jei{b*mV?yl`E(Dwe2R`iwRg5hYyututahpC3G zDL1v0kVW0+GV%;82j5Hy`c=#CSNE0ogz)8M{)N*~AnW*Y2;)e>GFUOoOU}s;O%G(W zVb8HuJT-e6u~H9<;upFAWWu@S)?CkuKWQ|cS%7I=`1qEGs3g(jZj1*dhOQW@ODtju zVd$$Ld(hx)l6<|IgG= z*KAoxs3dCDQfzkD2XLnxF3)Yiij)i5@^CZ74fH;mb2V`^Rm{*bbK79oKyaUbNzJ#_ zC}f82g#o7tpsMxOY~4)G50R=3hPikOA8kJYZs(#rxaOF9UuN?*JVB zZ_^meuXB7}iGl52+peZMI3$9yjX&Hf>(P*jO|TVlUGLP+>y1d(8x?NNG|Lb%sjQGw zN^jsFu*y8}dTwz@;qX^Q$v-*n?giy!Dm=MxoQJIP-+iW2;1%RGfA*U1gQuFnQ;iic zylP8<5D2#@R|6^?a%L9|ca=KVGNfr3KDc;4jMyfS`@q&+OP$J^l7~a;6q=i->T!VI z5U*tBnkING*d!CC%N2`|h@mX01tI@}=O_XLyPEmLsz-S3!Au1Gwg0{$JA7IXmfRKy^p9|XZ9 zrtZd#dEmJrJpTh*xCN1f*Ms48LR#Ud5292?a=Nmz1qaPY_C`lD>u}IRb@bl&(QEz- z)Xon?9%}{q`0DtR*bnd274Xg<)vHGy!|G+Mvb**6DKn2DC=ViT50>;#&Cv!;hOn2=PG@m%f+jNFT zsRvQIsUu3e9B4-(MvXCPr}CUgsE|a%w!kT56^N^sBdYPOWcR;BA~0=L2V>J0{`r`% z@sf|1$P^y^X;ppkOk5%*xvuT&Je)O=TJoMwUHt^2v%CZ#uEb<|`ZMqA4H#be;ACY= z6s%Aqebbh`$dKW$AP`INL~qkIx-X?b4qiH`(K%K+GVHDb9t{9I3m9l3CQj5mgv9IE z2zcmbaujS(*Pyhzl(^E<%`D5ucO)N<&+Sv7VRjHodb?VdM}-d~^U!46MTj#w(B0Ce zP~D8f_=$f}{HK3sSb+S7I8*eT=XZvw+ZK4k6R>gLq-EJ~*(?wOkcrPu%+n`qHoU$! zUF_o`i(in7AcKRwO*vpDe3(PvKLeUDo~HgP4}Ra?q{7Y5YcmqrIL_9}x${cEELl7I z{&H&`sc=OfP~ifQ22^N;Caur7qLYPbozym%)FDsV{KdJ6VRxdoVV$B51b~1E(cj@9 zC#(&e0MyG6i}qAh6QlfBPo}37GUcxH6wXj;K{BNSJ-K$U4>mzX0jrJzQ>f{$Wk43j z)aP@s*v9Xg2u67_=fnm@!JO{VSdX4%m_?n9bke#HGMSM#;< z5>s=EPvdKZysr|bJNh+zJa`+=_TM`RS^6|!nFzMcY7J;q z*D@26&L-7{?8MXdIjSch+<@m&X2g&o%z#UQ9(o7Qpbcg#N#b7R8`#N`)^2<(2Najs zQ#ZZ}zf-y@?mc8Fx*>`Tgge3kHpvP&Nx?v5PHTB=Jt%EQun9z-YC)0s?b82E0rNjN zApsX3^EG1!BBIBTpdEfPUNhj<3!u{>_I}XxZMYHi-47Tye}L+mzJEt2^yeObQ(%6C z$@pFrY-VM23GmgCTi`vdGDc%n4~6wXl*8_eVF|Ws7uMpO5acX2zl(Nt@BWcaVAkWoFBp9lHS#zXVy*xjm?Y%v5SjpO8_7Q6n1B^+ZKr||_ zKpS|~DEZ{aN8NX>b>G%fyw=_PNtD}v=+!`Ajv`8ZvIWM93Z2+ZC$_2eNECiaoi;G6 z6ZsjRg|_sEDyGO^`K@6-J5MX-K1UCtU-VN%ZG znOf4H(`Fj%8>(`g@#6dfSvnZJ3-)M(ZwO@R`FPVz{MJSX@ndE3fQ;T>J%tXU^PD-r zh&&hjt=a@J1g1Xp_$2C=|gr@)bRfov3@Z$pkMf;R(CLhmbA z)kX02v%izHE81X)+M{w| zsJ8?OdMGbM`-#ig-5qM}TCF_IJyu2|G~C++g^#>?LMJs3MNJT6R}W2$IYdd&!96_s zOzcU}m*u!hV)p&GP85CI+j^JItyotuh9z&?sl5xmTG17M^zxR=))VU3RUf&7>-a|7nc#tb-9V3ptvf1eSOz_nPh?9&;0-|HRq z0p_;UMymv(con*%U?%l!S+mzUQPJUk!U{N)s}6!eBQXXBdUZZlFyLX4XcR0s_Wv=2 z0NHFi;?txHKWo@;-JmIfQMawJZ3&$$&$t03+qUTF4WPNEO(1gg8Ph1wXL(fZ138#D z$~;1FYgV!9)e7x2R#t2$48^eDj+T^(W{@tXOw=46{SYNcyH~#jZ^X)mONCfjDSt&p z4zDfthJWoEx-&^XO$%Z~aRutT#pS`U7Ujz~PY>`_d3bEbN7$~q`f^~~+v0LBqRRss z%~Qb`t+t!g0Dh&`O7eDeD>Ea*W>3Y|$S5L%4O6CX)9IHpy-24oWcq(}dVuLYbh@m5 z`}~H8bJj{O{8S#FBP&1T^N&i}asjXCc3n50bvJ$^Z4q^qi)fwEUv%b=f2A(4Ni{M* zwJMi^h{C;r$i9g(s|s23?9C`8ax4VdcamiHY(#d{i|6Kl;E(=#?|%(n?>r+?>VXXa z+w`am>;Nohl4xR3ci{RM-iE)D9>WxbeEd@*fE_k`g~(uYEWXDe8Q;3mNjoQ^9dYgh zn#FckzWLe~p85n!XNUeMtD*q`JM2GGoZd|beeDwzh&NxUTYVeZx_6%;LHDlZ)hyib z3pELT0(Q^JBj>;%j;*YXM!0P!oZ_=R)D_gVV{!nqw#eyDDI7O7;2Sytd=&sk&(nCF zhkOe2zUYqr6ygPF5?1#-ih^$C2qBfH7OaCVXpMz;E_SlK*4RQ`(S$==KkAhkHaqqQ z9DY4g=`?fp5RZD7dZ2AE-0w8gH>4N^iq%NK!oyIO9HwrBos)TZZ3%%MuxWD?*1&mW zZ+bMgf*x0c64-|r?&8V*S*7AS$z7FKzseFg!)-WoHJlqefiszK4ka9`tdwn+o@UJ+ zGTgAH;s5caYR4Sh{t|wr7#qFC8?4OUOULbIPserFb$j+M}W|M~3ZB zZxXaj9EAW^r~$XaM? zv2<$KBlJ@F@JrnmOG#Umc;KyfQkHE=4%#|gx5W&$#b4c)G{Cm3=7p?<0U3^Z^>~&G zeXxia!KQvQxe}-?(uJU=d?S@^VnL?!7fjKgOwk{`YO>Si*Se|2ewAOVc_UugR39~K zXD-^li3tQFzgBZ=GXDad&jjYnuXU5MU-^ss8@KTXx%>sNop!GLMqd1ouejcazv^`a zg@A5^gMiJHTts3>lzIw2>oe(s(&J{`QJsr@6Mh*NVmHs8Bt%i!dlLVh9owOp&$xe% zkPf)b0q)e>X;t2#Hmu&$p2$&W;0MO1gKKv49F+TxHJBI9aNpl@$VP}O+$|BOe_eQI zP86$jm-~!0#w47ED+mHh>+G9<4exd%EGKgCFt1;DcURmHA#dH>b#$bQZ^oaRM1~6* z$nH${g0JxEEqT{{%N9OtALq$-*L}f9>x|;}9QB_)KNvvE%}>i~)=@hOA{4^PHaw`ZCQ@du4$=cK{b&tWc+x1?{{G})fsYtWvvkg*fD=#u% z$Dlx4)uIK!kXJNpRdjMjYuhJeG*xNnqBj zLP1#;HO*v074Ab7A>71lP!*cBMNEvE)zX-Cdkf#Nt5|M+@Wbv_XVIQXUrIQNTxBRDzxYtkF9>ub$h{u!d7)lb*P36lAh_n{)j-G1aD@h0RxNVFzhnjr!@pz%dxw9?4(^9o zKEbZxm2FT*GeSMEp83b^bb48r$TL4^udKwA4r395oc(odD98JJaUuu7Z)RR4L3ePH z^0|EJAkJiiZ>C`XR((1S&f$BL*iP^*Y|xaG5%4Ws%I+F=?CzC+mMwJdY-6>_7$>%5 z>tvaPMUuH2n~xd(1HSf#zut!B%ON(O7~!TV9E#9o;0=u(cP+y==D9+}-ljriL2`X| zCBA_=JU15s1ueP0Z+1*PW!MiLPMK)V-$@LuWaO{*%KX&g5r@Nos#VShqkTkCM~d2i)_b>19wtDI4>5j3lkeE3?y7Pfy=8i zaMaT<*J3qz^V&=8NKfD-2F8j5O>CC;2Iv)DpcAb{g6(y%S^av5VwiOk zxgwKT=Zh!fu^b^4G>0~F>eg#}EQ+?{nr!sx)?TPtZiRrr4*S?AzYCW(1xL;l6HM7z zx-2%eKs4>TVZESxvPliLb6b&HZauHV@Yk#-n5c&}&{~FF=HZTImZX>Y>`dKCHS1W5 zr61M{>;oa(BM|0Znbse!E0g^>O!_l-?7sNb3Ea6utg2g#6uj$oD#V7g#0@{RGE7>T z=k>1m6?6gR@4DRa_vk?R`5szrHmR*RsRI+S9WwvTXEJRo=m5)qOL@k6DD-)dm9MY9 z6meSL3m#aW5sP2LS!*AE4FdZ|2VnC7%&>$*0_IRm3Q(Y9_I6EMCujCj;jZwhD3r$f zp`Wlt#fR|VZ$pBXfsh|AHP1~&p1UXvlRjT}cG)C!Hh|~oVEhp_BVLOKI&8KZRS`y> z(o)?80+yRMu_ap!IPH>gO%3sULiD0YM~G!fh;$KQ8y6mrUr5iZJ zc92$L)onn6|D-r1R@=U@BY#H~FNG+BZYEK^-jJD6os6MRiWwN(fNQF8c31WMKpT#? zzn2ZgcPb)etaw8AC|`Pn=O}fXhqcpwwr6x`F(_4 zL=SCOSD(&0ytf60TDJSf#7@y)-am;xn>v`nc#?ku#`;5yHO3p)S6aBf(wdXzB0{^V zGcnnGvmY!N&S<9i#!0b+U)3r|DJLmbO-l1$nthV`Q95WA!ICjF1AB6ig!6D5a>eDk zKYK1gfBud9=xLbKk{q%5Acx0id(C(4FJE2Vi@Tk3bFfVwyad;KYY;05LPoR$h=-FP zO4PW3^J)E6*ICecohivW+LJ1&+UOps>rbY^5bg{hlWmAXSH^0X#}lTPU5Owe*_HlD zn4>8p=23ELHVv3d+ejIQX+^wgJr4j}Vt-cmbhGWhNnC7eacbxqCsQ4;M73Bk5>+9s zAH5ih^2gv7;Xsd7i{_EmUaXq+_%ChfI+X*s@RX&JL#j72At?obyDp1*R-~#08-%U! z{vmhU7eECf6-{aTSt{@+IhhP+$SmLqe%^Bth(<$Dl>6IBqHR6^djik9;*Uf7b9$iT zNY0eL>f%-O_hOjX#El?1D}Xv-$f)<^A&A_fTFPQJb{M|mmzO4M|)F$wh_-6 z>&8Wf4Do0D+h;x%w5RJ^F;;;|kMK2GD0CfmI`E}w;|^?OK~E9&0Ydv2?}`I;hmK~4 zy!&*hFFPa~JMs50ciH%Y1N7M0{jn9RdJdKP4VO#PXW(b~eT89L#RDB}9SZm$-s%gT zw!Tj%-V?ypZfhF=ArcNsLn<_)&*7KZ8<+c5Y!0|$b(iBMAK9_Gvzd&4-j|5H9m+7` zUy4przY_;E`!)-?Jx=tp#9%M((GEXFFd4yt+E6b<$+zmL9hw5y&war}g?GhK01dpm z5^wopJK+5TW_lZMQE;{1;EkNqZe&TIeBVNk;DIAAKdE;%W+rD=E-Ak&=Qr-I-Gnya z*$FL)cr&Nm&^fOl$5|Cv=fEd>eI>Jxw6h=8*$w=uS)bJESR~gj67EnWsT{J%*SN76 zQ~%|9vezma(;K8}FrWtE?ifcC;Ao5xe1q^$((9BYM(t{ehE*8tBkhU$$ST#6PG&n9 z86afK`JEE-ad@ZOgxrdP)?yBBcul_ckv11s; zlB>0-xs3|XEb=gptGx_oN&f3t5{0rmDfEZthfW2nj$G=6|CP2Q1gs{?w}7>@8b935 z#`JO>+Q&G&JHeq(4H86Bs+K;E;`E&em1;^p+vN+rfm7Awd@rtIa@QV-{$c}PdL3R_ z3Nh#kovyz9r3<83`dv)3bz@htF)yB@$;LQ&RVLfJk?lb^wE%+S7+`5YrXLf*$_Z$K zE(f=6*duYrpad?|u)FWu5yJinCoT9zx#9z)FDoYlf->)gt`Q6Kng19AYzznXNv4~U zZtID6ARARe!cE1o-I{`VyG7LdqU)_1=;X%B#4ffKgBDL#ah()W0!2sXtg*b6&_ zV0^WkeNZ=hBAeZpU;~rQ!VD(_TLcJ6f>{Cx5deYELck=!E_yvluw@$d$LDkkdo5PI znqdD1%7(RaA|R*<_XxrG%zsIO-NkP2q&A9)+E;-# zjEs!K+pdn6H*a`PFP?JTb4cj$(;~2NMFIurTSX(It7D)3R3`y1+2EG%6GxvG2@VEo z6|JX6`dsQ{+vR&;b=znE@{IRz#{p|(I;*#l^Eo+FS^Y{Qer8pth>vg(Ph7=={s=Fx zzQ1f2?kW9`H~d8=T>7CDRW#aaJul5`QGW#&=(S!#gWi62r=T}sRU>1Z=wV-o;;i91 z(d)%RDT`}Zb`OwhCH+FViQXlBVu;B~7xI$zGk$1-^mLq-aOBA9Yq^ff)CQlL&C~&; zX1KlkjQxyBvup*BNc;AgBH_<+Ibbi6a1*;w&9VnQJj zV2wkJ{wYYu56Z^IQtQB=9cOP1l$=DMnGR6Y!7wCYoP&49MoYGG4qB-MG+df81?l)f z+1S`Z4fLeF%~yybYtC6`hFZ+3Ch&>R^e^KPB%gJi2RA@xx$p3=!fzM+E_c7^U)9aO z+~q}^iwk%m{b47e ze_3$Gnc3Y}GT9euh)2*nIgFKORjn(jEDS9U&uQUSOI1rZtV+u6?#ttgtW;{gPL(f` zC2@`dmnB%^46}a3p3zH64yjhyso%z)P?gEk=^% zTayi&IVo$SeQt4c4>lPY-GB)}m8E>2!n@ibuO__>*%LvQ<=dF;)aftYvZ&LCb=;lS z`2}J+y^cp;Ng5eljSTe(Oc1vHDy^L>I@EE$cy6hn8r~&RkeGb+vq(Yv%)T|QSl=w5 z5mSHO02TvS@;i?rxviXwLHoKf+1lc6)2j0$%B2$G`sZ@ty3p*)uKa#hPD=u}{QISv!z@5<8W)9-YHKuAW$IQwF z(;{RtA^R0)s^yV6sKLFo-kpM+ID_+fu7)$zhBKXTsPln!z?U&KVRd%$QrpZB%w3r8 zZbTYpba~#@!gh2}2h7OjW(AhHeQ|Ua9{NH*n@xV-cqJI|bI4I2|1I0*r|1LN;lbwT z`ZF-d^INhUzK;z15`zMcx%sE5aNRnX`_ux!?a!HoBzpiiiu}sCD47CT-(fe)Yuf(C z?%KHoh>hJUG)@Zs1@GQSZP6)|i91hbv@gb*!&XiSkcl3T?B+*6WxbU%=n>nZ6Q`|4 zyt~!+4`Ok+N_QX!b@ZY1W6%rxl)y0UAif^uyiIE~@J~;7_DWO0*FWq4{~QhaOpjqs z$X7p#U>aThBUl(@yPBSMZ{N#Z^y1gU%IjD+1Rj-Jvq;5 zEDzBH2N?=P&N0V0c-Sud_Dwr zagB9vpb*RHiA3U@wBn)QfBpkZVmaU9hyT#>37EIkb*P#Y7f^ybT)yQof5Z%M97pkJ zxXGxKmSA~ou7_20fc{#s*T+#j7U?C0JpH;3;pl&wt@JnJ9Dv#9UX4i3f`FcOdaCA! zDa&H&92`Zr5sBnXwzKD8W6rNbF|uQT}uOk^RnPm6v4+;e=14vTfV!N zGM!H|&PH;TPR3Echjeo040v3RHgqx^r|OU#Uw}VI9idaa> zx$C$a5vSb@87?~mrL}i4JCBzc*CKOOxu%SVkhnRYGzxioPlQa-a&TzT+o6eRLoGY&$=HBLsRD>zy* zvR$F0x!4$egOio-!Wr+#=;_Y8#}(?1izg$aXCWnlK_2}x)E_8n7aUCz?!i#r3&i*| zVIG8Af_mqZ;6GuB*EaFc66`OuMBk{Z2V0Ks|_>j}-kOv{H+?7C?no;n;FfI!V z!qY6@I?Gq`jyv$NEO#-jeH)pDz;x}#>dl!^$RUt!*cs!XcD%R35o0{ohxrRRJ%=GD z>IKZ^&G@6G*TDNQx3Qf#Wf1Q0k_Hcw2C+2BHzu9s^M<7Zv&j2d>UECav{` zN7cIK!l)s4)LvUuXkJ*9AM+LE;q!DhT^tW1!cTJ>;_E8@QJc0wPf29l@N^XT68YQ4 z>RpY~mfKS_9vk!Df-eguF6x~4spnfF z3w~@~_lwy@wJkWR16)TP9qL(*xhdwq11Pu>V@4g7Okh_M$BsHAnE+;RB|M`_lL@fr zB1+|`5y9T0JV7^Lu#r(CgW02ogmTLx7ZznCZnYzT#Qe`A4~VSOKP~!4wqkJi1K)rc zB6nbg4o{r5@F4B&H9zwo@r}7La_Xw;Uk;caj~E-Pf9X2?i?F(M)B)2!uHJQY@V)9? ze+q7_-ZeV-IuG5NA7P;$8tIk$F)-#{KgPTeST%o(2K1O8bq^G8Gyn>*)$p7SG2_2MHE4|7$-~zwpFZQEL zU5HC!kQhS__6_o{3-z;WrPp{4HE?nKD03&wENI97e4_7m|MLTb`ABJP8{~h!0mcoS zEr$m63ruyMU_pZij%ROfI%H>qCzKZ-gDhXyR&RI?gjhF#Dr75(L4K=Zh#%qAdRudr ziP2?$Ur9xiyN)jX$W~Ep%R#$DQyIt1?|ZQ>ur&UU##v zsB2gag)j7UoCbLa-xXN%(J}k7X8jVJ201pMy`sG4{B6KH0f)55b(LwIRJjOMY)*E+ zn8nYU-qWK-AX+UhU>W6c*LLOaNOx@pe}{k=Kwp1gQoPkJ{w0!G{A2!(guU!7J`4%H zd!>7z4;@{D*NzR*Sj~nS?3zoZrn`2Du6S~M5gyPPz14JfktbkPRR=Ip6hctuV~y61 zZ|V*o<~>PDr8{Jc5nTEJ5@}@^>WddB^f;NazC_zeDi~M=5wi zQ7+m-lR>7uvcydcB}b&OWn!Sss;Tb@A6!}iKO+L~4=m%u@yB+S>aY~$PCS;MrMJuB zJ()-7YjQXvQGE~bD@Waj?P|N6GojjLaal4_-HMzh3@pEOc!OL4Z;i>6BXu$HSW5r zfQZu~HVLh>i~84m+1~zZd)GByFage8EN%fvc--f6+Wt~A{oGUVo!pP~=F@96u0lgM4!6tcwK_;$A}z!p`B{wobt_7 zcoa2Q1ta(XOK{J@e5km^%JE3nLT~%x2DEMZ??vDX=ovZDhcW5lE8mRZ?y7GiZ8*G~ z-oKQZ$^rIF7W3Dl66TV7UGs*`qUSU-=!03!CpemNs8JoN2_y(13-d@R&mW#>P+{ zy2Ad(49u3^l27MV2h808OVFw?e+uYLWKK}-Te<6p&=5-z7fmW7HDfN$^dcqP;?YLt zG5H9wf&*sBbal8P=weEDr?Uw49QTv)>bk?UFl=Cws0ID#VqdsB$2my|zL z*vQ?sm(0Ej8!6BXKC~6KKjHdS4GleEguwqE5@4i5`Wkof*^n>@=`xWxVOIWqoc4lr zcM8(~(z~J9_7h0_BT`RQrXc-Kz02DNQkN8@PI~uy6mNl zep>Iy=o-?gDM*z_oEY7m%zu_l9E?dNG|9EdU~zlEeX4asSPJ#a8NhDJluj!zEbXBhyIQEJMVVb6e2xWKS9$%r~#3E zc`K~pv8EJRGmEj?ljFsoL0A#s;q~Bw+@tf>{T$rCuDza5dxE*;CeEb-YPh8`fazrw zym1@KVUdN_jN74_l=qz|q-<1Gk1?JLzLDc~My<|R zszxD0ldwCWsS9AN<939OlaZ%Qu8C8lqja?jr&`vRKK-bo(erfa$DGoaptMBmfWO^OA|w#wbgTMjvN8e$ zBCMu0Lfu3Bp~M^J0d}Y(9$fF#rsTD}{RdMQ#0EJ6F^I^G--~DqQ2#C}=;w;Nkm?LT ze~n6`dKWuF@wwQeadI-9oG5d`$oZW!6CS;Ds9Io5#kk<;p-3f$doaA!T(%yAOFpsc z3xLG39%&wdCw6q%BQg|j?uD$VcHB&QNpPIU@m^t`ps#03M$Ou1)1c!H*%X`-2=6&# zE>!3ot#gh%0iPwMQS)E$32L2l@Xe0pYatPdTv2aK`kcXzbg-xwPTAGI-gj_4P~5DB z-2%el8^lUQ#65}V6*;?SnO7YnllmcG4p?I%(DSzj75OPs3vE{ReG zFT|HXGy)jBuvPgU!w|KC*fh52BMQA_DJ~;ToJW9k{JnoJ$vaP56BEZJ^OqpKW~Q70 z4!)N7g7H(fsxT5s0vrO}tY+f7fa1&a^N@~UXb9Uux1mq#pBP(M+2I)I6$qh%V3t@mMpg~wr~DL+4{(1Duk_&6g{#EC1;N?kd4^4UZ2o+O zqeAc(V>S+$U~Op^Mf6DPcEZ3dO2zUcAXF=u6cEJ+vO|=$q`P`#UZEO>b|GgAB_1-5 zn8LLpf{54=MB})Lo0Q??9nk9S8F&YcSGVV>OFnV7qSQ(x1HX!7N~eogiTjN`Cq}kw zkd>={sl;M`Y$uS0L~z%x1Wz)SeuaAX3#@lyeh>oIH;H+Hc(T}_t9)PYm%`2-YE%z` z;8@ODqf3yiHqIs!_yK{3k+r#p9&dPe*G}Y&qtkHERhFDd|A>PiCe=9~i+@C@Yk3S} z3C5OzFw%s&smul*qwfNH_YzpVx4nngBXFSt-;V!34O$K zy)o>mO8ZO2dW{uI3`kJK&Mqo06#)@&`*tS$hMbJ=Cav^&4I-|=F!v`6*q`AES5SWz zPQv!N*=zPgX8^2^V09p=0<84nDigej-AH%swPXf@2$#4*`RXie9zX7Kc_0bT5{e@t zh8Jww~QFJv1EMcSI-^46Ix74ncAL6dfde*AyP%AlBx|ToHobG3S zh`UFRuws9^Vt;9_BdU8{hu7(3By)y*_j_Qn*-2Dm{-5}R(|$XnSmd{>=syrh!dy*K z9)Z-KI@M~`)O&M9m^syPj7Z(_PNvK9|Frk^0Iqe3<&1w20<#dJ3{njr9LUideG`&Q`N*;0wImzRw;& z;61&T?_dCb6r~e=+4L^(E|jT-xfobu3Ca!RRt2uA>Je&$yTFHUp;dQn9ANSGwto8r zZ?T-qY=mMt7uru4%x&1gQrAPenK`GPAs0LM#J2xt;OIf6L~gj}kthr=)X{IUq+d!7 zO_lu2DcP;2=Wlp+5v|DRf3h&|#6};GlR(Z=z(dY`%-JKNmN{=Br&{OKGw17M&T>1) zDtHD@HD9v6@TCrD5!x@@^LAw9r{#bY3EZnY0XOktuV76Ej*VagGOf^r zRH2C|g!WnGN^^?s4l7evDg5UV6fW|>hv=A%;+42M6Lr~DBQgeB{TlcZB1Q>T4QJ)S zjD%mI1G{32W*CUXtfgM+k^wdcytWiP1nWgDpd+=e43}nR7%{G-z+lMsHbe2hyw+TQOU&*{f6Me%wy95#ZB{$R~CdnM# zL^u76N1XZ8hqX*OC}UVJ%fa)Em|@OY3N3J9z?_5mSq=)g5F#_eJ={&I`gBjbxfqh0skIFs)cPY`_3VU|=WsZZ(y}0fS{DQjVB*Q|K zX(`53jP_6wfH`&TO?1;BEb;65J$WOS>Uungn@}D3waQ2U?^^}1FgTob6_v# zCHgDBaL~dPp(Fv3Ff#lLL3@4ho@VAMU`I-dN~FmnMN+spEz2?qfZOx`kG40DkE+P} z|2rf=0I{PY;2sqfgi%~jA~2>Ufo@F{7hJ{-2Spus>;@b`gPlm)wl%JUjtetx%;?PE z0ww`N0+_^g5H}osgmL4BM!}6uf#3U6b?@y?h<=~vj~~8F-&?op)TvXaPMtb+>J<8W ziE8M(N~ad1JuT;GWgV(}-r}@vNT)a*=HtXtB;YmuhIS;0{=PjW46dSthlp_SNT3~G zNN`u@)zz-{NWcM|_9TcKdAy)F*X6`&{OWDm%f(%)Ps#}=2#5x|rtbR;d6ev#$Pd1J zM&6{vIGmF0@kV0|0j;LB@Ha|dwKzNzd1MId0n?XWtdZWPV^a!!P_OY~?T$PUb;OLS zcxiQS4wOj#Ikz0vi}l6E=$`P9I!s#+>urXx^S^)sH=QXs)E(T0)dwx^Kd~*n15m}iz7LG97klwRptd>D6#hR?{4bqD)$%bP%c~L%>2~42B zwIFUjLQ(`5k}7W7;YnBORMqG)g*U%<-TltD)Q@9vz@{&jyh6EZ7DiH4)i7r`b>?ty zwmzBJI*c?r8J!^vtdsHd*I|{D3;8YNcObt5`5nqHL_c{rzmz_?nBQV%`!Mr%I5P9q z{}{}28A@FV^qd%vYEqmxDU>M9GpyX9vDvF~MF}Tlp!3N?rhg5=+;E-P2G%&Mv@8~D zyiIRl8%+*Gh5PG$mOXYn+{-F#zLCaNnRdPsn-F# z{j}7uL#bqOH5EF~Qj;&|0j#pkB7(zl;XJ9Ad=#Wlq8+S2@d)zLBA#G zuLS*;q`wmM8}?X!3lU`MKBlS4*vV0ba2x>>`A?B6CNT#wEYKZqHRyQ&I+G$jb}W5 zHaZv27Weq)4`SRVHKX8#2Ed&!aFYd28v!Jo?1H<<1-Fo*mPvofJ2+zto4HO6fRl{6 z$=y3f%$IW{3b%mxVs%v@*4vr=8+&(71@Abi^y3T!{!!7Mm0SwQd*4_;Y)YsJ*CFjm zJHFx-Jp~jg2p%*u8aJ{-^zkoSFPD0q;bw|t;yuA^b%Jaed4 zaCzjC=C}!y2&}YR!#`0qT$4;oRakWznz+->1Lu;`GTO*3G)hBU1F3A#X0#f?EX!FaC^ADF&=Oatt3N2CRQ=18Mi(k5 zOAI$7wQUG!#W(L6tU669FR|JLgb;q_$3WJCDbbH?>HWev?{J*)z%VWl(SqQD({rjH z5WjGrP>x325rAOC9di)$dy6XD)9*qU)Y4DOKN?^J06c$CN4*a)evCPxzGHc5aKRTP ziKot@G7xymRO*MF3s%jt0NaP23s%{M;45ZyM)$VC3kX10(&Mv+ykbybaGPil@mB;m zC+2C@C5bsQZe=KzG~CWwE@2b8ty75kD9p7LJBW8 zeq(KQ>iXI%`jGXeF6V`W_7c`2N9Ix794E0K8vl?R5K5W0`cWiopu6uk_q0<@n?i&V zL%?Ej8er-+f}cg@NS=hsP49V)evf<`m*hkb^;*^0Shs}u8(Aw~i|*a&U~gN15***m zKz_y@ziI9thb622q<3!x5(pQ?Tj5y_X4(PRYw9n+n*=*S`oc`TmN)1D zAq~h|xY074SlWO>&wGorgO0H$45=f(k?3ja;x_uuWWQ#)FcRk}o`RrJdXKa>1aU8LDSzte&B~ zX&8n?^#xspf_i&q ztsL;o6&CP~=t5KP-Pa@OToQbhXb}uzN8~?gp{s}_ixsaj%8vF|f_LdCW8oRB=LqWv zK6SU`nUOUR^ysPw7$|)`V7TTu3O)&ny7I+TmM(Eyjw&?N>6fx3sXA1&_C|LBRs_^& z*V<5k1(t+?c4_aP;M;k_(%UX{7RtjR8Mj7U>e!|_{P$w#>vr$soc}TJ3zffqm?*(5 zzWbnkO}(9^Qj38@YPLa@pk6G#>eXa2A4BHFSMcoAs)Su>XM%F};d6b6&kZ-jhjuUf zysKQtvGh%fvaPC}N}-V$J=D3`J`_8X?ZY@0afE8$!LDcg=3@NGt(^(cFw!~D;C^$l z)89UfbAmk7A7(LoXm1=G=zxDzu@ocFx$4nByW<#|<`jPrIWJgt=t0XUnV# z6k7c=P4KoY+}OaMXy$1Dtz}jpl=TjY2G*{w0X{sla0mM|S?~;aT_?F?ObE8MOeSqUd-FlQXgiokH!smJl)PF1Ca}7_< zNpHH6hwdTKJ+x|CG0yA7v0ihM+$8SwaKqjneVf7@&CQ8Y!4tNE)%~bI!>|4;RWMK$ z{P&Gts=%G_?Ouf&5SQ56SbA86)~GL{-1xq@+C2S%TIcYjbNLssb2QsLzZN}1yc)}! zn;#7uzN$DO5X(=Gtl)|r?#wdbQktfID{o-XEVO7A3C%}^=9fbANTGScFQOSce$%Y? zq*Cx->t1tD0(Es=^w^EFK2Z7CUubNKhiX+N&(f=dq+|n z^`IgXUOm>RpPC~LUn6F8G>!=(<#AzLf*M`%0j~p1nT68^F?r+vis94 zRsm6(ld}63*fO#C;0%{4uL;!})hd}1MOm<`Rc>2G7MV4B<(+^Fr&0x)np0-Kr96R8 zkWn;>N^G7h$m2Cgriw>>+_zcWL!IM(Vn^Hu1IP{99jv-SJ(5Z_8r0m)pxV_m$5h4H zdPusETUgPiM5Z9)5;A?T2V^RvXni}rdatDenb5Rhr6s!2glI9q3MXwhi!g+J|PT{=X+<_9Das|!Nv{QaYg5KOzK#N zL>25KF5;3!yQgywM0Ubg%4Nw!>m@K@k%hW@=THlLsBKyc!_dn?mLNTxmMN{0%wfnH z(UX`jhqCg-X1Nb)5$rqA6(r@HaZ8cLn$eioI9F^m!|zb=Qz=MlVXSdZzTITzNUix& zR`gwzh=XG+lGp6kDS5AY)gy0uf{lYI1Y>8pU@`YpQ;9QttFDL$1@CXh%&}1+p^gsK zoo*rTA;{Z6+_JD{2`O;90Xe-(_E-<6UKs~P8;Z%{jOX?T5=3H~P(p$Za=v*%KEG?6 zF+bZvSOdmrsfLzFIt@Wbk{T!A)n>Sk#GgWI7sbw5G*FEnI6=J z-pkxcu1N-H2~!RC-)w^$~}l2p}ONOyv0FoJ#4CP2dr_a2h4$h zoU7wxD-Krjlg4+~-k|PWeXEsmjbtfLe2HJsxU~}@^nUMrF;V0^q+)^&T0NP(F%JNQ z4i%aY_q1R9OiQbHHCM<-xX!)a#5lYwY{s3KJW zH*_IsKQHOx-jNx2e&5onYi-T;fbTC&5={{~{)A?DT<(#c$v=RAFfIMQBwFUFA_W8Im? zmRvcP_j=90M!V6*!}T|tZr{!Hwh~@62?|cxNX2yaK_24u`%}`#ywJz|eA%(=-H89G zhTL}J35Co=bDR$IWE^&(2O$Fm_Kn^?J@)V7Lw&s|Ll5D(v-57p{j~(Qt|hW-J$fD@ zo-kw4L7}>jZCw|uu4~nHZkY}=9LpImvZNyW%0I6=Iz{b!7 zf_&&IA$JiHyo&%nc9j{dyo<+8&4GN8;5OwMI~+y01O$t{*7ewE);>A1u3M9M>7*T1GzP+eIFYWkr`YPF;~6q~9srj&1mLQb}TNHxTZKwyaPdW<4xsIk912 zowL`*_*bRzW)?};S+ex$nN5G8*bnx$q;H}r9?9hylpj6SC31{SC`(}E%5)3q^&XuP zxb+nmTsqbP&GeZ=RKg|NVQh?5C2S}gwFAGOE#atf9{WG2_zd?Yw3_wjQ6rf)10O@mkKq#N)-!C=R zm^gN6nH7e^(Sml!Q)cn?yws1dwbXZ~mZv5gi=NW;598i6_wkqD0%av5sXlI@LSIAEy)#ho-GN55bA#6`6L30S8&+>cF&r8B z&atN+l^S~~kmaLxm!%ix7 zqW86WH=Cio%`8wMP7hXUQe!C)DAx4+y_!m=JTPwij*ZKTgOytSx5Q0WKDo3DR-I0= z^4+++r|UiutVA~h#oB?Q&&QSk%X1;X!fUO?TOagK*6*QN&%@p45b4G4v%BSS>gPSh zl~tcnEL8WIrO?d)?Sw)%z3lOkmLTkS+1%xw=RU>HomB4l&t0Os@;8^8+v7jy#G+|* z%JmjPFF{yKu6p%I(lDdb%PXHgwF4i;3cTUo-SAIrU~>E?{!ZXS_qyibbl;Y^CytCD zaODAd@M>&!#P+y`*dDQ8i|v6L#!7&Zi0e*y;%(NHsXi6q)V}Y;Z{}c5<)1(~esdps zRhmc3XnB6&H9$$2G-wa#2Z7BIxd zxeF-#wpipPPbx?=aLkhl7`=xvMQtITv0WVOSe`z(jKRgZFj=_D6I;T`UT7}T#J{E6fOUa7WV#IhOL7hvv+0>j;p*~i2t!0U} zlEi2BYV$f4Qfh}ec2aa<PyUvC&@7oLH8qx`LmQ zMCww#C7B}emP|gQRz(Oxy3&lV(%J6eq?w;p&|Qh~_e&R!?}bR{N%mePv7)t&Jf zvjfqB2=}aIk)?vJf-6SeO8}DG`cbejlIi#W19RQgOu<+P)ZU&7eSJ*Zy?hSUX%r%g zb|;e!hc7MKUAb*?3SROCS~rdImQq6nH!gN{a{QAsKa)&JJTRT6B}<=lm*zE`_sN+u zf;e5J0gNq|v35%nQkk^F%2P9V;w^FEJU(5QL#BRsi-dZ-Uz+&3tSB9f|J@+Qg`Ps} zrX79VRh~i2uJSfHQ(t6Npa~O(7+x}>Fm@QB`N2o-c7OlEta2)!5uH+be}*V?!>L`C zv{jn?<}}jYv1UWUVC4)F&5$LaSAaOmuc#?TMJCWmsZs2)PgKKSSOR7{1L#YL7_2O% zT=M#Sx6b2Cozdf^$%j*w6}PEwuijnA8o#L^N895U&MO;~M(zxX9jgkXN62*)0dzij zXzm@`+cj5)C^f121)6)MVU*VJV7jqsbMBRmZ@u~EoAJ#I^7xFJKk$yN2_vBpE`i^e|&h1n6;EYRHjo&6v94uV|D6qUAV1pSRMC*Z-`Th#hDX z@zb6p$a=ocm=D1A6T&rYUt|5*;V4)F)%7+Oq#dCh@9{DUW^#=<40TzV+BvI-{fd<##eW-A9%9f-%R%!?=rF0dtMWHnnvi#Zs# z*HliZ#scX>5ZsYuLzbA4F)kUabw*rf7(IH3Ve&;{hSNEA3t{)LhwEM)US70jilpPf z^fSLA9ogwt!@@0N`x{hR#un<=s+^hSm+?idpT`%d{`^mU1J1RRkXbFpomd475wgq` zZYW4-gfKl9i-QtiFZuhoFvHn0lgWH}!)T#1+UncZiNZE(Ju-#?OZ)f)0*}IOf&Zpzb_xd6d z|6(&#gm|tC?jN}{cytI2`{5ay749Dppi8S7%Yvndo%j_X$62ki;7P0NPqbLvy|u3~ zcP$bYc1b*jFO1|EU#uvXlH0&&!brc$DgCD_%5fD*7@~44<9YxCUv9u8R`>I$>^T-& z3S`f1xMI&}<(Rgaq+b@**rkn~kE~;mak9?er?+hl@AYvw{`n@DWY;iP!hRawzC#f; zQdj44zJ&ww&rVl!AMjhd7WQl1IMZGL)b-TV)q~G82edy|tCJVDT6ShGzk7>%VWBw= zhL6S}Wkt`<1{s3Pk+c3rk%GfcgD*8Kq+I$}KaD@6%Oo1tCkS_(L^k(&sVSklnaV&2 zUZ7hV9?Y0>Y1rcA{KKQ+`P^gjq;L(V?tjN1Vb4?&6U)@qF-8{eg@86xCPP`mV5@2w65$&q2kE-6S`LoWrrntvOTn3dh%W!8^2=?YaD>|KjG^lz1&% z^v)FPXY|@qrhzVHsXQi$?%_eNhZB_J$amt@eABq}rxu`bwO~;*8~SE1Z+f;=e8QMg zs>yFT(C(_|$5?;M52M4^of`N~@2%u>%JyR|}w8&~P|^RR7}>4bH=ToIkS(hb3QBnR*Er*DiemL0iE?4tG<>}MhG=VLIzCJ;P+jdP8uO8aT| z+iH4tUQN^Ayz#S(=^=l0&@KRly}J?ObTF<2tF%z}SM9g)Vpd(zn=Pt?T_Q~Wy&=}| zKC1I=!l5Qx@)%)!s!cMT`>%^TbndNaD0FV=j~=ZiX4C5Dxo#sEqXdnti`m@$I?w&K zmpi?@a}HpALl$INfg#Dp<}T3-YOpa%P^EiR+|MvBcr?r550 zq0AE$(*WT+G7I-dFX({#S=QQqjF0;Oiu%%H?Ngoi$j)-v70Iz1;)`Vv$%$P-KUuSw zD{sKwp#P7HI%E1jk(yx@yo%+7#87?sTaT!3WE1st4>1G{2-Ah_1Wh=83pPJ2K52Uaw7Z!X zJv3DJtu6JR4ed&4+2`Evm9kTyUy-IqDtg8*a)MvcC0>yo^_>V@;I}f$QBD1IjW-Hs-hCL=(noKo8x|b!fTXo6Uje6gK7?;8uvs<>_e5P`mWz1Q*)els5SLC@g+W}B~8`5a+k@)-(E z_VbPR=6Ztb{K<0nz2feoCFTTprEEQGt}bsD|2}c8V7n;GGUew z4lBSx7L+*Oed)B@`DVONHl`Tm3fP28bbL!yCm)nAB^SMh`B8@do@YuFXEH3e8EV`N zjW)vp%KXMTCbN;ui+Ron5$2o2?eHJ}wa4hMXA6;C{^Am$qx9%_WOwGe8X;;Vvb|rZO+R1FQ^TLPgs9mS%>Mw)TW|%qm%yFx3Q;cIv#UT_^i|#b7 z3s%aD(x>7ZZlaEx_=yYL#NA1R8Rn?;k>hP2YzG=!)3ptg3oO`c4WWXSU-H3L$b+eH z9~aCU{+B$L&^hjx=lR0yqV5X5JWqSl27>DQ^jurtT_y{gF{$yhbqvnD)=5;d4X~qT zHtz_et6V6o56m9FXFc*KtGf-j=xFxsk(8ITZP{T|U>lEZvi*3dPk{M00dLRoD;tU_ zA&jcd7Dn2$+Gac8?6lYYeg|j_^nTpygNtaczZ31;VvUR?;<;3Lb-mycs(+;!H)m_; zaq7o>9KW3OYSsC@sZ(b*xpS_lbY<-5OkYF~^;y4b2H)0(fZH+en;sLsyW1iA^x97G zz3?#)-+w|?2x<5&WpAp+z72jmYQ%iD@q4-BU%+bGai1De-~+ovz~sZ=-3YwKImEVR z1g&YLHLbCu)S64qG9&E}IITwSubyGvMf`aUh19FWe7`XV+xkCh>$EX7k9v*yub3C( zw;)hq4OY-OShQ-wqt1XpiefX^Lb|(iNMn3RI?(2v{%?CqK6#(nyqvjYF72xmaMQz! zji==P#oErx9G*v99&al-T$O~#of)hm*MG6NSPMlPS7Qg9tpt-}!^Bwl@O(9(Wqa6m zNgm|Ch2TcSxmRNptdgMe`WCrZ-)^O@6K!1$PN$@aW$KcKOYw>@+d{b_i3al&{3c5+ zgz23_IL3#N=60O%bJa1Y+ulP-B%t1i(z&sL5W0rmt&Q!k?{V9k!~L&tA-G^fTH(BRbm<^A-E-`6V2$H+~Pn%BR&0 z^qzMXbB%L@ZN%li0C>qJob4w(VH2dElyRVmnkQ-B9|sz}yIv9s0>(Lz3EPx4En z?Sb3dsx<^9R13_?>ZHKNDZu{QBcgL(ht_%G^2COE}W>#7Y6 zGz0ar=#T%(L;tmG^mp;l=U}oWR|gY~r(DOE75FVg^!G-R5#- zwnV#Cg^3k-KbR@XV^tg+Z3Dm`VX@x%tL3?|ZttykzO)Hg?mC%k);p8!=YA^t?rB+F z6|5QzaH3q;_Fnd-*WT9b_U?YlP7 zckdkJYqLF&ec3ztFn-O@7S-|FU&H_C=@781L749CfP06Nl-L zVzZ2%lwM#n$JR>(J(q-BYD+V*tEIZ?4TN_hV`Fk?OSSo+uH5yrb> zskqyyF~0Z$D&%DYe>)hiVtaXR0tMJf@CxctF2h_iIV~@s7@8icg}lZ?^b7@?VcAZ)OwaOb@{hihH~54DS{(vs#`Mua(wHFWv(n zqwe6c>3r6eiB4XiHcGW|-P91Ow$<KMnLZImzlTUO%-9wYFm@S;sW{-=Q1Im+ zP*!zN0KaTQj$ox$s06nNR?g%hlC09CG^wO$j<5+<=26}9=?uI?^3jB=1GG&VUa zY=Xx*o17+-AS^X|u)>?V+9OgsERXQ9d;-|^?3Y22rkJV*SU|Ag-z=abItTRSeI7ep z$d(2-mtWWzoYjpz4dGjMvcZ?xlUs0j&h#QSoEI$I4_0-GV9JN<+HiJ0g5243>YXth zSGciw-@I6ljZ0X8q42PVT{y>%RI?UIjbE+#Qv#qdk0ZQlc0(`I_BGBx1_a}Al&?2j zWfO+jh<8cKx|8V$OMjytTpa1p!0T-TfBe*I;Hz|~KX#wH*CU+Yz;^R!hp|-OByPfg z^SQoo%E$rE*oXw%jrn!U%!fU@^FceE^S)K2Snk+E))Z zZXA6|6JOxock5BY7$gHp**9ZRZxoNV1=6!-^#OMa&-9+MEb`S_zgs%cq9YXxVah zqn&+!0iQQ(y#6hTxV`uEEjLFUQI*eTyPMTp_|D<>$HSFlW;Sg})7&x6!I~uk0V}6rpJ?5M4U}G}F(9wbHb}P53g>?o_cQnvks6{h^l_${lwo~~N zs*|_{<1xaxgnH@?#^Y2Y7;i&tSd8mjTA|Bawi-njn#CBbGoG-$ zJ_hQ+*qsZ*$!@^~frN3M4#&H(6O4%z!#G&xa3ko6p}MmzCX4>#(JtiC&Y9w&(e^QE z84qmJzBX+}Bi0(F_Kh&UF`5Z3wcxJV8Jrq6z=xPn>Eyx*AQDavTY5d`V-kg&j}fax zM>~0k@Qe$AK1+|e7_gzb8!Yew0S}3423L=2Ev#AWVAly4d38`)|Jq##}sRL%QWaJ+bJco!T#iZ}efVBp<9l2ZKN@msQP0D$lm2q22elS72D3_YMp1 z>dxUE?8B?};N{{r#M+mef#Ik}_GZ-7NizVaft|xxb*IUyh!nj)`H(hQ?IgKRO&vQ>H$_BreUv)D+)v3A6i72z|7vkMML3zk>NA`O z-o?Wy{RczoV6W@pJ?Cp8ZK3D2u@3_gs2<%o?6suKe&dA;+LkCAGzMX5%+_TiZj*&MdTtudGi%RO*OP?fIPk4s&L3B5wK!Yu@Orrd!iDNi z;4fX-N4Zb;a}OlddE3jHJ~y0rJDjSw=If^NqQ>u^E)M>wIe2eV@$k1rmym_>_6Ivb zk<7000R>xblWm=PvbQO;Nzosv6DGXBn#|-fLhTMN=+2xx`N%fxm~cQ#4pT+HEHTZ@ zznY2LF~%vU`TZ?&ZxlMKEjlL(9m5M+Gx>shW5VmE(OfK{Lm5P)U+sjsxILrXvG=mp zLfP^@P$Wzz)fd}?fnuoVJs@l>^k?%(%0uP3bZEN5bZN40IC&~fc`bUl>Cm6^+@B|W)x!=G>XLeAJ}p}JE+lO+^;7Yo+*Wy@Cr)&WUfyiG7rQ+sM|}mQsJP67%nl^!>szLwK--o7jDs zQY_6VxZsaazb8I2J+{b2rgicl8%Zd>gz&w)-~zj=H&@aDbV8{k(&rIo0}gDYi)lpT zdtM`Sxv5Y7sns3_J_AwRSyS<2Fs)~wbExF2w*b7^E&z!GV-BX(ze){Etrt;))8#}n zwKlp^83A4EJ*Mu{Bb}^|rjxh!G>bTR(yQx0plDG4=14;#{F)4i<7lgGuTpO%os0 zoGD{aHFuiL-b0pstc=WNNby2#F1soxLkN}UGWIyCuJ}ee{LcqW9h$x&RJRVwzzsLP z1F0kj>nCNC>hLOWFkJ)O^3>G>R+krjIkm_c{IYflblmAzb_q5gX5uL*QspqlZ|qvl z9~*6jT{^F@j$vuFp`Q^!S`_cgF(Roz_wJj|eA3kpt7XeUH{_%14Xc~|(hZa*E^0Mx zEhL+B2QL3!2!_ml!zL#cG5ZZigi{YFZ#Xqy0WizC2RoS(p@hLZV@#f&_(dCd(cdby za-qd*>psG3H;dO0;bn%qA)|-a=W(x9hq|pA2PwssVe82aLUBrtT!nC75fiD z50dR|f&cs809V*N+eg~y7q{N-1Ak3o$gCCzYqgkBcEk|k0J9!K{_@<~#v@)w|!Snw4BzjJes z_rd>B;8Vqxa$5iTcIRqYpK#jW!D4T@mi}9d-ibxj(2#{apmW$C&-5Cq9q+Q_Ty5|A zlJ)2q1GDH=^>~>D^FMEaqQ1AM!2LcLbIpa(c-@0%>Xw4)2QC#aE9_II)AbBJHs?IWv-r`+lXF1O|LOnI7~#}qJ+8LrXk{=RI%(fv7c>5nwR^$ZZmqQyCXto9Ws0BL{c}0ash&{<2Twp4Mm|T&yno#E-MikVhN|-6c zjeQe#igLr-Vn{-Ky4P{hE!rHs?M>B1AlgyqLeAi?Tf?B4|pRnC~V+z_)B^ad)}r|Y>c+^H1ORFbb*qKD}@72k*PYmyTKD8 z2b`NtO6+*0I2RnN5b3vCS`2)nQ(COL#iPYR05I?cs9~_6ePprcib&{S;O}E=boR-brSMzam_R7ZWCa3|YSt~2P{!5u|#nU6!TFM^AR_7y|y$`^j@%XUzSpBA^t?-%{gU*98Me@fs}7_ zC0t>!YC6GB+n(Af0xB`zMPR$R>>gpWF*kC9mDgx$))_>1r9xP?aodqe<<_K!JCG6!EVD_A&6N_Z2`Ey4q1P**Qs(O!3>xeiEq!Da&aX7O&6e+N?=|V zkTn-eE=F8VI!r#P?M3pI=X|LQf$A!5G1L?@9w{v|q*A+7SLu39r6Q-ftB4p;@fr1algQR@_2>6&Jb z!wf;aN+0{9N6=O(s1vt@Ih$r6#jyRX+Hs$1=H|xwaR6fd_85SSz4x~m89Du@BJzh( zoCiAY*3RoW&aYJ$TxO#6nPZ5+p zIp5T&V?uA-tHa^Z-5c^4o;0@AdEBJLhG${Z+*8bdC_^lv%`{lzq|p}QLRAUW~jo@n)#wMJ5l22_}y zyw9<9SE$mPnA(}iY!W0%)J!8&sqWWni7Un>vhTKvq@{BFAW@)D# z^q60y)f6F^j^d7S)&P5-9^9rLvoZc5DCfiu$DCnSXZW@`&;40^62lM!^}n1=`&{{F z&ahgA>X;@`UB}g4a70E7QkLkG6HSA@O|XM?+iKFMPrUM52g=pHTmJikO@@T>Nh5SQNv&|xXZ^!Hmh&dT#an@WlkDOxzsK@Hn`br)3c(8Z=vr_X56x4vI@c^! zk`%7c&w=4Ca|G7O!U6~ZBewGTl|eDsM# zlPgO;bv<}-wUB+VHss0+sJon-nh~(olrBqNfd%Omq2N3*G>=bt19UqOb}bHn?H5j+ ztl8pv%@$@m@H@8sirxt#^fg(0Y5TUwTne^5xJL2Ygu!^v^^Ni&#;%vs-0KD|?3XPu=JESDBP$$G-IJuZRRS&{n+Ivfw0~KaIPZP<6p7{fx z%mUw=<_Tv`+i;NxT^PD3bTLzW{M9Z*HtmWq+?D-6S*HmU%siuilCy<&FP`PS`a-EK z24y|98PS#c(*|0O0F^N5G@lDX;rbFb+9a;NJWf!7)Oe=C2Q)dMDbLXl_ubhKjXX;H zo9)8+;+nQYHcJtCwM+RRcGs?%gH)T#OrIOP{RTd?9cjL@FPu8IAj0lKc+fkMMA?9R zBSqWx5GdAZ=rJWl+k>}n)6wTqB)S`DtAWPmneQo9Xv{^%D36=pYzP;K?qSHwYayeR z4a@6DElVEfn~IK?sR%|oTin!5YRqzTzablx=aCg1s>>;>6z@9+Gg|g zF>%NX{0Y^iEe(2ryj?09YI@pD;|(qi(l5Auzq7^A-URKr-1WAaE7QR5!NY5~7yAvO zPo}pZ`s`P{3jYlTzH`NCUWIJ~DemrK8{6Upmtn?d6knHP#q zx#hWFb6?};zTMA#G5K6NWc-zek!ai}wY^GoGz%*(SXcY7JX_icJ}eyqHPjf+s2LyN zPbo9TI$~gAeH~Dqit%KI)v3nv5o-DpJ^n2Mb(9ya3$iPsy8dkI>eqQI-@eXkkT-`w~sI#m6@gxYj zaYVYiyIL{4^Br>8ZDi-GQv4*oBob}gfn?Oa@c|_g#fNG1|3K0&?S>uO`Bu(;Z6-oZ zCtEo*i2l9`)ambrIvQkFp33eE<`^Txkg9D1ja4Z4kPLLjQi@UHWcE47Z4WNEA%_Uk znhrLYRqf<`+a&LaF5QI~L#ws%>201}D9a|+6V-Wg=XK`zbxs!$v)NYNND&(pvnz@2 zW?S&C%_NVK3LmWen#b_Wt(wHOFuR>!>iDX*UAq{QrlTHZyxMm42b`HeQ7KkCLu&2L zEC5m#z*C(AxWEVSp+F{Wm@<4JH6z?W8GI4UW?!+VZKPh*BSw(bPW4A-nF^ymWGg9F zC3JJZgcI`R>LxnJGAaQb%~4LW_>_cGr6J)@ui0AB1_(s6$>a~WG_m!t1 zoxUSHV!RVO+qCdcbF>u@i(~*|CLwf|7je(9rl(MO8^&xU)=Qmui$Bc8lWKyM2Z$e! z;*SLcVj4OIAuov9-_v#3@eK^*a^^d3PcH4>5|D^C*m~y~*Yz($ohc|&B=>Mj-T=Y0 zdSZkHL*gA-Hv`V|G|ZOBb}=PR^EMMO<3l*EmN3op2y6AEE*9y{_LqsgLSUwJFHX1> zi>sJHtf(=1D1ktYcg%X{+b?@s|5NNm^Uz0wm9vCJ?S2vssopOw=!;urgD#G;mz`YQ zE!XCEPozjb*nqyT{-kn3*{ZsUC2kdWQ3a3@wzUUas26pF+P4GL7*O${lcUiEfGt`& z{mP05b#G^<-ox_PZL zuM5f88Aju!IG4q;m;EUKsPRKXwQPlnq?ZVT!uA;S1p}9$e>A;?LyjBP_2|Q4K^S;Q zs8%)}02B(qCR&@-g!l7&07U>$?CBWxYL*d-=%$G(KK-4-0G^8c4&;Ih{SFP_DOhVG zclLh$C7{Y}DhukZ8K|F&y73wF0*Xd8W1f?{RW4BGZX#g(&SG}EV1(LZHUb!JPm$*K zn!za#oQBn$bSadS0bu%)q0Wr0RN#LspIer=v}tH2VR}=cGlVT0vB9EUrM{|df}c^|=bwcL|9zv-x zS|0{ysZW$zEy-;@_tit;xXeTJ#V+jt`*j3l_|BjsC?GiS@1r)jwU2Q!YniAD-WaDi;JLadzQRZN4c74;B zUDpI}yUk>g58u_rgyOP6t9mqpP!89p%-kv$r`Ta-i6LB6(K`>bG8@E1)(fZhe3or- z`l!{ZIKWH~L()ZM30%&?sjjb>%eZhsOSEY}In_I2R>(5H>}U4Sg5`tOM0Yzmb-}@1 z+O{E-?X2-@*6&|g6^2aUp-AFQiBIC#td? zENNf&nt)gLLQ`^Df3ukeP4mdjqRaVtUxo;9xVeg`v}(iJdEVH}wBd0NPI?M@vaNpi zaN?x?S;!=(F-xgkPT>NXxI8S&5)&9UAK7neb6@7ljFZ+Op<3-}QSl8_Jc+hvwfr!z zUf+2xKXF zx?HYzw#%>IfjPIu#9dTPqCHo(=xE<|SzNM9fqMUzi`a8#)FuNLSe0fmzT z4H=;O05luYQe{niRL@VKL8~n6W>?U3XZ9IVWNro8(-vBPL4zN&p}n=eJ+v5EUBTO8 zJkZIWT^+8Uji4&W4I9m^>RkKCo|C<1#`uPsOLECDhtz2{Lj{k;JhD|~N+(mMWYSzM zBP+YIxu{RMUtS=wkzCY)BZwT~QSg_6dZ_j#+m^C_(v~WXj|^pUytcIci>&Nrq2{c2 zH9a%ljk;Hsx(PFtQU9n;$oX1er0ByN8N>^16>a~Z3i;q>Rq@z1mt1W|k?>9-uXmO` zvxNan~4_)oe)GS5Qt-^F#s`u@kR58M@qK&$>K>!f>>t5nkp^%TE+E$BXi6G2s zkK~r0JtVc*W!`F(E5a=V>L1^VA7K|<0fP(9$W8UxEj)1rtCc)7*659)+V?HUZ#lV9 ze|vk7Px~OxvLFEz?q&cLcTeTzU3# zSxPWw8Gj8K;#<21?;fnR%4q)BN$(xhl?M7J;B4CL=_=?WOvCEa5OLa3} zFEl*@09UP0b6ZN6^P}ID<~K#;0Zwi@&u!RdhR8qkQK1Kt<5x!9Rg4$GkRfz`lP1(Z zR=yUSf-szRL*;A11BwID{zfMZ4_ZFSuJ^xwT?jH1VvnYfRHD=XxMDX>6alG!c7?n+Tw zBU=VpngW0(pKP=Qfb465eD^d!cnmaTfIO1{qC^w0{E$d8CAvkpJx;m#AIw%c=f0fB zLa({L2k+@IWbG2uH6HfkI99j%C@K-~+=OnYS8h?A(@D#!^BBL*^oe-2#s-9HWmP8k zIC5uY?3u~PsbY@statM0Ku9b>*uwckp>-A7kVxIx?tvMpmQB7EqN(0rKLtXTON#l4D!(#*+XsY?1*|kpa?N% z-m*!_xc>*6w4Vm;$oxS|0c4DX4`|MN0yM=u4bS`Zy^Px1DtUF*Y*J00=vZWn%uo>- zLbHk-ok93i3E3;FB?CWG$OFUCHz0J;?^$gT*obf9@{c%f=ant_ORvQw@%CE;rA>8WkSI4u(mPnAjz*?i229TrL6Ilv0S`vgohFQ zL79ytWc+_=YrW?$)M~gmQ|lPNR&nvy5_U%WPxYQi?uJap{W2NhVspX4Wvru(uv_nZ zNPJZh`xe61|EjS2H7>r2X2Zp6=YXc+;x~N?Kfb}^;sec$?{V>Uw#dsWVz@X{FpflX%^ki>;i#e?U7yeMxJ3F4md`_ITqlYBgM(skOqd)#qX{ z0=XY0cS9!QIhl-|aPe-HmWyjqO@57wL*wndtMi6t>fPj=#TcVyu7W$-4!A<0s`X}r zB$|~K?|o%ZuU%L+O@v}@{I?&np zmDRsl)q5qCe4dNKx>LPv1@9|xHB+pFLTIg0oZSjl>@NX#OFv4CuemYn zq2N#aAT#kTY-DxfPtxBto2D)cWcEb}V@St%Wk* zJOqA*B{3nnEcry6$4zInXGycTaXxDG`Eh^+@;89Mj~NJ;_z(;~dehob>~UoH@f`O; z3C>Xulmi-9>vG9~bBzNpa7BqM?NTzZOgHi<_LkplT4I2`stSp2`^~&cqU*c!$UT;) zDjuQ6El7O-$_wy};>bT1=W%+7hkxrUnfMBz)4?%(l) z;LSZ;Ug5D*+Kd^7;<(|p*}~_!g{P`8vs!ktie6)jvU|VYxsT9Gwh3v1|8*e53pnSv zbJ(NKrC&-0ED1NQ?O(CAM{Ku4b_Ch2-F$VdyYoBRl@NqNT9_>r&sU>Uy&E2+n|kxy(83=p!fyn< z4pQ+B7R>H4>$mPL&LJk0)AwO^0w)q0C~tt7&3&6{yFlpTI-|+e z8;vM6EOx&P@h3WIHg;SKu_-PC|DlnIgbzthACPbEi()HtEV-S~Gg85FHP%hEDPOSu z!hU)&;-6`kAUH;9608Px4(41EFapMTAZ?Uidr^I`a(k}bUFZ?PjD+-v?dCi@4F^o4 zB?K$K;BzQ`Vh--$wcYHj^}>Dh>2_$-a5;Z0W1japtEgJ#O^(e=ENR-BPdM`Eu$fzx zFZ!EN0g4KQYxTHJAaY5|0?}6>Vt`2GDgst~co!AuW9$5_3MAUs`Q>L6D4{?&S8cy9j&KwwW-f+LZC0Q=_i^S-Bur;^c^`Hu!dr0qQ2|b_&4zWpO z8BWb+q6r5}a7vG_R>jGM>U`%M8IF=;i%Hgdq-AU|sHpldC{9z()WQmWEQ(`XB*H>* z;@EK%lZQbhIrUuf6{^J*Zk9t#E2d5(eGXZiE8O(nCjI3KYT=UaCm$69(Z#AyHsF)J&lVVrhcH5GMTiAa8Z1y_trwpU;g2a z)nc;fg=_^XdP01-;jps}=-%T1T_5B*i#;~2rnk*^)7ybW9IJmI&5;lNT3|0%^Gkas zP^U8k$*hi)qf-QTFg_*XavTmNXU#S*CA`omk+B|^B{k}U8X9#PXKE-hN5DXiQ=6t; zhTLwlX&QDlKcCk+A|}L@QU7>U7X72nx%^be&n1C6ui&TtMqB6aRp-ZBO`S#$%BoZO zK*c1RIujP%65Z0r zn4NdpzV2t6xxbsaccf_F0kQ7pbGo;L?AMpNj&fo4-a0*BDXUwAiJI-MgTjdqYYiUR zj*0O$JlZ&lhI320d$>jOn|ooIUHZ;kXDB3@`J>t4k@GfJS!`A(BbDQe18QEd@;arb z9w=m0Qip_!hAQeAbO&2E3pVGgnnRd&_wRFgfNJS9Jz zI&&Q0mXo_I^^{PHq^1w(?_6QNC#?j!?_A-Rnm>}Nar@6+h#bB+5s>>O@B z8-e4wDI~2>Nm&1dq!9`Uvr$W%YX!jda!B4+XsBmSBC57?9qp9j|1wbNbRO3qB!}8O zL-i#!qsFOa;}k#=3K|wV++Tq!46ljOYRXE$sGZ1>taeUw91{3!SDW+MF{Ocv22_Yd z#?*dL8Um)628-xwi!FEF||_u`|fNhD@geAJD42v(`imaY@stfAT_-kF$xmqON!;kiM= z&CaI1KJhF$bCiiCQ~ZrxH0I*1#g!k2gOQaQjRQ~YhME_>nW6i*fi-ID;K>1}3};4? zFO84-hSxy!{7p*(gu0IwlCRt}Yt(;~Z-C7=GCt~UlkXUDNI;nj15q}YhYhws|DnvA z&M-iO@lk(KW~+#J6p8zH^f}AE?nxtWBaeW!biLkvvXpX~zP8q+gRp};cd{cQ)6$-L znOZEj))psUFAMhSW?p`Jh?l1M_T?MB6yvV1Z2#3u)O~qRFQ>v^`qHA8N8Fcsy{vU# z{-KxQf3w-<=%v(sxlb<_yDzuvt7VG#sEc?G#13ugdWM@PK5DFzqFtR&hH*l0)G+t0^^GnR%Jwg}`n9=I9v@_d z=d5T1J~v7ga~3hI+j_DSai$$Nye#>I=3;xuz+{i4?i?@&ycktG#&I`jKbBk&!_o8J=LK#i9?Q z$8Bul=Dng1W*jJgkn}+_w` zj7$a4gQ#_rER0zmj7jxZW}?>pbb>dJXGDsRN_??UL6APoU+c>A%HCObHU=wiSB>vn zt)UXPXq$sUVOwP%ugdyAfVO|$VwP8D`eaQ~fCzJZSw9S=Dc9v9OLe;FGz;Y4v%I#q z19FlN#E<0VU)j`I?5_AayGYxFg_b)%-zrPpP+UKVDiFI@Q-y3FBiR-UTU#x$Y=2|x zKTY+Az^;Cf*9h51max#bmaX*l5pJ$F&FCsNBcvz*+2ob4Q{r0cdKo8HUJLThPpwIoLXVxGfy83<= z=xrX*N%aHWL7A=Yo1Bx`T7=w``X5_rf=Zd;-k#hmhEb{n|Nmf>!aZVi zo)=EuHW%<5b)G=aaJ1y90>U~CZq;+vSB{z_YLvqYeL_|Yn@&bC?v54^XR-M8v99*n z;q-?HN?5=Vk;M1_;j$u$QleH9w&fZyXuAn!Hw>CQPUfxXn>p@OLKm!Ve+qqB1v88F zE2>8Jl_#2UKnHa*&5S@huhxqhw$8`)E)a9oq%MQP8Z)Q9Sb0%^^SI<&EBw27FH2oE zM``EnWzI(2(p*}zofU3%b?JSSslkqH%Us^ye7^{yR2v__RnA#9=@df|JQbpZ68;XY zU*Lw@Z`@>VPl_jN%nAvAOj3lW?ygkEpvl-?FYf$~i>zUXNY$0k??n=CmnK?pKh@G} zq@uDOA01}a-NBce6Q#>0m5vy4L2Pe~{Lw>jM(7eq#+ETKTAjC^HPVw4O-pkkMW0Un zpca(0Qel+HWw7II#~nOg3vEY~B#%h`>65PT-iqihNKofw7D0%~>+Dgs63_0B)G~B$ z``*Nn8JE0owJp?_LL$QMlw-DkntW9&ZXKDtPjOUgyMRojia-}!WwfzmKwg(9*WKKw zt)fY_j|DcJgp!!c4HoHLYVRbcx2S06n<~!Ao=POITG>ZxWG;cBb;r}#d=7{j1*pd; zqyO|u4-KdGn|k5IK$@UT<6Dzm_&YbDzm175wZ=egk4tMpY5Q1>OYOIY{IZNN7L=e2 zD0Cb)wyIW1@?aCur-_fDS43sISo>vHZjz14CO&(X0h`pp7C5fZ0(53(T zyQrD73CZz%FP)nxFmjJ>HM)Q}BKtU(veu}G?Eo`pIJsC|Z{b+9c~GwVetl|ghXxqRpQNXzd8;#AK?J7}{JS=g%JvQo|OV`O!>TB3dg?1pFKrO!{ad2CI zQsWC(OCCgvX6j^KAbJ!Zh_-}!iF&(k1~RuNU0Z*#rnoU=RP!z#>ggXJ82LIH6(0@V zYTQ_}(71c0$Cjmj)Af8fuGEac5qofJI=KyaymbUV)j9Zp4}K~I0CN#wka+Jw=ata; z6XEcqF=13BT^A*bCvbawbYQaA%q?16)Z3-T>&fw- z*wsdZP56MoGmkGx=O_0VG5(X_BTFh*xHL-GN?WHxBaQ3!^^WlCeSvTA^uDky+9QqBlRKhxW$^LF%0{=IyKOxaI&e*6Z9% z`(l3kXqMrD^Zj~PD5V3BcOTV-dT;3+N{&bT#V%@_Nv08{@6GrogFwwMBS7E-nD9A^ zz~!AI@Soqf4NspHNtPpOUW?{&KxJ1#YV>!jU6by;gToG^-Amzz7^n*^)ZGMi=WeU? zp!zdL`w^CpuQuyC1;iwta7nVzFn3AOVbQCd)6O6Z%%?ZX2JDms!uC(8^=P)eyN%nKD*`T^?Eo~F&V?KV%$K)OyFs(X) zgtjn$%90axDF>H}@u(l}1r0K4Ul*=}+nI(9G?UD8VYl8Ho_^ zSDYEFT58`EXOFk}dP`OrXNkD+uqAO0iG>6}%T3@6iWz4ak*$y>kk&%lKNE-krFx`N6xUq1f5;Dd~QuessR*kq{!1aE%huwEK&C z(LGA6uX@k*hB$ZCG9`Fjm#vD#w-7J!Y5=GI;Y~RxQSZ*&ZU*jNM%))K$aD6zv*XAX zZ50O6TtVy`b2b(;s~kLYyN2AY``8IWrJes`@z9Lgl8flWnV^M4+L$pYWa|-OadtxL zvDAl>1CJqI1g!8#!D$uSLk%y^6M=(o*}qf0i_k+pG1~RkKBWT0tPTM=1V^nWTc1a`|if zH-93@@!6AVuxb#A=*#H%Fio+xN`chhEcSJT`mZDe7jTeCcQlNj8(i>CxQL(I?jXHw zj>;xubHk~#j^T4b*xgMsF8v{FNzg5L*Hs3@Yp7VWIU8(s9e4RPN4FM^pOcI&QhWbk zrl!(h>2}4nfg?CCO{ANFEctHC32~lChpt0Cno(UAl_a*hjPl=g>a1H|PQQ*WGW!th zQUPuSnH#KH!;|r8`H%;X6w!W$nLy5tF=@zcEOlwectSrIx<5zvmnLSA#C<)iP)v!o zC&^T=LT;`rO}({Zn37;*vn!aUx0Eg-BSZhj0tFo}BZ{J1V7MtT?S#;d56rsQ43)qC zAnarKDXDs*cdd7RW2(Q5Sm7~Sb$SRuAtD^;i?he$GZqD+yBft9tyc?Pv|cH{uxZ$c zI2+1L-4$EaHlAV7Q3D=mRQFAY<+&7}S*y(&9b<^~A!)YiOLQ~CwXGLl%98)m3X7{D zwR|ZX{ETu$&o9&7HY%&mqUR=+Rz`?1t4Eb5Y|MVbO$iu=(JSQB+%kHg22{lE+*#^k zD>w8G=fnjgGH6-sZ~pSAIKN_epBO8hRn94E4ZU`83%A{%a;b&d7k1`fYsAj=OqGJ+ z7q_dc=XeQ)Ir%v(F=vNrPX<|I8 ztDD6Z(Al2&gdeG~o2fBlC4*>j_`x# z^c+9@V*x%^wiO$3jbNFU#8~O@(ws@LyzCUmFrW(W-)hHrXiR6DzBb#i8NS4&prl#0 zHPX>fi>@JTMLXHvt!&8%_wrX?Rw!3>n5Y^$^L6(_Z}|msHb+qNhGSR;{Is>u5v3NA zBMWcvfzOl!DBO73?8kj|&2|n{5+3Mq6G%GPq)&SMFJMTf? zj>p&LDWH?Pb5MS|!+xWYoYpDnGG(YEQwo$!IYIjR_{h2jsO8xVNy`WDhl&sz+UZ#HTl^^$ZPh#4ETObK5bWK+=mhV()t0ui|gZnP4{;NaW#ix>PHq-(p?&C4! zK{tE+kO66Blnzfs@S!Wra~+tct7e>}tN5_{C+Zp4?K5AL*qxEGV|>ZpvOhxtv{yPpm5DD->jpjtXC>2pLwP$gFsEKIw(B&U;>$ z_depMgO46kpj3vfpF|Cf?d|cQzcL6Dj0dfIIo-DkKGVJSp_4F zD_9$M{u&Fw3y3i!+ngH;Se3EM-}#=%jWX=n9p{o}=PBSH=5`J9-UuKrPA?)`g37YZ z={sOeg+(>(QoIuAvDjIGDba7dWtV*4(jUt98LvcJ7J!xKW7dWw)$Rf-le3z?V!JEw z#6iB~G>4UcOMDpC6gwoG=xG?<^`VG^e3&8HxTUanX*R-9@g}Rq3To4x&Hzb+I?REZ zoFJP4o@sWt!%Jr?UMeV`5vRC4`oYSCdQ6+(ozRv^+a1^@074m!CcxQuZ z%-2@t4mO6Pd!Iu7r#l?vm!S%qBwtwffECnqwG@2>$4ITV3=ctbv|J|(7h9lnJ=U=w zYEk-;a~n;qe19iv!u_>{G)rLmVKhd`cE4n+EtG|ySB?G>t3dQ09P&haNu{c z)CeEPN*ZARQVqAz3|PU7Z)~dqlOC|1#Fqqn)TM?B(e@)kI}=B6?}rMvA8!{6S{gy` zgHc++ZSa7w5tsu6)NU)NdRFpIEM_R`+Mef91(A4-eJNxoDwCbg49l6Jc*~-<$llAg zc{c^m^EVw-*xUtdWU~4DGPip_J;}x$95Q_11-5_}O;< zJ9W)!elB(Wbl9oQvuO6fHD7!X0z{x&w*W9`09x{_1mw$KXFG$b2NI+KZ29R9$fOpJ zusFn-9S}3MFz1R*yNhJ;Ps{0lUd>TC0zz{6Ea zFFDcS93>*stLZu~UycdvS+=TiFaG){mJqdy;BO=N-yH#d#|aMjov76=jrheZjenSh z2`*^9zAG(w3{Nj+1+>`R#U;JZRu_E$ldS{J6AqN>?K+W>a?jLqkG_K4nVMNYRs>}+O5e-UcRbiJo)-BT;Wki#Kv#qp1k8RLV zR(FxHp82JO-je1S&(`B(5{oD&b3=OO`DvNk`BAL3OIlDhRS7N1CYZ-5KGBxe;mzii zDnaB_TRjWiyJ0XX%@uHgJ0DGl$Dzc%j4fNludx@o$PdQ+IZXhhat{L8hIurY4ShXu za2F1UcH=%Wl|9GhiNL`SM>e4AJaH$}80<3k+ZRm|(pps^qcigzIm2jg~GH)LdKoN}VcU6)1XC6_+DtGg@3c`*q zLmYy;phMIlK&^H(Q?lzBf zTuJHJh&K3=m!wMABGM@_C9MQSq$=TV6?->Zx>;cl7asX8V89~!k1nQhElRtsJEgvk z7kf&jQA%$tu>bMW00Z|W858pHA4b9n1^7P%{{ekMkvZ{(h;=r2cph#JTU-KjTK(4P zKExLMp)-lqh@{-jln;<%mfjHQI6KrM(s4@oOggpS3aPvzn?1H{2Y#%XGlfKahT6R& ziQB8ncLZXg!dsh5h!uM1@2?%A)gEv3g}A5OKyTtqd8Fl5*phAfTxYWu_EUBvAI~H+ zzbr7U0~v7IgPjyT`%iw1^?2fDhpB?-YL}_|G;*jg3BIvNCB_;CZ~yM@XjMVF{me=03>@^8nx)m21DVoTd3;JL8@OEfjXflrQQgV?r z2~QN7l!Q;^LSyAKy?kTNMIE7`eEkhy-{I?tff`V*8YqWxw)bmm9>2VcFX3KgJcO8> zZj<&5hqTztDWdHas7EK zXbesROq!p;WRDPLPnR$bgY@bO^FGc9AdCgVsDA6G`m47ZOsb1!HopU~m|VsHELX|B zfs1_#9wYNTRc8U~^dC{@vfd8y65J&fQ^9Idi`If$I=Re$MqX|6tXWMS#hBG=muCC(53^{&GJ2r z>S(A!r*vM|ZFTpjs{2HW!j>WgB9NJHNY5_tH}R+>fHV`xLgZ5{>a2*)O96R;K)BIh zGETi0Sou}~22bN36tKIx2eun#8YP^QlSLJn*i{j^*fFW$v@MifUh^gr#=jn2j0Gl@ zu#9kivY%JRDb=oHT z>~(i{Tm0uKOg9wo*&Er;G=^W{9Q>|g?ejlB4SQIiikmuS(2j)^)gZ+sL`kUdTUtkjmV-TOBnmmm?z*K zL7qRpSft8@N0TbK@}2Q{r>qha;Q{NTHfir&{-)uo-bbf&+g@C<;FALlQWg%LjLmPu z_$_Rwm_dO1C`wear; z4v~CtmL4ZW{BQ*?znFZubyR{0h$0kch=~qHTJ+IFILY!V`aoPQ9TScfeFq~@G+3B> zp-6Ka(rkpgF!2}M)H2zj&`$v6%9;yNy|gDmrO0*-`R~V2S-Q($=wh>chw{XP4OuJO zXI5N-ZR?_@J z)PaL5iyrhhRVxfnC5Ef<+${9V+F+)fKmk_dq7sR-ZhdsG;J~29S5$4ot zqpU?gg`7=T_+!s)d%>89O|z!}CvtS-+nR$J0K}6x2dw9tIi^Czm|rZ?{XAKJgkTy$ zj9<8wbym$gMTcuuZQ%;k9e|-`C4Tu&FiY9{u^_z7UJ$BCHU;2*zwsSrM~m5Y^C3dO zBv~&%6*+p=V=M6(jFnl|x3?1wt)9+O2yQhXJf*AlaJr*CoS?La<77EKI5aHMac&4p z@N;mU-`SprPfpg0gbe{AtvXJLfV*86oH8p=+!8Je;_5bJlctnoL49>FE27HT-UB>f z7HJ_QF4c?=;BW=M6?TKabDN^Tsc@K3Wk9i^;`l(AwAxXngw?J<0-`iDus2{aP^)Hh z;!O1*nIly*ec@vwRX1cPzt6N!a2vrV-F7@xpW+jBRuZ3hgZi0CoZ=Hhd~45j!R6NVmH8` z=9~^P>$opZ4XzJ(S8bq*ZPuZ35P4JN^@U1oJuuRk&prta$Bl*ZaJC|!dF>6@LVct) zawJ;I0%d2WCLwrkVwc}sOYY6Fdt+82sgr}9?D*^YT>aW0&qi1{kSbazkCs{_p#*v59_^`OyO zX0)l800$tOBMWExz&{J&Z*fk%R8g~3Ckzbg&d`9!!bKUOd<-Jj+vA=O4|f-ct!B>( z6oLdXR)^Tj76iJ@3NjyTbht>xWZaJ zpXSI&6W1o=vacUHRw}ai1=-d>5fdCLR zo|DN5O{%F7A4fFl*9yWz-9t!#ztWoYRt|7T^M895&GKx30{D%%w@%s8o>0I?b`Si) zuE6gnZ~)k)jw9rPbQGNMx@&rJ5(*kR3-;}6sbvJKp}bXixU;6<=8CE5Wf z(vb%bYLo6Dzj1emL*@dqvVIWz`@Crl+g`<|lIK(v|b^mEua+#h$G z?UGO+RK^j4r0pg}+Yulk#SFvC6a%)Ns`mTT;vK_8HN`57dSD#Z+9?#mt=)W|i#5{q z_zYH_cm+6-!mW8aTD8G3B|il!C+Y;A*L;j^;6Ed8mr7W71CzxGQPqe8i%c<=>(Y1` zQ?luyZUE9}tR^DXCk$%KZ9Uyo_XV9R7X;aO-Vf(&6Ln*rcX zhEup#NQJws&%lj|H_(IeQm&u6c1ak%jH{(f&=>E$tw{ekvrD(507{g#pk`?S&UIqp zG^GK2v;qZryhBL;o@Z2n8A9b?hR`qBl;k{rlfCVk(4BEE)O9e#bkUg@iYhrl!A2-g zm{Owi@sv>e2kB(5U4<{G*BWsmay*R}G!9h2&oqvk#B_)bBoX_>HF!4XOcONUH%g~P zI(lezW08n^sApt95X{)yxm(pd!masi*8FI;z!e}G@^@iot@a!ni|0;2?o;sMZ~B|+ zi_VGNw)DCVv~(=M(r-6P4>>ksB+k7$V;E|3|6hN^;fDjp=6M5ma9obcf0sXFZutO* zkP0x8TV#}%F~_U_kQ@U(mK;@EaT2LCDC3e#O^(ZxI4)~>0$ggPxrp&X5-~jde~vFj zL-wym$fp2uxFJDxAzm6(5~4!rPrgtzJ&~=2%ArN`@s#)n{+M$r1kiS)v;v(mZ=}(J zSTY?Gu+2Fmdx@UW?(|2VTQ-wre}g}$2epAEox8GZX<{>?J@kLUf|Xl4!^a~(5sH^8 zymnI=F<-0~5OUR(wf^t2#)1yw@|ZbgYl^q!3_l0x$oLDOyjemcwci7cG&3qj6cCk<;9SCw9|Zv`xQXI^CdbsH#aR*&A%U|yXmE^IDaF}PY(93mciKJe9XUq z2E;^!B*QYbJs>GMc*~cZp*k#wSYQ&2;s7tNAR`@de-J8c9*1ljsPZWVd@dZrysAiY zqB;{{-xh~W2t&<`u`&o(bqu={0WhHNWtmipA25;A&pn(5yl?G!0osQT#5aZW91BWVZ&ud#juKRLOn2%00gO+)ui>8G;VJtl+ZG`Gf~w;v+oyo8q7nD3<9$5RKoN=5Ao4 zcOWAz4Qi$P43gCPPwb)Aa(Pz~s+g;>;ACg@+Q=?Yd9j3Dg-Uf}RX)(L%MU<`_5P{O zd&K=RkfxWA?=P^Z|=_UVfq$`uK&ADoh~Hau1U!J& zGwrA)e&bZbTXN2^D|r}|I0BC?O7|6He^|ZioG=O9ddAo6;fWs*mSI>TRl|MZ9@eJ_ zoyeBAA_6Wo;26yTul*V_35kzXDhoLt4{zt=7WM(Q>goL3D6Xin-e-@6)T{2S|1$(&#b5W2ul#f%o?RQvbqX(zU zI&4`ze~jfhAS3v>hkjsZS1hX__Ou~J4FlWSy)FVO# z#R}9TX3W^Vsnn8G-r4FAafM^kQW>VFQY%uAx_U$u)L1?qgT`u~{5;bE0TMKq6BEA* zD$?A$ge_W4tZ2nA0$H%}bK(Xx4U6Wlt-pi7=#uDXSVSjiCkW2i&9mu7PmlsZmD!iE z-p`H!700KOztwQa{|bt^7ot@%>pAHJe-v5O0pE3i;Y&nN0A!|kq_}}6>#`O;tJ9RI zl`o2v%@l1S05>Ah*V#_3v;Zqbwn$rpqriJ$mqKO|8&?%xHXt-JiCZ<#R)~Ln8L*+t zh^PB=x?uA?XyM+Lwt)q{OE2&~R;yn0H={uH!Na_~bCjy4o~1(RrJm|iYAH$ywpRvX z*A#+B4)&T`iryk?1Q0>Sh_>KKE(VPp#PQ~!`3zYF_a=r4dDtzx5C_|E%()Cl0wP~# z28+MZBKHXDV-ylu-L&=OE=X`wuzGzf;371MUpDU1y|0ZvveBQ^r8oL5S#jg0m0f5i zmY^ko0e`4K>`LJLL#FmXT+)}5k(~=A;nc%>BokT4VPAKR29v+hp5ySJcTOgdgXQZ` z9&MhEuW0khh4_Oriuj9Dem0EExwjz)M*@;(7G}biWC&hTX@!MIVo=yX>%a1Y$EvSg zGtDf7PUPguv2(G8K=D@Xf%DN$f8(`^q^sa{+m(G@dmx=KYq0b$sm68Opyv&$*a8;o z!bA^uDOQDIFd%DdwlTa|JCw+|0AOD+QA7X_rw^j5x&XKw0Lp5&g@={Zei%NxthO_J zI;iqmiMFN_;mY#^xj*2w1rd=Myc}=k#UIZ>4fiM%w-=*^-=x>@bu_(YjN9ZHrbE() zX?bjXA>1TlWQ1mF81AuPIi8QzMwEg|`OW#jySeRR{%fUB4-Wv>^v z&ApSOmo@?L%9_{>5xkGt1>zUe#TyP9-d|B1_&Lya^A-%>uQ0!HW|CS0$bFd6J3!1zvZ=SD2NTwX?Bm3(z&(~Dh4f2)RvXDW!=^j#vGtIP)P&uq0_fY`~VRs`=K%zn5%qB~rx(J;C?zCH}@ARafR*jIQi5KM%%Oa0*NX0M)Gn zS-_04t6+n~#+XuXBAW(iYmb>_AeP3}ne`Q!o?-w0I6ITzo$c10!+B9<+~)1RWTIH_ z+eZOCKdGA1-j>vW(~yLV8Q7nQGsTw;=i`sKc)(K!?sg{xjUUv9VfX-phL1e9=iLls z>a;GuFx!XwRM{5AeNKiyeVE}J9p#70!9i2hBU|G+V70uhG@fq(FhR}GvxI;;=vGpP zO2BRpJqLqLR~Uce1}nks%3x9FdLvZsCoi1>TQz~)u7c*{}Jzb_`@}Wvw>+ZP9xQO*?Q-#k#CuEORScKhdTFf&JSNq z3 z^EtAIUW$9Iz9b3c5n5Ea*H_gWKOH{pNhm2T_R?G}qt#Bby>bpjUM^IG7{y0LiF4R& zS|A9nuaL8|-H){>jbgA-!5f87g0Q(x=u;CX6suB3v&kg$Z_Lvi`QMXDjlBmxY5npz z1OUmXQACk}cKbF$7`k20SjBp64$y0)KgQzI;uG~qH4A{-q=a7cEOWA$y;2U;Y!--M zh1`1%rH0yh>_u=~ReJ_)Uuou*w^tG~n-OXn`QocvmNoa7c(wCvy@Q6hRtLwAM@$&? z_~P!>hZZ|{cqlf|Z@wf10)u+!CI;8A&9_g(j0q^@TwEYj>655+sGe&!AbV+BnnBAAkwTNm@Y@k;U{ zYZ#v*)^NS}l|_R+xjEF6{dHp}Mcy5-LFhAfKyaZ&=%pQ9S^)+H@-!|l%&}Imm1u1d zW=$8M*;oL8)>cf6s24bg-*G!xv9~kKdysOrN0{UAXB*kn_~gQeIc#S@^-VE?Vly!? z*=%M#gRO5@oI5;r(wmTKK(Pd!=|v;ehjgXg0EY;4{rW#r9ttE1XM4 zRie776h%cIt7}wjs5nALVBEvSp;dc;#;Y+ga&i=k{3R@N0+;+UeuIWxl^V_P0Y=ba zsnz)|h`G51KVlPzdAvD86g zji=S@idm1_M>rXs=Gf*D49;C`u^#JBp5d6wV?EkW^1OU{qUUA*37(f+@5{-9JYOyt z=y@48!1FStzvpFkKhMj;<2^4+kMq1d)z|a#QoiRUu6bT|_VK)Y)!Xyp^S&IP=lOEh zv7VRWV>~axT+hqRIi8pMdwE`>J)IY8D|lGVZdNA7x&2s_dTdN(_;>1&HzwJ6|CmbM znR?7mWjHPMI6Cz>Gxf+jm26jDc(YeVZwO^vwY_u?tgJl@V{G)57bxcqYw6*b! zmZ5vqi!J&~>Q@zkXCYup@H5M(*YOiHsw?EDej0x4{L$CKI1?i~FXOef^;GU>jW_D4 z^xMg^BGsbu+ppT%YJP;VW`DWS8Zg?7R%?md20Ifraaa}VPgO_~01c&IlvuIGO!HwcHMb7_J^MJhxXTsE%; z>`!v^T$t}C6e!eOd2JlP84VC8Jk^%Psa_L#tF2u{g36&7s|8Jmki>D^N3qJq`eM~t z&Q|gqWO6tBYqr}Pfl#4I_;i82yUWRg0u^qy`Eurrjk*CaH_pbhRS#Q}t~8ai{EcJf zbMGdM8Av zQpUH@{fiNzW~=Hi9{{SY|H)2&S?|8v*(o|@a-8)sHe9iKDJCKdw(&W99-lkJ5h{$k zY`?JHzx7b(2I*C-6z*%yz^#Ey?g{q+(Ngb8-~lGuCq^&{dOj65kjnN+!cd^RvWBi$2NJ zSU8WfYCWE$mdHSdrAk7UUWTtAxVB^)KJyfVUwh~W7jbzNA zmBayjKa!^xPeXlq+5_wG9g8v)QlBHz@Vq4KhawoU0Far=T3^P|A8V0uWC5niLqd7MSjL}n8 zXb+sk^mC`I#5XdH(W)1}u505q1qmz;XyQaz1`jibqy zLtH{ME8KA`cokwuz_v~vuiZ%D=#Rmp~yA=4;c;Z08aJc=Fd9u^@#iy%ZfF z`3iBpD{OOGbd{a({Qs%}#jy-lLpfif3eUmO;WjNw*J~m7PC-eSB+{72PSm1XB+U+n zdcSkxhq3RX%kW9f!CEah1hq8{LiYiBY%1DXujp=*!G2L>kWcm4Zj4O@(d$X{`eUF0 zk>;dRY-&%)zAe~z*aD|8yppO%2PcDEs5+$$t}T%*d1Mt*torY2`SfR?mpYZy##2c+ z`jpz#b`K=k4ec5+yLPKwGF&|v;&Yw2I+klGJ=;otBb0QO|x3R%&DKUrM@g~>zjyB zQUL6%?I%IP2AV+Qty0CRVw_dWA2T6)q3PZhJQvy9*Y#k{t8iA==vc z`PMpUO4?eeHJ`9O|Ba0h2<=|NbxFih{Mw4D(&5*IrDau+x^2N#zcJrTjZ_U0TTs<- z>youS*rp=uB}C%K!?fmKu$8e<6HkIt*@N3#=ECXC)Q*ujl8Jkf$V zb}C|w;kq{az-&Gb%r2^ug=y_Wq)04`psrtA9hFQARbh= zkUO#+>tM#4#~<~pMk=Lh;5G`7gmQZnT5ON6~q$lku6;DlPm9&LDI!kl@^z8 z#gQPBYwT4GaKCLgRuO1)7{jizL$BF$uP_HL8T>YA&MM%d0v?rIQv{1Gt*#F=Bd=jv-FylT!F-cT@C(M9 ztm79Rj- zAtzAt6Gga=%gJ4H2;R%J32;q~F{ezV8|b8fumR%NuPu!tOYq#=8pAIqmXo>!WR_3U zvnCCK>fA_wwQg=SNR?NC*%3dc_;W4FQ3;GuvL7Ooy{!*zh2K+7RWZl;(kD?bR4!u3 zYs0ewSyQGPt&xv=`Hc?$JG;l{zy*py{=U((CJ#c1s`rz3d$LA$_rd~RA20w4Q+5V2 zgVs7W%UV0&dexE<%=iSlDBOa6$kL13DhqJi$Mh}PnNSw+4MLkR-S4ecy8~I})9LCM z>v5>RfXvUqWQ@>!u<;-cWaV@iUjVHm3z^`m#k$``#!FA`8!muulA+btpefat_38}e zB>V6;3>C`CSnyr)4ybw9KMG({X+eMpD-SHid1Yw8d{nVo^B@um!+zfqrCXem%;QqT zo=^I5*uIJ>Q%x^D8ZnTLqT4jzBHTS{AaJwZTL_a!ylgrU^Cjk?jO{PKibE=;0oCl; zA=Uq=8>@$qfsEz(_)&_G9;@Rf4_x)QgU0&`zy>cPO96Anl)JtW?9fF5OKr2;*9oK`n!+GD z?)?K^zQkR`C9-LARoIoB6c0%kKrqS)+xwv|0^= zgMek0kTWG}MChZVtXiw%i3K>QRN%!~2(-&WVEI%e)km-82WLW5O#0DcGByK?hw_7? zpCKIS+Mrgp*RJ2iMvmgoD&91AmbP}Awze(OdQ9=_RoCHmobWZXu%rl8ujdHr7rrA2 z+W;iJ65&B(m@9NUZ23*Xq~y25YueK9LGR$X&*%V?JPB42X^?oXxoE)xZvqtO?Z1D)DRi?|_gf^0g2=&m0lLhY0v}*bRl14O36|5}K0~i% z7>3Xa&L1&#)YBa@-Cl^ZxCF=$yD;6u*b9`Gq%g^gV8+S`#&qRnD|8ur3J*@^tDY3n zlb#|oe*-;MQm`IWGIKcv9QYPU`Vy-_9AbHPdGTj+Pxmw*vmv@UEw6#R-0xEtX2bpE zStQ`?LHy-4BPx~~2Cy%@sJgP%7cQ@^+~f;Stgd{;hb!Asi)0*gOZWV?MMt_nsYmuC z{tj19f76v}P+hKdJE*jc=&(3&@wB2+E(k&-0wmjXf%@}nWjx1`T}kv&CN3k3{b9KI@u+u2bh5PP5j zu(1kk^laXkm5tcF!9uVN`ajmKpV%|a-!V|YfB9zF=15Bxj=s(PG*QFiO0KGVj{HV1 zyp!5o^W#yWhKtgSOn=Q-YTidgchPFcDljc{334YNzo69w(qeM+9g48SZ=uU-YIEs8ubjure`IyVY$fjN5=LGV|f61QAL`BDp8kxCveG1IY)Je zXBcqJqnakyNg>`N+eP8w`cxl5eiUa9VTX#ULdsSmGa3!G4frZFvW>%CYyc9|1`B_y z7f6a;^TbFQ1YUJFLU$keJ>UC%$C2N2yx$9`Fr~xiaa(6o@S6?vK(OXaNF6HrX2T>V zO;1Y-GO65?WQWGRlIhP}@0OmiUEDdv?qtPM=}su!tC&B0WctsTexsYNj>yqCKt*-K zaDH7d5_g_#65$cuwisK4%W}{*3+K4}?cF2O*9CFJerrn2mrZooy&Sp#)II7g zYq2Ma*%02o(%*4w%{f`VSVf;mOD|2|#5Lv$%n&WjqlsZ`)Z4vic#B)x?}p)xzF?}? z#;8hO#MdVO5%js32M@R)%g0ShkZei|6Ul0yLj=H2aHP03TUTD3K1O z&ZP0XGJVPaKC0m*BEbSvoFrWG?gS3K@IXK2b!Vk%TfIM%26e|;uSlP~YL|H#`N&#Y z?Tb>v%xBk`FAkC)VMg?)aHz4#I(DMNmRfCu`9c4D$b<2*`Rpd%MCots%qpMJ*_@+# z>D-=dUZ*u2&9mH39r-+6W?A@;28c3xTr zE4TXk!bPO_*Vdo#J05!qN8N(xe)m>L8!+C(CHCb;yxiET!^Z%7lpCelunC-D-8x)} zg&~gII(Y;V;zAfw5Yc1M?`tmtuug#97p;Pxe3&X|tUP@d%$46t?0% z1%-*c!;?^C7%C|Ht?gh~GCOhM2dhCr;j;tffOW2d!bF-i2u1o-K{;$Sc%blub%lb$ zX9r5B_1Q>i5fiDkj{y`l({_gXHh+bD7>If{>>mI8B~0S~Rtc9Nft|Mbc*JBiBB}t_ z61cUTIO67WADnOWDT^w1| zGC?=7gD?Qip(mkqES+|H*a;*yy%&TMH!~5QgbpeAK?ps;{@_qL5PMKE1!9j#hM+kq zCy1+|(bp6M!?62_nVhl(0l}RXom?0+XJSvuyt6Pr2xImjrK6-&0i0-#_nbpgnsqI} z3w<4ei}7QPcvh#fUcg6gX;mzL8{Re*&yp&X|JCG(`&7}~(gqi^WO zLHjd?mL6McAxBd_a;a2ou{Lt5YCeyZ#74cG0baan zHur3VQJc?K>3?K;u}UY>)(sFS$Rne$LOn|tk5|uZf>orRMbr*c&!SKjsAp+)KlLnp zlf&oOGWL_VIq$PMqT;CLfEGEnx7tzLMBTReM1{NM1MZc$o(lL@F#RNz-p=&fRC+$r zt@>foChFDJBK2Ir=X=%j5I)aT&lu}IYnpn7GU>B|>bZo^CF&V!iqE=;&#`4)yGXSu z)kU5*IXiwiI<#7Bwo7FCp!sJWNrVj1Y8m`G82f8FnIQN;rhr*n$g03Z{LI(A>Xie5 zuN~^O&3@$$12VVc)sL@4$PiL<%#tW{kLhondOliVsA-II-A+(YhP#{NC-$8ol2~`_ zrOZJBDi}Le4swa)c+`eLvNA_st5M}3?;uBLKFgEP>g(^+S8@}-{+wS)di8aY`YMVO zzFx+!>;U!kCiPVYAHJT-uk0#*y~HX}UuEXTya2zwTZKbj@*rhEdWyOG=Ddgc4R>ACcQTR6D|F_#1zr;N3)cR60HI1_NGl7J*f`!0u4M zE+DXty}gqFf!(Qq_3Z}Oy8!?@f&Dz4z>LUnP)h`8;?FE)t|L;-A{=9*-Z}*MGiRm- zdq~y0mgzy2E`$9Zs3^{0pP`;*uwSd5*QY- zv2SV#?A$z~V!Apai{4#z^HCcZAdItCkI6Az>~_Fbv7{a?c9+A|$Yjq8*ZQYALkb&N zFcyUyttU!Jow64EUloYID%zh|2?-cSZ*@iDmw!Tk{SsZjVN|OBbwo(!l$03450~PJ z`q>BjIsjU<=n(ePHkS|miF@iW?j)d5iPjp7-Gcpw{&oF+0h>x@IY$XC&ARapPJesy z;f#9*4(o++NFFAe!}w^8{-%Q_8+iKvuWll!`ROG*CpiCN9G!{0f>|&N(85iLX8_LM zIGI3Wy*qyd^0%ZT|I$S8$88RjfBNOLAz11F-chIbC3q;}> ziENMz`hKHsUTW1N`X8QGVRN<-*T_p}(d7(y-i1%LUXpg_w7>BtRpZZDbAhp_P~gCeZ=d*+)en)jfH@*H!!p%Frp;@C+`va%5&R-Bev+d+x6DNWAy{u^}&0& z4QTu<#|Zyqmi=^KJAbGA6xp4T+uoJSRA5ywn!0r~XwHQJ3+3Bk%chwaE~NQ9u+Hn* zO6DFT)Jkw=2V*9!$GE{YaNr|<a2j1|JbyG+dCaS0*_n)y(6ZoYn=qz>HypgfF( z^H#2r`>nkl%F50|{{%R?JYS25I%Bl?MNyHpm~O5Xd`4^u#wK*4nZdzZq`|od0!B;u z(7oj&_JSVeLJ!iWwPS2>a6CA8yPo?EcA*N4A5PEfS(=mAFA%#QJ2w0Dp&#fYJ|Hbe z>Ld1HCv$ATcs(%q8=-P>S^hi&_n?N##Q4LV&&b|_Kr9=cV6^{b_k;0I!=@#m zZPJJC)JN>Z@KcnO#d(;eU+hG)-i&_C)#Bk33 z2JF9^8%v-_TMKTajuW>c_!TE%oQ6B_P9Wok!W=at#921upXDfyLBBmX^xwe||1KZ# zUN9FAjx-4%3lsyPNbvO7rh`ZK7!Q_d~w+!`dhx#@R-#Cfxwh8>e&A4I)pfSg3 z^%tP?#c~B}Q{@T-&TZhANacgRaFO-db}?QxP$Pt=Kiq2K)*~NMqhWm0DJ#I!&=V>f ztbw?SQa~nlvGZj!$zhHh-uAs8n~ApH)S8N{`Y9{5H6@uzH*Iaca;`+OufFUlJyy07 z!KSbqQJ!gzFh*)?1KG2TE3$PH^e9`E#0DZ_8tnoO&&m(OwrNqe6`Gf@-@%_N_RGHB>tuc(nzzE*G2mEVZA)mT zT|8)(x0Qpda>`Nt5It7DN{0`5%Fhh`a7GBeXpxqD9S&l^mY!(_?#wd7)dH{;0O1{Y zn-Fj3PKS7ZAU?71s%FS6AcmSd-r?=Ai-(C@C;dKQRzdQ|Dj5-3;JfYsZJQzYnZWdo z9*H_YlNItF#(S5336BWGroeS26YO1|S&KbW86ub}uIbSe^Sr+vzlg1a;LGqCh;;lA z{+Aq;!o>3bXTqx4)6Vt?C*wLpzwr++GGZ~;Nnb=-reU6)&3QIfM|Q>=_q-jhhK1kB z2qM}UA0uzW=fuwFu=pXn6Q90;q|oaBhul2_Hq-K!#^Jz0cob3hbnUOuIK+Jc?uuIU zC!x1ugnd}1k1ic9`99l5nOA}z7z2VyqAb(fO z6|u_@rdaKv#zx)!4b*-=KV>~H+p12S=gcdN>~n>Y$JN)KHy`k@d6w&C;&JtloX2|j z{XVI$jJlMU1*f!-{V?``y0}3qI;C@;@qt|Z-f4|P8$h0i=A%G@dm$2!+S+6EM4Z}MBF{jF7K9DYmKjvo^33M3gv4xriA*0=3+4rtF%L5a2UW$~}1 z=k4580)Fux<8G)!gh%4M!bYsg0YOJ%b?AWx2K5!Z9ff1Rnz-#7>sb z1KYyq;CeqO?@$dker-?lvk>S?&GO$rX&>)O?1ADGSn z6aL5q42mnR=`26-TQA9l%lY8`go|>`c_7j(}Mwhk=Y}jvxsBiXxc+ zBU1=C+J;sH(sc^0_Ilx|_55btg?ygTh%IPRP(Ib;lizq1TkYCXt{Tx{LKO2?Aoe?I z$3Y+ct05u3#6q|iVsJiY>I%I$&T9nTR}Fde-;O>c0l}Pxv_0W8WFuBd41t3djEA-S z`2Ms{R)G>9DgaZu2T4^{dO20>Q4kn+41=e4_!eZPk1#wGq*3nxdHSb>$Dcz+3N8N)vsD^w`N3ZF!13$Xz-(eoX%jwA9woYY}6NU zXO10Yq?j{3?8X}wYQhditOaku*y`bM{Lzg!6l27rKe3%;+t~B%SnI-rv4BV#(RLQb zHK%yoD{xA4CK=;DBi{+uZC9(tZNo3HE&%Cn1fKSQ0v8e&T^qlgSfn#|PH2XmEi@2= zL;T6t=vnnKRxPTLo4ht>R%;^1`QodO4kmVyO__+6XvT<`k)f>}2mQzo{b;!$ZQ^Ry zo=Jq$<}aLDG0A6elFz^-f11c4ZA~z}v z2d>~CBvZhIWBH7pWGd{cVl4Q4hd;9O4Zk&#Mt}Nnm zTc06NCS{Q18MvQ)D-$E@$wF|hdKhnRey+bKnL%VU+Uz-gwXhl-EJ-ff2R7*vd5`Bw zFI6}_{bjc}z4u!Or>z)sv3tQ1**SV~>l_?fEFDr(e-Ydz8QQdcQWjAwZkzXo;){&Q zIW|V&GbWk*#+h^pfTZCB_tWTINOZJjt_l@%OETm$r=KDguj2*4kX~`bZ4{>qPI!;y4 z>Y_VS0~p~26^1g&d*{a>BhHy?8PHWtrlGhuECOK02~IX z=Wt(qB)3@q6wLA^`yrLHF;h=wY6DUOASdVE&@oJwIL~LKO|la|PffDQ{2|^k*cB#- za{xlE+OaOn(3Y2N36o+2g;=9GL`Eo8(obq~?A7Gi0-NsO6RkB?YG zSqo(=1)H{JN(+n}NQsig}U8tLr3b->h8`X`+l-leoq3Vr# zvH8%S-76h49KQvsk*Zm)XI!`3S+l1FD9d8|K+yavxlA|flx-9z(2crPn6eQDhNe}b zg;=Ofv!FtO^2KTtdOy3iXx}Pg?D% z0AZ`Q*ay^V`{3QW5nRGf&qC)1XY9oh^b*d;b5#Auv;OgJ{ZzrZS}Jo#F zSZuy3_R%LOw$d#&(k|A=E%qaO!i*5t;LyEL=fpA(=TN~qB2BR^{nT=lSyPWqX%IuY z@>uPx$U&dsAj)c5{q-zm-H%l^1dVU3$F}f9K}I?-x-$?TYB z>-vuU5fKvy6xGkAch<@HYzv@MsHq^HC+MUSUt}VB>N@n8T7W#Kns)ccXc`{vra7Io zvcYLu40Q)*Sb@kP>D#}lVwbSkk$ro+TWl(ejed@OI}g*Mvc=p6k1k?y4}P85H#0ms z5G%tbMTB|hfaoo%ig$N+%LhH(D!x_iqc9dlQp zV--iX;%W4d%ti@1iU)^2C!7_t@6r->OP=O(poN`d$&lr+p77&;V7snvoZ~|BtV&ywk_%asern?#pr`m<@b_yqN zaw;uR;^;?JE}P}3=BLCFE4|n)cNUt(Eg=453+-WGn{}2PvJERow^pVsD$4Ia7~4qk z2DAE3niper?RcY|8NvXUZA@vzX*U=XcUh%~B+U`?k__V)Q=3b>th!b5DY_D$YSsl| z=Af%EJj)~Nh+v*pr^ep0d-18<*r#0hMF4DITZFC$a?zvO(pv~#mFtbTQmH1&*}Ztg zfsWvrBH&Fo@B*f0uQR>6O@RLN+!T@dUv?=GR+BOHjR<$xu!U2Yh4)}#CT+ll8H~yP zx;NyM(E`?Ov$OUvbNog*0|jK`>~$Gj{x=^hrQJCFxouK_{1iv@6Lu5UZ0q(?@d=NL ztYfA9L&I?LY4q`-Ydk!vasyLuw5_*n-w`8q>q{>SWct>ze+;{J2yv$^s& zm&t4ikB14`nqNh>ZWS!81^!;)%Va9Q+6D zk?;zl%)w~_GCq8g2MQnUA(J>8WkomHWi=lp7Px#XHOF+{AK!AF3GQUahP70l#7=yO zRBrZ#VA$Vfy;&#nKn{Xb)blxX5?pxgF#|^Bsh3^Ws^>Xw=HK=ot6c=>wx~IlYW={ucDbXQvAeNv!42O^fDU}AOm8o|-*?dem z2)Cn9663b&c(e#l00C)I4$%=C!qUe20{nC%9kR8$Rw`_f^->H0m|DP|*K!#$S-Z-?S6Opz1yQfisbD3)ywh---Sa z+9d8|Zf#A^^4MaI=Yg2caWyZVuFT}2xA29D{V3>f`dGo6mJV+uQi_kWSI>=xR^y2@Ebpt}R)8xV+mg@x^*jJY@BO~e0*c>M}jxFG2YPz0g| zVgGX5;0Q!9Jdf1Zn6l4!Enqw-%?9oKpaAJ(v@)PHsbdS)(1i)s?U%!_XwioE(|X!z z(cT9fN-W7|i@3D;dkc`?KVf=KcmVID$inQiI1hJI0G<{VKZkX@K`a>GxBxVd$C>@w zNANUalgQ-ojgSUh|N6pMU#UP~IOC36X~^@jegbVtB9m%s|_tcVgI=42tEjRB z)=dh_FWyC)Xl+uYr0Wow-~<=T=TJq>59DE%nxRVljipkQa0bJt5r-0Clma@oQ0WmU zu9X2t$#RDRaW_F6DOpy!AVvxZF6~_Mgo8F|7MBWH;6PjRvH9 zE$L#b)CK-to{*EudWL>Ni+-kmn${j@ z04<3N8E&8!ts$GF7Fy!Eg#AEaPkJlQw7!MYGuMTO@GDzUA^1HSpnE9yQs@(A10>zu~i}nCvrNd6+X}DKM=t-MszBA3I=v1 zBC{VxgjR^iETW4D5cG@gGSYCc*f&NbGwxBx2n+Yd2@5s2$k)I%Z75;c(OAHFQ;Y7A zw%fuu8^U;ZwvMVu;*2mnN$e!EHjC6p{3MQ>4*(MqWWn2Dq-;DZzPx~-(D%<(JB&02 z1F%ao;hQ>x}JA@JAxmNoG^4g{ju};PCZf&&t{x((Kz<4u&*#g}dMceb zW{FWlJj#b2;?<2Zw#)}*tU)nV_@-N=oE|k0w}j>|Nb1$h7tFv3qJ!AdU^UinUv#Wr zxeD<~ZvkO56E$tgXIOq=SO~hNpo{(@f*@oLa(Kq9 zZIeUo(rU0_XFfvFAQKl#e@2Dm%r_UR_m$iY$3P3uVCugmH3UzO7YSTh-DcZG4!kEt zYVYDs`BBzB4wvaMbyv-(cWoO(;xd%-H(jU*aK)P-K#kjT{p}hSRXPN~5eAHg^@D&l zX2q9KDm6#`iErtCYRe=^8RkyJsZFugE%qe#U?QZ}bC=+k+~*_Fz{B(A3Rhmuyvksv zE%_YifNgAk;Wi2O<(WSw9?jr|4z7k{Wnd(mjh73&noTqdfxCz|xN9$a&5-T_Ycb1s z^Lh3}a;m>+5~>6fkNpQofl^&Y&V7pJK!hyrm<6xA zP&IcNep6<_u@De!N1*sYnJ_pJ@-8}H(X_SOp_BwaG@?Xjq7s^(1AXsE1^pm?Q_!ai z$19#Q*ONllEh+{ws`;g==4w`RWMgaHY6hU1@}X+#$JU?FSut<&bZ5Q`4uwy&J@sX& zsSwR4S-Xw`3{Q?m&q$C_TIehvLnkVnRaqJP)}FuG#=`Y%Hy{kcPoP*Wr*LQ-eW*=L zqz%rSWN=D1k2j=$F;v<2_9}ILAM#lAZ|LO2x3pLpyOcj!V7?lJCt-d{4Z_ME!xLpN z1jPudPA3Lx)>B3}hR{_C=)DB`Ad=G+v_H5&F9J|-?;pJ~oeg{6H6^cBkj^3`v5Jb2 zbgZJ&Tu5IMrLJl=gU*=wYHg-1EySC>KC6|rjjL$$2(#Z@E_(LC{8=H5XW)DCFwfKoQ1IQT^;FB+c_2ig0O# zwhBSV_)3(uoQDI^vPmrbFwv5(6%7b1Q0W#XV2`!2Jl)!Oxw1BnH@;D}Mqss90sbc5 zE#N{I@ETMah(}kFarx*p4DJWrYG4=po2W|y=f?>8oFf|i+FZNAFw*0?6*KsBlT@8D+WHD^a)6(WK z#L*(6)y>CENQve6BX&7;){JL=uqMH3{6~A+J~rz8E%41W7Y=W}1W@3CX?-~iyRGrk z;jEkZx?XB_6}IPnBwk?MepSyQ@6XQek@o>u9V-q#{)toOCRn&W+)ZO!z)q6+V8 zfn|7KXIsDWz7|<`cwY;w552Fmt*zeIB5S?(wZJ-iY#Ppkyst%8uJ^UTns`}S<|6NF zku@~+YRt=b&P>d+&!+2UFFOeir0$cG&7A0D^IQx>(=7Jt;kWSaiJ7T*Hlbbt1IJBP z;dqOE4&JFNb*E6O=x@`C_6#7b<`E^GBh*}6BF@)XYwIUaE_k;86+ASHP9Gb!X|r-H zzW5yQY?t%b%`!8@Mm>o<8wczfL5BJ*mG-OIp!2BL6Ed=Tfjw{DI)p?rqVnm?h3GaSrOf4&|mv%D$G zuRzK*-js#YkTTAj^260g8SYJaUq{NR-jwfuj+8ua%A^XU94zzH{=sCVSl*PXDM;Dw zO*xZrHhWVdO!>Pv<*ErtS?Nu=U@B6UdQ*B&Ldqgf%9vw=NO|lA=d7!4j`=MiN4+U^ z0i?|FrrdQcQf~34B(Fls&%7zGO+?BVZ^{?fA>~|e%9x)aDJ4Z_0hwAm#h( zJs1uooKL+eVWzz8O(`uy%0_R>U{dvYZ%QZI^?OfB|3mEeSKBgO-so=<@{8V-1?=Ug zyeT)6&JTH0{>fgh^roz1@7&={`G6dCoj2uzE0HqMo3fr%9pz1#L2fz2o03a7eZ48a zU`l7)(~42!k@A%{<#xzc~kyMs-EagnL=*K@uvL9zSw`92j}Yu`Cs0Y zvrCb(&70DLRBiF5e9CscASvD(rZ_|6Tp%Lz?hW;dPsFwYXMIOXt63gmFw+&+cpw!JW zC)!hiR~DZismk{;M$OL#>ClHyGcSo8&RE=6u&ByWS1rHW($N_&Wnj4@gfcV_!p0dU zWS);4aP->PiUU5OLY(DVpb}m{0=1s$Nb^W_=O`sS@o=;cnoMWtg2-6k;?tEb6PWR? z(qAuY7xev|@A;v=j4wW;>R*Hg^%yIA#OUZgcKl#-Aoj0MqPtq_C!kbS&Ia~_HSi@g z2C80KTi`&3z}dI)8lHT+Ntb}u7n;3_w^Smy=Ff71Gq&IuQ)|#X8)v|Zw}g&||I`eG zRQ@FEidd*M$6C3*qcd`D2Ci*+nXnl~^{7*40jn^=79x_PWm@gyC}5&K<;!h%MR*hv z#C?#}!*v7RGOvr#SuZ{ztR?S(&oO;#;gJ17=vEjninmnlNnRt}dCHM}n7`4}hn1Eu zbPjwLag|o3RmM}tbXo02x@h?+i1Lb0a?Fl{7|cSul8UP)lG;EJKrBUl+}oJv2VO~rNwRnNy0Y- zW*ovr^;yj?;R9Ie&W&KHr;US_KC|h{w z7ZWE=T+s3oKVw-nyMo@rCjf^Lh%NZpcu& z-dJ}TIdmmv1jL?X*Y3hCI&hPuXN9Jbz+DS36r^t9iIPKmT3-gu1L~S&rh1B67SINC zZg=RsaDoZ1xEtyC?cxl7`H!XH5kIkzC$A+=u_K20!t=k+P+v5Nac#yW#?X8-6+~pD zVxlv*#Y5sme54;F!9!js)dUddYMsp!lzw!N4budRnVq%Di3!zJ)6Gs8S;Pg(Bk1HO zywB9I9T;HPgKKS3Z{JC_s24b+)R>Wt#x6KXfXRC{5w#c~K^Cy<+^w#~0KUXV$ZKFn z_O)gMmFP~5f_!V)@RoRFvOyHCdc$EA9icYa51GCHvW-~VU>h+ybh%9M&RmORO_DgG zw@7kj8XUUp!>8ZG{Z}K^y4Oe_z;Y?J1TU80<|3t0H*%mYeXwieq;y0|XgBGIQn3^| zn6{3y#Z?+HO8Q{9!=qkdV#8GYL6?m|)oKGyI>cxe*9vlx~J&O%D-ySI@$G}Y+&((wsELon8qgjlHHxFfRA5W=%73Gt|0Rc zBbTjrEn! z>myvIm~g@coluWDTQJaECeYVc-disp;FVA--&cRIErwnD9>o{V;46RCk{p_h6WYlD9V~BWNHKI9UX90^ zcF-BwQ z59n^%?{f`Zk3VNL?RQ8eM7Sm@1ZWXwypW^uPjg?0k7~OWLtu@4`3w zIA#sFCmU($H3(044S99CYZB&J&+t^qn-$OdIw;SznB&NjgI`C<&YYP$V<)4yxE{dt zOz(sQM(^+md83!Ae8V>3DVr|!IO~ON+$Ec}GXhZfeyqG|0Q8{X;pSQ*r*&Uoe! z^ck=%-!8nE`suj~HBIO&RA;4lB+=yTaJjiD2mXaykuwpeUwmA5)AZ@n!O1p0 zQsgk24(!|TLyFOa>t=Zy(Ls3Kc!RHeD=P1?B-IV;5o0?n5C6EH9SsK`ozTqQ3%2qi z;0iEEe8EEF4TQGT(C-C5#LC~s3}Et!Ku>wWV! zY0PSN2_?CFJB%F%c7Q)PUEUqIe)z}r2xqyf-vn%WmUtDv7J$HLk0~6(wtX-)lhT&| zIDj9IYSd=PA5bz^e+t$bia9k80uTp)|B5F+rG~gx0NW9yji-5R=rJB2iXWWZ5(sX# z`{d_oazWhbBNudw(+rr6i{tiIUhJQ2)ip=gRkN#dCyJ7SJ*I|kYUrjwk1asA-t)iL zpCi~O)xQG*2-`|ei)ibAs^9L%8UL4loG-A0qoThDaPl6^5Ra=7bL6<)@72Y6MW>+{ z*jnZ0>2m%VD2#(niN!e>VOex5l>) zh}1tSx*rQeGNQG|E%vZ3)+@@RKCiJC)46g(^j2b1^Xc^3%GJ^95H^IM6GKKy?vO}u zb233BJ~|h{r5PcT;Zl({z9f3=haIMd8z&aRwI*{Q6O_7S4|^aFsL7(4gGJNZe?1JI zbKIfzUazZh{c#(&PHe$l)w=s$my=d*M3%K;wkCfz4^(-M+UXK<-GEwL`bMyA)= z+v-B;KpW7{^#(H<_rsCk4Ww=Pz-FIL| z#QPYBCUz16>~o~11pDA4M}MRRJL3ak2%UYeuYh=LOsqqujKG|^6vDNZ;~YwE|uzJ6yko< zJw>13EmK$7TOi)N=1|3BVE*jgyykFeMv7G6&U+t%H-UTQg_ig=sQ5xgnUzbt&cGvZyr&xm&=f3#rbUWfc` z5ihMqKz-gOSo6$5O!Y2T^)=muSq0%h8@EH~RjsJ2>)x@5h3wPGwfJ0wJca^+Kl&s{ zw>)i;&)MA8Qg!ImV1|1whT9Q41)a4C#X%g)36|c6%!(@Y%-5PIZXhtcPnXL>@aRXd zWC)kEjLLE?ZblII4KQoUHSC2xXH#2CsB9ca1$0U}~}6Tyn{>KHx}W5t942zl^$ zn;kPx$MCv{mFH$w*0{;=);B_UazJM8b)6U@4KgP#gl8%#_f?Ge2h7Uy6Er-6IRG{zkMVO)6BI-oo@Jbx~4 z&{>T<17!u(bO8QuQT3ST$051bLV9*YsV@wdJU{B}*}Y|;`X2sk5)ru9aw{5jVK)*l z2>K&YSV_M_dBjj=bytnby)B3bg*TH%+0u9!EA#Eh9FMc}=qfHhB8fv{mHPP+NyOVq z8i=HD$*xfoT#L`c{#29NLEQq2)GAh_1a1o9Z)JD#0f&{Nu2+~LK11+VxYW@bQiI!n=jVYVM zz7I^{UwZ_os*UyI2-F7V>%M;i7R{%EEcG)$jjx zIrjU1UkLsF-xczhDQ-D7syg(`fUD|Iu%1T;?tgT}Qr(0R2{jcb2F1Hnw6sSJ#|v6q ztvL}hCfbNU=lfj~PLz(2q-3Qgqy3LK)P{{vWYyF76P*1@^GM5w96J}U_4@ZMUFSqLBI zDvJutJ}>!e4#>*)1X2=kk3G@6aj(EC`qC>&+=kp(%l<**Os7=BA5~ zj@)yy8z5p-=IwNc(+0bX-qTfiT%`xK+GM3xn=F{z#paQpiF}xizN7-P&Z< zIxw=m>q>jDFVWkRF!ur?b9Jv_$N9qPdHl&^m2GV;uDrQlyYlY*$dz~Vc30l@8(eu; z{==1b*`Hi_{s&xn?uEXv+z5&|vr#JIPRkbOd%greBsrMg$EYNE}c=c88PZ+z4aU1 za3{G|xZsvQfW^R{8q-p7S?VR=&=wnqdk_Ku=T4`a6VaW!)uY9D<7iXE-MZYlN#$O{ zxfPbv@M@xHT?hT#r+q)8`4gp|??FG`g?_#T z{d@!Z`6~4D<>=>&(9dJg&vJ(&lEN7m8I#n{lw&OqGGnsT@36Pny6LF%N1l9IbP%_5 zLR^l0m^j-G#f`3#>|t%wEEE_LFJOfdhh=yr&d8-?)}bJG$MpU^6ncVFyw#uLv9i}6qVa_zmT9REB)YrT^}?rP zT0K*pIl(<<5YAS1t53rRd27vAv?-8Yg~M!I8lBjbFk8U+d~70K8>KUbV1E>_mKmA6 z){`L9x*cZi1Jq=xG>Z?D?j=)6%Wd_HL0w;oO-bH|9_QzT4k!Q%9~`}TU%!h#JjEFu zjp3G)Dp*||d7j_yggHF=0T7s4dkZXl!BzS<>>-B?7fd7BVaGe+39fsaVmGTx@1mhX zM6;Qsm-js3>${hgf7( z0vSYPHT>R+IGY$htUrkDAjvTL(P4nT>RmRo@l??iDN0#Z#lXGUrGtjO>CLJk4(j~>nBX-Ed{p*cB@O1z;0M;~+`MZ+&< z8Ne)?SfM#mHJqX?*&C_^(J$4UL%(?PpL1@O zD;B|XS~ukc24I5pK}#hG>amsTN-H@_jm47%ZeasadPSxC1!l;(HO-;V?W~KEl$~3# zkVMZ$E)Tq)n-#0n2($=FCoGHbwqwr7Xyn-q-4&j2Kbe<20-x^9`!be|$fFpP2QO`E zb#GaDYb;N9^6GQYGw;7Ge3ILxCQ#<8g{(swIJ(gGQT<( z{wcLFQkRJLsXLG%b{Qs9%WpLw`)m*f-q?hsnXCjz4M*x5NF}q1Na_Zhbjv$~dsK}u zBJnC;Q-=a5hrg0{_DS&EUEhK)u!_+DU`~9hF^EsiD5eRDUm`)j_H4@1s<|P)QEX^jcl_w*Xvhs*MRO&xmceP{mVl&MEl%O|-FLvhItk0Z?6j z0G)`~tcELfte3H)5ZiE-ju?RmQqmB_Mc|_v|Yz#Vj04B7zSp3WeoBYOmdTQ>S&KbN}R<1Z(3fzEs40$D(sb)Z!wYbjZ_M~Q4 z=9P=H`jgzPk*vVkYRtc!j#JxQ*hU__D>ztrc49F^-#f^qaIu~*5ARV+vDbjKqW9$l z->2bM(*FeyE$09oP>a9gOxmMPy&kNxHIgDy5^NfdwWPL_Uaj}UlI7QItd?!HBo<3p zNyw@R2{kUx;+%!kI2~M#C5qV;lagqZqHAME?pI#k#aL+c0Z4 z$w*tZ!;^^AJ_JWb~_Ck=u5Wbi!o$#dKx z;JMloM8FxJTOK3>mMb6Z>v-1Pm>Ng%LZB$kj*Wu+Kpg&B&$1;$#7>;0u@Lxm8*gCg z)TGi*yEG3|jx-tX5Kmn6hADJqwkn1k1gRDHwFNG*9zypwZ}=hASH6?4F<)3(6q{W@ z`Szw~Q^0B3f@i@bL*udY0rd4W_H|mkA$PxP_qAp@S~7>@<{NPV<96!;22g4_@?mA^ zK0d7M=iAtAfvbrg1DDf3HKf8|PnCunq?GL7N|_{wsXQ;c%m65!NvlPVcjgh_$+VsJ znOXI~$*uylhoCHcjCDbDW?~CVm9! zppK4qx5YMvyvIJqqn_YYxafoJ0vxZu864`aznaYoXO`S=^Q_N60h$HuehX5eD21bV zW7?sv9Y)LP&6b{+V%ty_23NWM9Q+c|-xLu+XiAvMjWBy*DNJ4vxt`%Fgf;)Mg+7ZK z;Yxi!*I)HITwSxYNIY>`g$%P^k{1ut$qxcJA^`M&S_j85nCw3nvAa#J(w{>#P0uW5 zmWL&7E)Ggb=ZtGpOC)X%)H(O)PPpJ#=mY|8OmxD|H|Jk14ey{Z|EP55#lX~qec5a~1U4No3G?ayIVUHvV zHL;M8g_grC091*ok!UTXFe_Ou#tA9xB{&ku-DrkA{$Rj}1fN0zdC@k^YV7Z^AfBdc z|NBzZerx;MFGB6nN2Fv)cBwfPx{^KWvnNOZ0W?-9GMpJ;$$Q$D%t|zNij==tYKBW% zutQ5^{89}#k4SK4=xt199zjvIN$P@En&bV}OF*#!U#g|j0G6e{M$D>zn<%@eeOV(> z_Fbf)@mxn-)tm6aC1d}iY|9(~8LffTbpXVZ0P=tU;fn;ENpPx+Z|&cSC|z72%>j*D z8=|WS?TF^IzF{{9S7giy)_{D?^2_8c`T)w)|00?+faT|*ilpv%AyFQ;A(0OaIiPNl z8L&_Jfr2OLcH~h@N5`xyA99U~0fx12@281MZvbRZ5apiQk9&RSz+Kn^T=FEjt!SSr zxX;Q~;nQqt3*3sOX z`f9jLmK-`x7*d8ChdFLh+Qj-;Vtm$M_(vXD5@K^d~DKl4GX%4Dt>gruo?#-dNGyS)iu9~`xfX( z1p8K&Uy~m_lFGwX;kE@zJW>BeK+Z3nFYzs>vVt zBqZ(@MAX|@&k3+6Bc+$&L7IzxGgcBkpbiX`z2sL%g=zx1IV}7Mgbo&dn~^9y!~w5| zp?O0b!CvZcU1If?*FdaSD6zoDNNOy{o4ooOpR{+T)!t;0U_Kuc%*WFg{2c*-ioaP# zNfv)c86~6q;a}ty`@*w|*JZHvD=+4|0|6YkruvK0as#KZ4H+DuF6xv4Vv&_6clOXC z+&8oC7V<(|aSr>sXF?na9!H+!opAIYZ*#k<|AvY!%G&D-R~E`1U5)g>8(_s=hwFZ7 zU4Re4;{opWT3w9kzk$~AM?O5E7z%6Mz(4ZY9&?^gRhLL0TTQ0(7Y^Cau(~5KL z){JGX;l5AY3$@00hA~+RKd0IY#}V-jQM-HGxZS2^E=vc~pwn->T7ienG0dr0vGE<0 zn|z0{i_weLaW8G-A&MVW!;kU3l$RHbYBRc#l1PTIF9kmT05IW6P?VTBr@0)==uI4# zQsUm-_9n8)4b}VXY{|Q$_^Fmwgv=fi88;Qpw4`AB+{zp`*%pf-mEvYvTn~Vdb!Npo zaXD3$#c9C-aI5UbIqj&F*)BN*?R$R>w2Ntr?9I5n7sqidK^4Yf`*g&39bvl+P>(=S zgP!bzS>eM=?f4mQ-R`jW1R-3>*M-c^*z5#ON2B{`QFEYLCB-f2w-;ie_Yu)iP4`J{fjGzkpll|r#S1n>L;4hsW{r}mp?OnNT+477Y8O;k=zb^w zD|V=vJJW%CMYFmI0hat>3H<-;z-rTijV3mmw_~#zv^JZ`rwzDedw|@>2bG)}x)yVX zn%D(JdL@?So~Z0oCnJrMu9p~RM?_n|_k7$ZZKk<&(KqwogB*ZyXZOb)Ik>N-;l8B` zJX$$mZMuC8PqI+B;ORxsnPz-U^;@|QXJzBj$4Eib{+m5~euIcj;eu-kZp}vmE+60u zj|tA65bTN>l(QSesvul&B0<~@5MW&S4QCJ++$?6~^*YkmfQ6lrUoS*tsgBHOfM~N_>doFF7Y}luzXkwG-)- zbgZ|dE?dLh1$gWgCI7%ku|N z#3{r>C?bK!Q=5_~qCDpq9or!(+s!>&nu}^C=xSbGU^kb2sK?J6uLgc-(AG(kwcr6{ zReL|+WWE&}vhp0OjmJR48ZWp`ncdZxJz0+?#?6v{OIY!AKyKt8UGcV!?Z(ZReN7xl zO5nuM;nYA^0Rx!9ep(y*AQ*70s}|Mar{6lxg$4#qB!#0V|5bsSNF0qb;x*l1*A(j& zfypw)OUniV-l7__;JF^~NA#z98>;ZA1`abuJ_M-i2v9xB;g^jO6{06fa^^HvD#J%w z(#`w#2Iz1zBgK=sYD66TOL;{zp`0X5SPZtlhrBx2{m811P@aYEljOgskdk?c>%*WTE zZ_`eQxx%v#0Yoo?$a}#a0LauceMUtsQVwSEEV2!rqr<^kwH0H8wJ-}(hB^8JB&ly# zgDy^jOi&AB77p2(nfTL?jz1W@ogZE2P`^IkY2o8Dacpp*>OSkBML#~XpPVC{>oW`0 zcXuVCM^^!Oy+A?b8EPJ?fh%_1td3MiSk=Y70wkT+s1wZ8qOq**urjIH8pIgCR}Zwn zIyR6b#KOoIzOrr20YSEJ(LAnLkO3m<&P6;0mTP&k*qmmYpY%l@zgdCxZzoURZ*<6* z!%8s#ZywNc9_zpW!Zg&DKcoe^X%s>~WI?zLkDGxF@KoDMWs4dFymTAm`!av=vL~E^PJfCHbfovf(5>=wHu8nV~3?XbBVq;%{pf zB#wNzDg3w#Cj6@BfxJ1d5Oe~Ot4*!c-@XRUc0~S_a6a9ENpH>@-*B^zT*gQqVIgv= z==6}Yl93IF6g3+n?mz_l=P%5d5I*9nGIyTadOK*rcZ;$?oc4 zZmbA2p_)N|ApCwp_@8Ei@GFQdNTolA0NXQj^y`eS!#solE^=&A%^=z24W8fl7JG<% zN3fq7X4hMiZ&ymS!#s#_pR22qq1nV0A5Tc#cpKBe+n5I4#xyGE1`PTpcp}1G&bReM zzzam!5x`-vx4JcuE7O6}(|CwTy1FAKL+o^J{Lm|xfv~=J`dnkT%K|`=D)%-R{-JR- zqVWSUbahwFAJ_&1>0Pi9YztzSQo+&O$NqftS)61?yoDGx++1vRiRlQ9T&gMZtQjf8 z+4q&%)|}g;=2dce7QNS8f2abMOL?jf+7B-$g_MO(Y#^Hl_y?rSZnYKXP11(gM5!3V zbOu-$vKBY!J$J!$E9)PSm3h?ge@F(wRDFpL8$}K1NOxDqczsk)SiKm|OqyXdHq*=H zRq;f(#G}dG8IbwIJerOF^pD&}vF1R2zNpF`H zU_VOYJ1|W66w(5t(Y}1{%T5zg4Z1jD_u_d5-Lg}#cj0#FT$C)@G{4@zuq?X@)#$pk z=M~Gm!J@BFBv<9`?rO7cdcz$$AW8jp1U)zCBjj=p|AFYx zyj(|M5K7?QCUWOGf<5hY8q(B+CC`wyq&!2~m}dxKz*!3N+$nj6wgm>n;S6mHW||X* zG7r#c1@Kl+ZgvVU{Z7D+^%uDr{?N4C?4Rn=V9W};qipmLx)&azy5NH)sL{xG@OC3m zqwWt}1!nHEz&|jjFcYZ`h@h06xzG`~GM*W;th6*ddNfQ$xZf|to>yf*!)f8kE!1^^ zL1PI%iH0TNf{CDO_0V&qOJpG3{n9KccH^VihCeIj@3M`o%cH~{U&wsh81X5M%(!As$Z4!vieymqWywg)bHDX_GA-tOJ#-w_nX0%0$hw>*$G8OEw6hrSjR&<~k$6^U|rojlV3j4GW z9UD+}L3*G^Xh8LBwFqjRjYm1fP}1D!fyw-@MQm$;2jBUfF}X?8iDFvDGf0I>9x z_o;;xn9|l_R|vAxT2UMi!#}~#?b5Kx9h=3`?n(~xd!QXVaeA$~n1No(gCDVHX^(?; zDuyX497yKrIEwZ&lOEl6u{BTcO4*JU!-tkpKZo$8Ae zXCTU<_a8(drZ1AC**T)`CNikS%4f_;LollfQL!%S`oEH~r{$vQK^%1R=pp3GD)xs) zsnt)g$`Uh6xC6s zts6Q8MyWqx_FE0zL-b&~In!=v4I*?y?|a^EXkRdN4WJungF;tl77HcowmTA3iY)=u zc#i~O%b_qP!f9xB)kxf(hXoBT9e2Za<&$5MSi9ecH|Tn{eGKee)xSm}hzAD>_<-UO z>k74Zv|eykpU9Gf9nm`_(<~4Z42!7(;1zUc_yNN^y*7Fo(s4yh7gausSz_nyh@RIj z=`1S=yIDt+&>=%juMOnNp|(CqgJu*{HLQc4e(Nt3g6?z4)~2 zy%^!>eEea?!H#3%Hw;+>zwrokfZvl-;`s6O8TeJ)0sKx*#_vTY06+X-ZQrMIzVC|j zp1D}*@RZ2!5ZSPhIpEn5McI7SAE#~*aah0+n`d?UKs2k=#1Mt%WjhuWM7-OWEN*D_ zsZ*Iqw+-+%AR`bsFXY_@2NT|HzL6!_6`kOdY)I@)=@!yvhusn=jNO(PL zWCmqFal1{~a}l8_dlgoDVOX(|iBesp)Sq;zJ6TFJSBX;h#7o6pr5;0elp}ie2@Ygz zIg74)591i%Aix8wii7HHjCtJlXF;0J^g^L++gmQKO|$p+*t<-1V$<>QkW@=dli^tB zz_6+_`p6M+o_Z6|KvJOBpW!jFIVkN2^fqg&5CAXg0xyn+d}w@6n7auHc?_EEAWrMxX9L z=RJNpj_>roqk!4#m>t(6njdd#ldBP+;pMmLs;@xR(m^QvMcYh=nt;OU;o<1++rU}? z#!hWwY5`Kw1$`R)x&@b5U|j86kksYDUee|1Y9g@EovUS!%Qb}VfUs@_dP^;TjXlKe z618E!kmSsN-(nNADEokyL+$=MWRI?qs--B!e+hxZl7?D3w8#6_S9JJpsB6c7mM~Qw zBIKJ;yzxf-StpQd09mF=G=xk^t$3y*1Hqj{C>I`dfir}pXxATyN6{4G~s6fs|t323qj;exsu zn1Htd^pP#YwA%U?PL6i6F@Wv*5x|B67{YHcd^*BOtO3#Wj2?&RIA05#WzUtBOgmGj zSsl|8MQRxR0WK*?6E!$!IKVA~2P2F5POZ)iv+0GAI!L=}_;tKu6NHO!@4-;LykrYq z3Y@L#biHA}1dAI^5D%*06$iC6lr+!O*8KWo5Q`f+1s zY{sE)DSW#EtlxY%SMbtf*7guTjL;JN)ySbAG;)@u&=wJSf)RK9pOM0sjRi4L(aS7e z_c!o|I*S){B&kh>2^0FfiC3h2M%nr@V@sLwM$&X&4{s8j?tHyVO~VdP^Cf+zY|a0^ zI?FO-X&Az;!_oru0iJZyWB#VAn)Zg~ zA`Um6Ar6i+7ZFp~Z`KL_h}g^JMSH5Y;O-1W`K53<`g%_ci4 zOEuYj1PiC=LA1qP|DMjZmAO0!Hzsnugj{wTw(+`G0-1OlP{I*~Ru?sm{_-HY`L-M` zoZeNk1X<*OJnC`1$G->pwlJT^&SxSo^!z_yVMV!>_+N*zkQND)ugIHYWZ&1xH*!qI z-DA{Y?EkGy!A>j@!#=d4PK9vhjPb>-e|$WB08ALC2!I_b&TvM{2rS}V2}}qSwaA#t z79~0Wi4C7H1^mC9{J%|o2caGr>wLx{&T@NjO_}pheFTf$^`A+R%wM61CP{W(@r%RN zq9+m^_Yhe}qT}?+Sci;IonQq}>6EI)n;R%c7z&|Uv_!*Tqn2Zwh{24jC58FS_JjWo zDq_EtVQFyJf1`2Rf5Xv(|LI>6*nP)&nZT~yu-Yat9p0lw*P?HPIH9F<)w~Rb5~iO=_u#0_UGG90VuP?CLi2qEG#U?9aTJX!GCan{SSln`z`}@sXk3anLkf}E)=GA) z8Z5?fL#T3u!&UQ3zzJ0rB6K4{93Y9BdnAiR+QNW%rJ2DS>&vtkin+n6~`p zCFlz!J@ZMV>v4YwrPgsat0j+PVnq;w*-4XSDjC|7acOwOP%hj5o}D5)tIS4f0T}an z10V=aS5XYdM4gkUnI?qELwti{`1lGI}ENSV6B^w;WK*2aO2j_T+3W` zTBu}TR;VP~85@c2fv62;HZCL9yUs-o;yCnVmCijbgBIh)Ms#{ zazaTqB%NSB3>8?ryIxO^%onGk%{(L5mJ-tDWsk)zYzNDP7o~1>3T_Ec%k6V0RFdER zArTn!n>e8`aYA9@gaV7MwTd5Y6_tY_6EX^R;&|Z>B2gO=iHCYMvvG zjXC&B*6j(8D0XlE(gV|;4SP~-b@PwcL4X;Ag~zg$^1;&q`waIek)j8386fC^T=ys% zWnW&}zzovrh4Bo3K!#As2xqJenj_TO&sYydL=Dn0GiT+H9iMR}Wr}$@4Lziuf_sQT z9^?%i;pcdaSwm40m;9li^ccDKNz;bJ#i%1KiIc6CFlH4^m}9Q$6;fSgPQxJv!UZR= ziY;q7!EsR`Qk;WmX|M?chh2e5`r;yVyI)@07tS(q-ZWCQLc7)O8V=ZxSy1MMHf8fV za_nQRpIA&{fd(Q&ZpBg;d?PCGn^T~Qo4XqK%pXhDEuqbEFurU6OxT`{{7{PgoE`Z5O*12SDTo{FkJU zgai!bDDIbvax|R2aY|oDbRv?G=q@|Y5%ufvPR5Vc;ST^NI!uSZU_2y!=I?>lMf>aU z84PFY@N3NP)L|+69Tt4#-^2K*4j*Lr107C-6cgpso5+*N@GClen02ku;gbpfX&oNR z@Sk+}28NgG@JECx8nbZvCk%rx5$1H}5sg_m{XT|o)bW2|_(~lXoXd20C(F8Z_+y3( zbodXagIDuESq2{(G4>>3?Saf9voThG9HL+`eG=9Ublg!jEpX z@~|ujka-3%9%>kd&u176n&B%L{;dvkUPi+@{A-36>TmhQe`7wPZ-=08h^mook&9e$YMzB+t1^JspQeig$%ky^v)cQgF84nN4S z7CO>jVEA7;{+ERFx(-(`yg`Q>n1`xtzhLa&ImLj5TA>tI|J{OTWf@TWG8>*B!6V-50SDcgy7;C7P(@} za0ch?9d2c?%7`5(ZjRyUu2_FH9?~wC3Cj;G<M?8_Xvn}@Ui5Hr zIlP*)RTPEP;&>v^fK!74EAet7YeXTA)T1CIaY)uLKz+l4=f%@dyX9iyu03L$E*N~r z$rrSC^{&qD4!3T zmE8cL7;TKGYXfMj32!sz#dAt=kJ0uxZ0Uuz9pq|*o`(4K>O5o(RWv!MF8jT%EyUWu zfs+wk^?NKlkfgA*{qs96;QLe`wy@}@0Q5Nf)KwgiqVgPm?NI?jxIZaQk7S`rvms3UGc>=KQSGP^EYhtjN25);ske&5ooGfK%~j+!pS2Ae+qmZ(#>E zTs1$>84^)D@oT>ip9UWt=)=`k(z>Li)Zl4MdR3C-0{IiWIyrRJ?TnyG!%x%L(6ZxQ zgiI{=pj~dCy5@sUj>a88nS}8mY+Pe&NEONbRH*O4!(jweE%m;7z~jFQeMK8w_fqE8 zT@=O%h-{%TSK%rh;`J(j-iMH|>->4UNtidHR>QlE!LbNZfrMZu1WV1bm1VfW33*h= z1Tc#+uelYTR1O*pN};ofwVl4+=X?uPPI)NR*Pt;XO3kzHWzDQM{>aLDUn(-5gq!bR zB^%TQK1jQGOZ@`BGvaq{!3?Z-1jZ1TO*r4PFnmld%Wq=rGz3e-W!wA^-zYJ|E04zQ zr5ob7J%~K^$QK?VcP95GP5s3v5buC(YuA-N=|#3222OZ>M0&F>HjU$Qrj6G=wF>v% z4e#@ebqb1JV6#uHN3=QddHNzT%h2~|FHohw9O=dH{@qpg;y$I2)1UXg-?`iG{IIm> z6TfTR`_wC^gYIWNXt&|m-pfOKNe@uI$tZU~5r45M!Y`U|e1We+6_SVEBUgf2BM)v5 zCa!1Se)JCr{+bZZC1Tne!hXbhjc6HMoFtQkwSKHuPLneaR-zq^|AYT=+)PRPi~b>bytA=cT90S=FnRpOKg;MJ zqAlRZhM$@U@3uJ?_{t}4gU3sB5j-%ZHIqR?5jQyl4(J2js4q1O-EHs2aG?mlxNE+P zH~x0S-Vfcr%{g~t2fG~DdnMgel`XNFj`?BnOyg_6(JYfltDb2up_AI7EmI!v^u2}m ztle$!HcNAHhem1Ee&B0fyUXzvZJdP*c%``mlTug|N&_r= z<@@S|~328=lpPvvnX zVFsUhHBQ`j1u+f2>YzKgykQUy`NE6qP>J5G;hLvX8ECooLO|mrS)+t8=;f*&nPDFz zmn|O>NdT{fL2;*paZ7>;9M5U47fz^tGccu|OkH~1y(S06eXhngeO)%)Pms}Ddp%t~h74NjdZxuc>}`5p^e=pc&|EK! z1nl4oyaWjJONa4l68qC)jO`Gj%>@v;QyeIa(HGz0{_cUR=tFM5--PXfsh_Qd^NZ`? z_X%)lhkEVPkW=(@*d6=KjhDc@MZxUZuQgo5o(~s{2LL(aFF?kIDLQf_BFQdKLR@=f zCeq)9CY6Zv8VUf+#2s+;M>?U!8N5Y?LKFg>y1$}dF^@S3l%0i_{~ENwSn%$ZP=l;{ z3h0GGRm=@>uuwd_8YPA1glrgEyY7{p(T0``W4k?jd_^Vsu0`A#nI$=?CAr`bSfo;Y zsi~zV&KD3bDNw3;%~`paL`LhH?j)>m-)X3k=fjQCC(ycuLL_!)>~deIWU_Pntpi~g zxcv)bLM~6%aSh!_jddaiD#;1mnhj&wlJT%$Ks=xKO~qZy6!4)SyltIx5Mq|!u!?Ff&`(%f(6 z$b>o0n?>QprFx*5{0rKNm4sH;R|F@`DCYp9FDBi4_@W4d^vSXs7auvenJ za*-FB7}K34$omf*@Z+UPX!*gK(LKEK2~8&)*%~hFB5|uAv<1A01%t1Gj+!iq_(3^6 zdj%e0cqPF9?Cl`c$0ymR&OhQXiEWAx;Bfe}gfc0E*lNY>c(7v3iBQQ*VqNHzi4~)} z;Zoyd#LPiEj-%vMaTzqUH%Ek#ZyR{#1~di{ja3M%Z8#XzDlu0ziMnB=&hg_F$Wg@{ zf0G_m!pV%1X^MFk*7mpu|LE?T}z}S zpBy80R>L@?0*T+E3JSuNf5oiz>9`t++pTUzoR&2qiM11R<2PvZnc?h0i!$TfF?6^s zn2tLvu>p8Gx97;&zRK?Ub?{;{ZB;uv5T9`nme3fTHfq~<3kI3lz@XuG2sf_9pW+ug zse!+;&rW}#FXVs4oLH3TdCCp8%wr?iw{(ZT+e)IL-WM8P(?r0dJ)po77jf#UG6SVGIbKbYt79{Vg<*LcsZsT=mb#?#|oSiv3 zlaa~fps?WO?spB861Zl4R+;e;`28AEhG=gZi6}Fie6SO=Obd9W344~^Y6IHK-%}0& zY14ZI@6jwLX>$+8DofvYM|Lh~1qLOM86V!4zc;<4%Om-)+nzS`>NbCvT~RzG9Oz`Al0TnuVpV+qWSaPbSv^jy0L zpm1%@8VJ}UZ^lUU6cMUx4M)O@+_Z3NIR@_~6PC^hr>~wkJwdJ=X+7zK2K!*+Ep^{8 zt@*g)bA46>YUods5Yd6%h6=eF{NjBcu2l|m*M}Js&U|D%(C1`ooQXf$qTRqzkt`2d zh>VtFVF?|AAA!e^#TG0_-{|Utb?JNZ7%i()9^7?ZI_ZR6^b0lT-nb{r+k*XZEnq<( z6o< zAb4GDQryewbQYi1zWC)Rp44rzbKLb>ZJ$}l+(!G{xrxd;=?1b1{m}&C9R7p^^3`!A zkmHlXymK@;T=(g5$ichQCI`#N@K=`rQz3_60$oiG_h1;4+7+Eq?@BeyAvk9_HxcSFpIyL!$T?6i@0m(!+e6 zdkAwcMz}GNyHBFBBzia>O&~o~eDoja;Yg(e)D58@a5aEBnQh?H#-?a7#tqA0m#h2W zLgl&ffq`(wJrVlgfl{C)gI|pZJ@^$Ev}h+OnK`RlAFX|ssYP~jb%8eS1m*5(k=OD9 zczp(iE%$4YOHg-X0;$C?dW~TN1kG5%U9aAN#j0YxdLJOLZXSIeo~*=R1xI{h{YF}8ONv)ixm!JmWxl6pQ%rK!n+E39kWN0 z`zIwsM{~KmeiReKnIBvP>}L@B8}Ubv+15qC{v2NM44z;EQSZrOZB@|Ac$G}_IUJDL zm9~=zYVbt@vx>UmL#EZDp7ply11be6<+3X9L zyhZ0w7TP9F36sh=c%qd)K%=F8>@R@~ z^$i0NE`-=Vp>Z-D)Jx&64^^UsXuG&9gjV_H-^4QFzG){iadE z)X_eu+M8}r{jls0>`W0OT)vII6>;f2d51ky3xd4*%zFS6pa^)MUJJ0p%uuC$WjHS2 z@uBqn%OE6-&snCO3FC2bABls8avoGKA44Oo`bfFSxPZ^uGGjVEXdIY7{Moa!rb;dTWNgZE*S@TB>YJ@_p%ejceAfjk_! zSie&9=W<@W4WBw5(O~@tRMqcO9CazKnrD#$(c4wM%1T)NyA;Q0(y;6PUn31~4J;`2 z14W;?oOR>GLVX~Oc2(bvbbtBVl8UR;7xrdfxT>#Xba+yZKRg>+WHc^C@&`{9`v>>J z9|ij2LdjN{3ka}+SN%sEZ1Wm7<+$PHOV?k04swXrE^ni;-XEUdIaihlbwS?2wkZ8i zhUEEihrZ=kX8efbv|`}s5C4%>$m7%pT`%}@Ltme_1g1+kR-%@;Xh-l1;Dt#SZ&5d^ zMcb@SsQoPnxV+gHUM=uA|E~w1W$P&E!ACHrU+AlA+)KQ$(A(^!?LH1@f}aB}h$Rm9 zIq8zX9QOFABVlH%Oo17=(r?brlAgK}&cJQfX*Dj8?F+9Z7MijA>Mo3{_HGB>x^Oc| zB`>Q2 z#j33t0#oTjsRyJiq_=vYt#x^nKF@&A4u!CFk~v(K1@K_Ydo9Yv+;ngHl5D< z1+HZYx0L!mLWOl7K}zH90R)P#$lV^2{K2UWrxR?r;2~7C&QS$ESjGAbD0`WCe3oV) zP>GC{m`HIBbJ@B`;d_uWN;ljCLXQ#nbbMU7scjkw9>LF2_$ zM8kRv2MP<_C+1>C>#)vZ$3K-6p9uTR#jHbT@)<8CeVB_^BvQ=9>ytm4l0SANKHv<; z1{HtK3f^--k$0RzY{wNNxE&HFf^)2#u=I(CEIS~a!z4mh%aYD(;-@r-vrle1@VA51 z@o~tLgG{H6HlZ}W?Ecr)^GPsS$K?J$=eeni|>h?=k z^r((%C$3?o%fUgK%6rj1)MSi$0!}OJ7U6SW{L{Lpr#pt?TaUJ8f22B>{ltHi&~qqy z^!JBe&LxH5?IP8%2HXnH2y*!CH($UF97R_cd%4-F5@IU z{BUjy0&+4`pl9Hlgr{p~2H8=Ijia%IX0u0J_42d=T1;(+nD?*~f!`44X|>j(frs znGMuRQ#CM_rMIyykow!ynOH&~LEQ?;0M3Iyxs!S1)go-`;0W)4>W3&~7=sZlSD z^yUDIBKTv zd|5hY4)O$gvtwp5y$h_~s(@vz2eO>AhFRoWQArDs>=~XfwPv7(aOPQ~Y=XZZg*3r8 z%z_GIlWr*?TTYoPzR)heL}tqE@zs)ps)Ei?S^)YRBaeoD z4WRRFYn%Yjf#;Z0%{e*h>gF^DW^(NoxC%xUJ!vY+sa?Ja7t~?%0b7qRAlYbMHSSwj z%)~cvFqa&lE4u-e;W3d!JNDm2xnj36K_N0B;!|?#CJ@edG7jT>QTqPJ_fD}S#esP^ zy=b6xe?Eer^poItd-M@idA>wVMerv*PBRefgAU`6q1%gLpM~I@=v)Y@mV}zTIYZkH z`9kYtlDTSdFUb*FCzFe>QV3twyMY;Cau}@wcxvao31?QGZ}%r{m-T3MM=KNTN!l5m zOtjF$KGTGy1@ zc88@osz#+2W%wpseYA?8Lq8pcld?!iT8RkV?lTc0b>PQ=wI((N`J6l-x4^*?x}&6lN1JGmVP$k|!J zL9O@JplC{F`Y0#-uCJfsQha_niZL)YTz59v0zb34=6C|*OzJD+Tig?=qLGbMpZ_z>VTM}Jj14Li z4`LD}k$bL5x{Y9??PNPj7y6|<}>j96mo<7t7{)#*#^Cmnk(D-vyj%}!Jb~{@k zyNMzgs^>ul4J(9=7fe4-E1ovuBr2(uQlP=mdBz~mx`P0&rsHtbI%UAQ+)}*~oPuO6 z`q1C3<}IskXU62aLy(a>*qXx29!}ICAyT6T*{iehO_bDQd;@Y_fKDVOfKy+utEw+R zRrD9q$d1-kc~O;2>*&iY7*V11D26+rLA(TohZHOznALY^AhS9E;;@0l?g0chAV3}s zcJY`~(|c|JUJ;MBRs!i04tToSaD9A# zv@p_wGHOxO)~(@Izr?JL$0SSB+Hm$8>(Y81)}A^PcffN)s8K?EXJtue>5UUdpf@U! zs;@+MLrB%#3PG0!D2}L)t7d53N`COtT%&||yd2i$cMV7RMMzC5KO<2-Lss1b>Uq4Q zWLdlZ6+vrq+%jDz2cSKup@j);VS8u;63`mJqZ_V5vZePpgry!c6y<-T%a^hI9qr5S zyd~b6dsse2P!hGxOY!o**X1)=zN&rs-zCbQkMe%=`P`MrfjQ3~b=D_rLnUxnsbOqA z7ci=kl++_vBw(~+RnZ2)rLZ%uC!=}eIbPad04WcToni{DlW&5=gIgroy9qMX9%O0) zJ!TfL(CP|;Kjwk)m zO3Jp9-bp0gY9;*yg#6~R+?Dv%N~tx->}XtyKZJhwB(OPIDctM8N;y(z$otE%>?9(m zPNu^-xS$eTo=0xt@&ut-C)O__2MqM)|C8BkfPpB}up+^1okv%zVwZ3c!z=4pZn*a| zpjLuWKKgXUv*HNhOfFjge2I$?N`MhxY*m+oI3UD}^iAq>e8h&~WQ?%70T$du{zVVc zMfj=1OPW}i>-2c-Q+ab~w-LmF<)?al-p$AOxY_ob@kevG@)`OD&2+%llL>apVAjX8 z+Q(f}G=ugW?Vb2eQ$wzoD!+(w181$$fhl^GzVtedo}40s>E5JKDj`bPDmxlE9W+YK zH`z>=rb?uZ?NbRh;HD6Uhd4QE-2s)0)9+~P46gZ04ey(C0PoiJ@TzQhv9a4l2OK^>A0d7I+%TA z!o0=UMnMos&Rl*NE$Bc3On5s5get9Pj4eaD zZjV@JnOsoGa}sk3os7mOH1zhlZd_Z`fnWero9~RbpvwgzKcCwKIAz#Q=J?IA*>x!a zx-83x^~AYD4xAFa!=?((q`KR11p+5Bq{;PI6EV96@hs;>WNLI-_~d^f38zK>gb47< zpD_ouM2%dvh;a|e;i|5ZZ#ZTHR8IPdtfF_KiYdB^6F@7I8?&s!+oJ;hteCfEeeK+n z-L2KR%}7cKGTX4m?pC(H>1>_gvtbvu%h0s3o&2XM`3Ps7#}Ez@%k{#&J5ZL^>Bj0D zjE2vULl>VB&c+uG%Err2S*_c|g&d6eZzv-m*HmVXcvs>JYL}Xs_|!q~68=VNu$`2c zh*wJ$W*Lqv%IY-ltjTBbFfN4{%ZDHs@p8%1Zsd$`AH+mALszJu->y>`P;-&*n%-KX z@vvL#yLs?-FBpX1oS4%(rhitjOWoAK8PQpYsw;-4HSfa*n%y;vN#nuZ(QBB~5=LA# zm*9*1_P5V)(b?oP*Rnuwc|SdOc@H;N(w@eb4beAPB5 zl4Qr_@_L`gttFX?xWU0;zXaQT+*k^|T8!1jgR4suajB_Ioq}31Mcn2i)T8;$wJY$W zT$s+VS1;P6_khk#RsuFqosfhj#&5pJ?j@mieL-GkbF~6R_>wDoexL}mSVm%=M7e)r zGRo2fZaaxB{+wlJPGOsZaM&i`xJtdWTEKMzpzg7|0mVk@9zei?^b}=KnWNagW(7-P zm%wH&3z*%OsNt818hRXE!^z*(*uF9jx3 z=&f~83mTsl=mMv_y`n>r08hh%Jvd{n87zhF=TIBr?ifiy6~hy1$uVkp38vIo?USF1 zm9Rc3HCJ=IOAR^clw0|JvyldGc%NRaxPmhQM1j}r=ipX9BpZ);V>PTCU>`9&w3hH3 z!O_u6Adx{I1vj>zt7#|`DohJPj^fMnU#f1`2;o?JFBm4|BL~;E*P}R|L^-&~F&EWx zI4OAqP6L*JrxfE5UYikv~5Q@JsbYCsRjfpV`R!42=E&LAH8 zq74MkvR5OL1HJfa;^3;DfbZx^{NYn|8MUzy=EQ1aIbldqSB>VD({i&)jmH@+xUkHIVhon!O zv92CtZ5AN-X=Aip*KtpVdY0KF%lvAODLLe^6HtQC1;)D66l#dw)AfQcMk&~GlbhzCmS5Uj!n2`k8^ z|JADi%BZ^^Fq-`6*1uU?uwse2PQw2Z zX?C^nX>;umj?V{Q3qhY2s@UeJ?8F=03kG0Tk@dp|{t~n7VIxegk6DMMBIK>ds0Tsg zQ|d?&=T1QXd+S|GPsg@Ls&-W`6FOKf3y*oeT7x5B@c1R5If*iG*bydpjAJ%`jIJhL zjyGjdGO|orV{omomKlNhtHfMe4fp`=76BJ7WJ&6{$!NXQzU8>82jJUpE|yq7C}z$aTmE3Qt*jqsbR36sZetVxZ9yn=1sz@&Jl ztFtBEb-#fRZd+ofS-lg=z(tuosvamD&R)x5+-^ zD(x-!ig>y0!w(k#>{(@hR)t>(7@Ez5c~@A(6vTocYi6+3VO)ajm3cl_OYIYT)$a{{X7~JI=|1%#}RV+@q$V zgLFFte*qSN$2fMmbe8GeW=LPb=F*YYU?tQ>S89VV2 zLZ=z&c~5DR-m~#*Q-bboPtn0(b{xZ#HHNy?vA&}#tLXaMZA7B|Favb70Q~Gp4e$f} zf^^sn{-av2U&#Bg6LeSPUFr(Y$28KX8N7P1a5Lvb(v%ZezqMdJ&>mLobxtVR%qZu6 zdqaq=Ylo_N*$;l}Hr^@4ThSfvjkcg_dvCNyJvEh@1lb!s_BGCGjD7A6`vyb%-o;xD zz5PmL#@G#9L-TBGbgc`3Lt11zlOsnd*e#u~2Ipo;=^2t9xRK=Zi$o1$SOYHXrlE)* zV1KrzN4sL%cMB`gM-EppbZwVmRdR+SHbcj{FPPX3;byF#Cl~Kw=w+ltio{7q z>_Vyx4yejfy#N>+wS4aeF9Q!BBxe+8I@x|D2mo=NU{uu<>&?FqRaiJ5g&|3=2JJUN z71N>PF0w)RR5R}$qR1|>cKBd#7MW}mBZ0p1gy zfk`W805IfM&m#)c-#(D*0S;%~_iZ6~1AZiUTGlqfS7z)X`_4hNJiaP3K5s1^fG0kP z7LM*J2dwFfkj?Qqf6u_|h;~DMcj(_vkMX4N)kM`rQg!72k#;8VQ5DJKpO6Fs5+_Q) zh$vBm+=vQF1SA6)n9*cKG2VDZT)a_dIFvwe63Og1=&q=^m#n%gzu(V;U6c(`VmK2O z74gE8hzM^S6}(6UB>!(!zc-nLsK4L-`Do_7e%;mG)zwwi)z#Ip*C|#sx~w6Xh0~z{ zeGu_n5V#t0Z?JwSl3vROaG|M8l;}JA1jp&jv0&6Mp0!J|5l7j z^N(7^D$Nia5_p^Sux1V1T+F(RxPeNkY6skme;LDdK~ebeI%$t_EpZyn&YWOdcjf}a zr8~1vNkZbSgaK7)A8d%7%6Q3WgA#YRA20DPI&hA4=~p+CWJf4P`YbEm3AvGrhZxTI z;k?1ib@=nFKE<6m?31pye7Vp4z*qVqM}@!c)6+G&@Q(-Ff03QTB*JJV>;+#+Q&{5< zr(NL($4FBnPg0I>{t_<)w)R;Q@;l*Td7wNl`dO$8=8RByLl2SdD zI7)CMGwfTHc59-aT2woOa2B0SdVM9ztl9%?-dL|v7x-{R)yn13wj+S?dX>*EeG(Pk zJk7PAe9@A7u^bfe>Wda5NTWV|^p+#d2k@xP5GsG253JbG(q336~S7vt#KRBJdt!;C!JSU|pDo`l)W8r9p z%hd*SpypiI5&nh~j$w-|vif53Sbvgzt$J^{bg+E2b|G+>c}NM4kl+i?OOweigJTUn z32QKWdgkrI%P4GTK#x4^I?RVy=D&rTVwwM_H)hdF;MR(5)Rd*M0X7_rq)5f2bR^Hh58WcYqXzzj@1ImsW2x(hG@(xaO2aD#uVvoJWSpZSHz$ zaBfY=(83u<rT1tQ8O z?JXFP9`N91HP+F+f9C}ye4ctqiqSo0e7FsZ&i3PcvO@q~Mf zkBkVPz4JyFMep(%!6i_{67vDq;zZ6VC=NHPOtNhU*Ou!N>IAVyc=LD8e>0v=`M{C2 zX8}p&%^UBjB)E=~3V2%W4fMyteX$aki1pxnEq`R~I4A$3COScniF;e2?fC<@PD_~E) zD|Fn(Z!{VG15gga1e}VzqyulSvKCEH%*!T8j%V*A2;m4>?9V$a-@C~jl>-v-!wU0* zo8}%H+s+FSt3AtZNNX9HFC21TaL$g}l?-PW};Wp6yi zT~R_2y%c2#4`z72pZk(zH+sfMl4E)+i<4C0C&{kC=)F6~YaRG<&6f4{=i~XV`U@As zK)ddWqXhPgf;C62N8yQ|VDA|{NpW3{7`KUs{4#dfeARL#+oVm_?PO8w9kfzyUCUcx zexrNQ=K@hy4jX78Yobdc*T{Rdbq>8|B~*u%;7^*TwfCBTT2Q**NxWMry&D6jXJ84n|2gXm6aU7@zBA)jMY0vB9 zk-HD)bYVT_2~R?unGg5sqEpq;QbOwoB(Vz_?BKQ-aU~$8k!8QL`*tf0GNs;VyOs}q zIUT|(il`s8!#@b=B&#_O=c|BXoKQ|DO$O@Ok7%>^exl-X9Pd2#T0$>K|9C0ng&B=K zv&G|naJ|>PatEHa0S>lI9Iz}km{YHkKoC){>t1Y^@%+$c$T$9_-z<77&Q)O z3)IxO=g32AENfe1A8It}6@lTZ3d7T?{o#+|ms2Me>aVS};{>iM$#=mbfsXC(Gtrr^ zph2GMnWmzJ9aNM}MIJVr#2|45|HuBxx=bXOz_u;|upHlf2yo2(YQg@3*`m~pn@8AR zebCuoFo45DVeeuL9U>m;z03G3Yhes>X@b`h)cTU8&g#pvcRg1*trqTYlg(FW2`O!m zYvUTz*nux30G`)f_>(6(D?wTxk_YrHDa^llvHRX(TH1IehEaoBV?OE!5zW|330jTS;6(VpOqkOcBpXCG@< zYYtNw3YbLy8?4&^2o-&{Rp)a2+``e?BiXCa zP^e2RFPk(lRNREAEtT405*CKHCDsqU4K8dn*iB?SSfhPyoiSIq_+6MoiV_F`A!6EjQ)b2YuY?>b#n&aG<0GPMk=%d-yGfI%Q{H7Zf&`$u zVmO~1Iyeb+5i&MI6`)@QreEDV=+`3?JL*@QK6;|T1kvvt&5}*&?hj~#hV-jMFAT3` z5UQmAN9@+=&(siClpt(z$3f|3L#L1`n=FF7jj^y9mn!QDkza;hWEd@xsjjl<7Dyy14IvCt>reJV=zLzOp2xf_KnCh-PlP6`hV&3=coj3qXvRm;UQZ)zA z_F&2QEVqGS;(ZcuAZ96K2lryPsDcEUgJMiHR$SQW5^7{iW0_xW9iB?YyE0_A@CNeA zzLiTB{jRZ{s4&Q}ckaEG{lm12)E?1Gc6Pk^2j;&Fhg?z={tk2bvUt#bP+O@ur|&vS zwm@h^{rFs}M%?e=FA&*kULGFL4F@*>*2vJte8qvGqIt(V$=S?oVKRRPlq%(;9~TVI z-^OqVp!iXRCM7rs?MEnMn~n9d>J&Ug%BnjBvtpYw==h70KW0=MQ|C>lPVipV*Au-U zuVoc3>n>GO1kx#+v`Mjlkthu93}t9%Pzdc~kc>!bpo=FoZ@6oAA5+|uT>RTtwK)6F zkaEB=v{+4}Aa15t!-@6+|CX zhl9#_RIKxODY+r%<(>KQg$NL7B<(PiZD~i!HQgU;?CO}`jl^-a9%$_^T?3|F_ymZiV|kU(LfKC zEp-L$oP^O`HK0w-zuP&#r_nMt+y9DxF`8VUi>!P4$ItXfScvW&pOYJy3U&h*!=Nv4 zgnSO5Vs}uI#Boj{>XIvVg-JYGjB=w(md!n^6-+MybA*#yK@2Cih|76*dGnvjQ#$Og zz2w%J(UWt7y=6s!=+_pWe}k?F0^`L_uQ&HTy4JmNi-g6d{grg>`%B*-t}X|e*Umd;)zNK$ zTn`W_y_VA0^X6q4&u*Lvs6A9t%~;CRFoTp9fWd{fN+$&NpyE>ER5zC$v+ATaFniiC z?*L|DL}^HPf?3b26(IlSW$ybvXElW$73-x{?{(i-$wO?dKsWPVmbgtLmE}ON^9Gr9 zj`gp&G&y+8stH=FvnY79!Suu>wdPN&o_7nTZP5#acnc%5x%{|g-lfKYlC9L`x;)cK zBP)(;(fh!8Uk~@YRs(?}+rO#D^()$QPDW2xr10(oqrDAaPh@fHLS(RAr`+LWFSp(I zq0~U)+pO;pL-0|q)>%R!vyQ!;m9b7fz0o0z(RngiWB`VscA07BW4hUgOI~=2l4fc2 z#pz0-xseAXExaZ%-Jh)2Y6OM_9{|R1q#jPhK;H~-VhPfi)t2Vcy4Pqn!{+4dzsm4x zchy%kq24Qvbw&WUBr8Y`BnESx;JTT6%NzNe>#m%jK)lPHZNQ3CpcCQ7Q%0EGHVF(r zR-f4;-er9f0&y7T#b~@}HZ@7&%Oqj|5uK`*M|5V{r>(q%&oB$gamhUf>Y#GXDVl&J zkGGS1NHRq#uq7(Q-~CN$m(z*C(>>J{(#UA$UpqSj{6QLT)-Z$5N*3U@j`SpbP$jC~ z8bl4UmZwJx=bJX%jL9R^oEgNu0hgyHt4BVS>q;AZclNyK1Gv!A651f&2k;BR1HB8w zpE}Wo8H&9d455yoGKc>j#HKFTL7%C1M|S}zF$cc3zT;z2q&kQEEOgx!LbQ z2c@8+ZI`gctPJ5yu3;o_4+l15bXJ-@z*I?aCTD7q8m|y5Fq}zP10L3#+@im<&KE7@7-*iyC8^x`Y5GQQa3y%}Z zXTyMq(@gOTU~;ewpvo+xQ8x-yPg|(XT)|=*B|5)p)N_&@_1JnA<=mL8NFhn!ZnHXn zu5kOw`zmRqPDA;!XAK(H+G>&{7E1*OW0>5S2Smp=drMyoQ*u~zDk)s#!3`9Ti*7F; zbFF2}z1BnP^@Vvk0?EUJuA1dR7sXO>qRuyW2pw&pqkZLgYo^xj*~^|*dhllRqI+I* z2!op>v{rA%2qwJ}1;MLZj1^%H^y%+9G-9}{Vmz0nAfJ3EZ= z8-O(DghR5lLvDNmfKIaOGj79y<5zhAsXekkJXwbtM5Lc>)}>$a8QV{y0&Gd&~>I)J3g0n15dw`L{@5$L3c!RG9Ps)R82iPA+Ae$CJOe ztfwbB6UJ$T?5X5o3UPIfop8KKNZxy9Pu*=Rsl?EF%LZ zmvedbsc8bDcKJ`NY~%->tP?O!lt*A(Z^QT(dCOneOsZ>k&)OmO*K_Qzi}|`&)kXHX zx5~%J19kFa>;CS_XEgB~uGCq*83y5toMznv%0=JM&1iMZskHPHSCvJdms}$Lmadk$ zhEJS?%XVB-o2(CETNGXdgN3YDPiJZu8ETV4KOmPtp*$Yo5m7G6!8RwA(}ya!NNuv- zKNZqL)|-Y|`>0P8{+_j{N{WK(UNG%^mUr-`#q1wE@` zGk(5!c+NjgFYlA_TBYAR+%)NML*40iD&3BC1&eJB)C<0BppEL}K}ZDMQY2W z7;u5e(ZnQj5x$$ouJMJ|V3bftc=yV#zBQj_`MRztqS>L1oosh`_sY%^>s!<732C3| z3#+fBdu10*t0P(xL2A|A-Mw-+0lo=CG@sI|S@5+;t~HH7MH~p!&OpV=Li*|C1nM3; zvriMxkc4ot_)S$8Ma$}Z;n#g@zRvMfok55wTKc>YjY))qD+v|oH)-vR#5Z=^R?D0D zMvI@H&0E#s{^)#~T2?MQpKD?{Rc?RuTy9|~#&{$NfDBe?E}B`!p1UMwXf7gx7cZ$w zVQ<-8F<$65dOIHdPk?A-hAiIHzn23&^Aj7aW_$LgFfG3a(wYq^e8E`vlS7@dPMLuk)Phb$P1N z@^H)vebz+`6-Ok(Php9Qod-ffWly*Qv#`Z1H&w~K1}s5>%c>6dh2=#WnIo8Un|Er{ zBNTi$4zo_1C>0$p8SQ3K@Oc@2TIMuUBU6#z>|R&ldZ6?eKAIg|A=o5+&WSJNi>CLy z_DUy)O*DO3Y0}H+{-EvK1u1yme*Lm+O*We!L>- z%e~1jeUo4QH8m-lH~D4jgJ{Ro3Pj3PC`~KXy?hi~Lhi*jwbeqqAxqJ0Ze=>463qd&BzTY^M|b zW@UTBJD}{7o3mYKmu4@;KGUhCQQM$5{b3HZ>#Yxo@RxrYySWw^;gGEKMJT!ZRAjy{l7z_PlHkq%K3FDg`WQtWZRR##^o8Z56RuCTVQ$#bWR%GG z)T9DMQs5~q5Gatqe$f?DMr3||q5!tw7V8-@`Jz=iZqXIZpu`ug)}QcN>+cBd)}i^C zD`Bl06@(VDdZ89+7ZT^}wz6VrWW~a&g^OgvWwL6S%<%aL9_yC?ac@|I1VDIQs9HzF zU2!f(hfuW+6!L%Ds%-1bQpPEq?5@e zde$ct_dJ*78MwYUf7cx+$#KTAl}!^Gep{NkR;PlkEJfOn!DhrOYZ$ z@5qApB#Oj3Nwo%Q+gy*VFu7ck>mwO>dRWg3{d!U06@{BajmRc%wLib!T~Q%TQv4rB zAAJMY+EAq*1*Vl3#zgNG+8b`#cOuaUeS?cx*lM?^p+U0eXaj@&W79NyM_KkmNTLf* zAcr^QK;htN)kTBLs*6(&(uQi6vmI7aEz1?L*j)W-6F&IW(ur^(ytqWg}Y|7g2!CytcC_)mRUZ z5AGW5o|F;ej<8`d?sTm5CWhV@@-}3d@sI6qwL5e)iwpeWgDl+q;diX*UY)_RrdsTM zBY3#709|(<%lPR-9hj2U#ox#p9kGEoCM_4Q?XvC~%r#}8$IejRnnCB%F6)YuCBx$~ zF^sQXQ6&BLJFbCXGgGgT69gQ>*S(EDDstTwj{~Z_>{HYbGe#;uT`Ldt0yyW$LmRvJ zLpz(%1TtbAgBO*cSy_vGzEbjcHu(o5Ea2YDbrwW22VZ#&F@%wqpDK0NTi0L|N869x z4Uo23r_X4Y^}tBY8oyM)Kj~2d7|^!NrYqW&S$Bphb5h%U-P^++V)AhvDSp7|s#pD= zhgO0+wJL8zX`sO%+215a}1Hbc|8^VD6Rbkgcm8fo&c zK9t3iFhQlqn8ZS>#@)#^SOFyTw$DjNDI>DMyF3YRezgEnjdf_r5_cTd;#*P&l`aos>%#&p3 zMFvmgsBo6)^-CTmzg!Z3f;MT7?-uStf4dSwc**dcohw zR3@vG9={~^aEQ~&jVkqdUCI@?? zfuiu*HDB~)9r9)~LYpVj(d68or+O4r1e@`E1)KRdDYfD@V%W?FCpc_I zG*k)Lki}Gxe^SX5Dv6G$G_ROGIF|19{cj>k1o!W z$uvGXVzm?w*K;N-n$|_y*v!qnXIY=0sBj*;)WFFAPI35&JQ08rq-3Z+TA>i6l4cSG z@j6iY!b2PI*@ejd$a%;ZF_W?X-SUV66sNFAQSl)q=zgp2*}F% z0?Sgh_3{{c%u%Ikh z@BX`;@d7eJm4{1@pW&GU2mWxEqUeeoJHvfaop6lFY3PPJzljV}T)G41T3s}-k)|ZE z9@Ye?*aGY#%E9qbVXM{6vdKF72=V=KR}PYflq$b*GLO)j6FJ}Q%-utwdgU!EMr#9a zDT;(9Q&5gMX- z$0Dru|0cJ<_XWnu0yq>24>22U~}7uN+3XR^r)eCv2pJy`rzez+?# zdG!-wScXm(0TL}8Wv#K1{o;AmTwf%I+r%e;Ji#G@mUdm z#D6Y4yJBMPmTHto5vEDkER~OvDx)iF766=(-dQt8NtP=1=c`QMB*cq(3dvm|Dorb# z@k%zH!4=vtC7k6_@Ho3|z{V7+joW6BUO7YnBsEU5KcMvlE-8*wjT`5P#|7 zJfScl32D;nnT90p^q2lwKS)=G(G{T!mJ)Q_3PZF=)r%N{(Eb*7&NM_BashWQX{e($ zIE|*Q3GB!-@q&bkelFa-evJRO&3GEy@5LGcA&U9Mqu?bH%ugkPSaV<~JO|E`M*o$s z$xEOnYc_W5$OA%c5fzh;5R9asP;w1r-?#oEy|35#EDbfPkli+Nn>mll)d!pv3 zygQqk1a-C27VCcOBdjQ8t58<3f7Q$;%CA5F9rf3iZ#8|@6Jq4`pK~eG+Z;pDj{IM& zoCk;&W?MPaOp92+sG|H8R?ay)R8b}-Qmd77DzdF3MOp6(+&WUMoOQzVIH$phRcU2? zXgz<0?m1r0ll-ga$V0Na+y$r+Ett@hzsE4gzMy;2P9D%1v*ra0N2@($-c2lk1+rF> zzbkM=&1i#&t7x$G>IkltDm_>;#-tTV+8~gF1A!DmrD%CN_hr(JZAyirUzf(iSzly4?$lwPADfI3H2z;n^RZn>Wg+rPir$s7@+9HzoTe zm+aA6vZ4#mp%)}0%ECT=fZ*pS$|zAdmwYX)Ymab;h+zp{Z8X^ipkr zZ{WMWR4pXf`1mze|D_S>wl5UR@TEosoDP+HxqAEM@V(~F)%&CS7`?YL6x z&)_K0(%?4_~*B;PbH+T_{3J_ zkK%LjGs``h60+Q50eC^)gf-h`C0LkO*mbiE+C8!f5VG`0CqbUNhnlfHysBwgvI5BP zR8h!NMS*IuuEw6@k05Obm$k_TcqCLVc!McsaW#$!rdJ$(S`y7X(#aY;5-o2)ad@?2 zmIk}xx7bLi`J0(g`x}{1@8dV<4_7)9ib#l$nF;kVU)xWpnZ4`@6+fXJB_KI6HaR;C z|DnMOxgnADY`HP^6lJUlU3>%m3snnhnO<}0kTBF7G8O0l5G3Ya%Tcqsnf;rk?|L@MRr`Tl(qRnI%^|=prY>jy>w&n(F8I&lR-?M^#LKr1~`;t|@d=n>* zbE1KJ6Ygi9Av!51K0gU`PTS(UwNb%~MKezZyQo~PzXi_DK%F+^oBL8kIX_D| zn=$|1^E9iuwT0nk*1ZIZLEqnPecF{-C=4D^X!yLN2(|M0mNZ}QfarYwXUKdO z=l?jdv3>zkgI)hZ$$Io5kgl4q*t!Wc#BVZ93l58v3lqnzA>+zLZ`UAbk> zNyOKdvt!ZBTR%YB$fiWC*r<&9mXT#koBxOu*f+*HQnFk&j=veC1Rx`JGRT1}iX%^{ zRZ5bc;wxrPdHhK;nlUU4kH{;E7H=|^4_P7V{^298PR;;+N$y`6z~rOw({5Pv+5gZ>IqMc!pzEoEKhN72Qr<>kL_T$JN(-7H8|K2J#;g@ij zbBTZ8Hi|6s4P@yoHi=!<7gVBEdzadiK~k^PsyE8x^E^7!N%4rY6jk5v6AuUZSME%y z=UY+)ol@v86iQ^+<4bu9Jg{${mg>VbPyc~}&F+Q9WwC6DPstNtdwi*6JbtYVw{ML# z22)%L{%&LZDfPY-Vz9}%pupu)#VM@~_eGXCIQyRg37j3^k%p^*WX*QCXgl0FcsqD7 z(d?ZRF;vjjAO082j#t5|lIin2t#!Rn;C(!{qtEUn+4MP8GyWod=I_&%39KS={|bHn z?|A7y(fu(-3e4R+wrgL5ex*@{#M-gU{w!JyzgtbdUujPAbQxffg!9LH+zx1ca1v&U z(ne{+30mRC;`}dXjV>PeIm_`nrb~5k_;WL3BEbe<$|qQ-`!bHzo|cDnpi@38P9d*_ zVU?LwcgI#|(30a2{KB9WB;*TCdfoa9?ExoALS=}w?MjlvUPaY%%~6NVfqj}*G1A~^ zc_)5_*z(PDaw7d2gCI z7}2ts>jbsy(e(c!(KzKeY03BL`D}lkXySgp#FG;UJi~gvvv>}#XR%_&1D^ z{*RV}Z2S_aGFw%t&Xpg|?-3uafy;JTv-n8hvUlP`L-7=of2N)PjE_6HNQ_QM!E1Mi z%;h67Mc6?IG~&Fumn`8=)W%Z7(5WNaI~x4uet3p;Z)#`P*d_2%cV#*6G9Gth8<)17 zc(S;+*2@xWx^>Lea(B(xS5fCMH-rwf1iE?_95{x>e(-$4e7gP%pJrF!H$Kkf9;DY^ zvy6?8uRar~3-*aAmvaqHInJQFg1w0&ZL&436+2t7XZ-ML_HAA9?$x8^C*9oZd`Lug zx%ni=7nUn8EMxK%vE=C`!5C_Vy$kBc(dyXO_ISK@Bs!`b(Ztb&Bv-Mf?DsT^Gzck;pvG?(Iy@oq?0`TWFy}igS|#5Ku3}u*fH&ahu*T=di^%qC<}B! zXZDGmT$bzA6z8~(>Sjj)fG%FZq+{EV=+BWX$vfwdnmiWs|7O)LB(dO6nmB-s_GxeW z*=TpK^llLscz@URJZ?5WZ;_J2qjRQBO72-IQ79W35R34Adk7oaY_pWee4o`9gd|>v zTUm)$86Oc?=FC! zE~|6@VeNp;?%FySmyirjoGlU$8HjL8&Q}c z?y2Hnw>6zih=bP*%`hsqce*nIGjr&6j&)d~+k~_9DPo#wMk3d6Mb77~NyICQ>ZP_U z+l7Oz%H~g-j@Zq2u&8uZOEoRl^wKm#mHH~Ux{wt7>xMH+{LvTlH>Fj^c_D72HW~-L(%YS9=iK>>&?*pD^$XT-)9pE{E;6o?c0qZS<8WT;Y z7~(+>tPM9k;LT+nxRRSy!yBxn^=;?ZzbPlvQg)%3kwz}mb4;$K<=ba`O>g?5=W#Ab zBb=l^tkdhaHN(j3i;mp1DO)G;(O5?Pr5EI7m;muirw zV#YE{WMp(ED|y7?9e3(pABQFG7%m7MZhde79@;Ks*@Z@ZS@7jm!tG$orM?KqSt_d_ z8((BRP70Oxn@6}#rCeymX_MvrIF!xFt8!lBeGP%v?o|TUZPI${5|Efg*!S^K^qd4? zbNWK+P0+WTy^w#lI@;KN2T>>Y57vRxRYb81@~93(=B2N~qi^K7_GbRP!~rdrwZ@fV zPQS;t@){cL3XuN^9^vVOB>!)DPRjrLME+%b;N;_EjGk#&P23fKAfY%iO{`CWZs$bP zMu@%>pI9R%YRKTDSA-0jtjc4=rY!fe$eo<(9}vxaiH|j&wpE=(RZOAyc!5J;#{xMk z!>>oo-zk1f>>N;;GMOVg8CBvcGP!CpsdMwv7)vJll*!fu&&&4Ao_Mbs+4i9g7gLS( z``%a%gm4q1+`%!!_DCIWbIf|L;7Ru36uG#BzpkJ&e|ni7+`zL5f~m;8wgpRx^3_<7 z0R+3j!;2y}jw(vM5wvYMIiAKFL9r~|Ys5E-p`Y4d$nSxi z#OQOaUxahe5zawJg0>)Uv&K}{WDs&c@{2kzpT<54CI-FkmN4yG| zK(Ttp;(Ez&6MxKDOr||beKCR*v1Qg=BMzlB@I^9P(`g-UKtcjtsgEz*)8wiCje+-w z!1J_)=Ssl)fe-!&LDcKOoVUTVx)TYuMrCx<>i9LHQ*zREYJ)FIXj!tM0L!c#f{v?J zEClV3U{rL*JK1sCmr>QDYC=lgJ{D7ZPPbK{r$av z0m`n+HS1)lx1Y3*D*e%tgJ#f)-h%Da+rXfQ%AVt@!QzyYWz>f1TNlMsJh$d{gP}ie z%%+3mtj%mR`RlvTJ9{3B;^Vp8Gu3m2=So|!w{m>+%kLRNowh)Ccra9_f$5G7-4CiI_6B?(Cv@cDB4nEz$ zxG5t=bF%5cx8I=yJ!v1>mo|%m9%KqEmjcSETMHbOD6oZ0MUj)(H%!Z`npD8PUW)zf zu_UxIoE1=~8Bo(Y0JUkKQ};qL2`5c)ubiBMK0L~^W>w8}AU<<8Jl_e||k)o76 zI&S&(GuZ+>(*W+?0pL3v!0}Uz=Y>qrbdK+%%L>L>?*xx3PB~BIcZLXRqYU*XLAom)Iw{v~0IQEtWFFv) zPCC9dX}GVeCY{ilG{87r|_*FACXU|v2DHAXC1;vX* z#xYt%QMhzeQOdLiIn;!@77aE)O+rfLhSzi3cDbo+VF#6c-2~J84g3fX=v06}Yw@A0 zgwh#}3r(GZY%4+lb5NWi-1a!?%yP1ej}>N^v#eK`P5$t4ajwZFN)IneJaRp3hf8uH z)?@*K)Px?;HbY-@@-5i+lMpBxgLr6xs8`p3D3uPk(l#R|P^#X(G&caZ_I9ebR$0!D4l%^N?w*!hwX z8L$~Em*^SA-y;`bDDl{G8p%d_ip+%*O{HBssB{LE+OgVFJ0ckoPN{5=cM?)aFU~(O z6L{*G8qHi)cPK`31>S?yT@>CfQ7U+HSv&V@^Z^;TG90y}p(pP-D2(r15kEa>JogX9 zuNJ8@Q5x;Ohxn-oxL<9OyW$oyO0({ZT`NxmceyLmrK}uU3$P@^$|Kht;d3@1jvgba zM>?r2mRCyyUa+sep#dlN%!-I`{cz<2p4~TpS+-brKGZuVF3Mg7V>jr z;n-H+@hMH9!UY>lr%u|>s$N{?OK6AMP0l9fhaA(;t7OFxkxzoBb_w_oH4~5WA^IW7 zCy;!dhmaYeW+GRXYfpvUeqjLr`5nOyZbc*KpDAbLc3Jx9<(gTo!s55oagi{6M!-~WG;{!dl0f879*~6}D5q063 zqbK|b653>)Z^+tEaRIS#c&;^*B6NrxGJF zPFCOWB*av%Zu$$iYfCWsuCY?tWi0Te)KTVsbJuE}FM1m@z-)J3@ekG{iO6gv)y2_k zvzwXLOC>l)adcLOFT~ZXYvQTCrneZ`Dp&@w+Mv&=_uCs3k!eed2YxwxYQ1m4{ub(; zd7Ma?HCD!OFAF?*${OzFn4CQ24EL^=MWR34S+*hBam4$prDT~u(peUF;(bJY+*5LM z^{jt@;VPC&_j4R`2{*x)E$JLwKw2Fo%YETa#Nn}HLXudG`S9XHwdlrn464AK)dZEE zy>%dPA_V1E1dfrX1Gxd z7|Mds`6OD#3X|-B>d^{{4|3>g+S{l$IT(Q7!4%ASE1upnKkpJ;g(outLJk|Go4)Ae zW`F+MGt>R~>t{0e)N|%ViQ=R!jE@lCkb&FJiO%iEG#Pm~W>agJX#^3GH20#`+;-%& zUt-V}W3k6}FP2q}ND0AG2D8Gj-~hqaC2+x?u`w383mX*y8FWt&@Gn##<&>uGBdI%y z7qv5JcQA*LO79V+rdsBZ8GIpDGx)Oh)Y;?DuX8WlB{fE`$>7iufnb#TJkBJk$$&)^~77Jj3PR>kFqdhyIA#b6P%V=iZNi9r{!IBE{%^e1!VwdQO%xamOVV3NX zE~7gKvm+DJe5DP($b~d|%qt9fcw*WiOZqGvBqC!sjF};}SaZ%JeC)ftT324IdXKSC zM8-ZQX(gmF|3;*O+sN4aB&py+R>>dE`3>*$<^6q=r9{vl8CxMqM{XB`$k^%f{8%X) zc=hR%d6s`XPHlZ0Z$C<~#hsKGCM7<-h&tOEk!$8b=d>eZB|IvVtueb>@I&3N0voe4 ztUZ5ea`q;O%NH(dM0Q!o^*!tqF`Y-g2%%8P%cH4eNr|(M;q0#GIET8!Wt++Mxa1lo zO^J@#AT6(vqoF{lc%C*KNJnXaA>0Z%ZLRmdtzDD-sOZR>s0AG;C|s^INZ^l5iAAI? zvZ_kn2{nYu-geD9&Tx=Y@y20Fk3sp|i3bB)H2G8Cp1-R`P96a-oBFh1PpQ+nX2c-C z-n^6%J&g8>b-k|@*>xxfM?II)cKo>Fo$8M0!my;$Tk+Wn| zBSXHnOwOw5Ylfq8g)F>xSqm{ey+D!>{d_6)1wDbA9J;+pJ$)kScaR6q*R;`Hf^3*f z%7~mH8uStLC(+@Kn4Ty#%5>8SraA)$ zHLIVi9F>y0jnZuNc=0GI4s(uy#;+Yk;|plKnS%c#udfSz=)xp$4q2WhP0*ERo&2#) zTbx!KyF{`|3WjDN-IWnJO%NsWj8@f1L5UdWAtc$O-vD$&gYTLKk&5R0#y3I!SWopFffCK!|Lmc44Wq7_JN5g>5BV+x_%Ygyy%kg>M)tz|e!uw_ z-Mue|$)|CF$G$$2>ZW}F4%H@sI3bWvm^E-&9h>;P)yYw6URiyp>?ts0H(L#m5Q zH$r23%aaMB7*3ZL!#0wsXq02reNUW)ie<@IyqtiD92OrU`#}A}TgBF$<~g;qr^<`= z$>lFZLB^nzA{70Z8=DeT^}d`Fbl)RB!#JvPkAb=41wS41m4n6H9;$X4!4dO>Dce$# z725BfMW~^JMFYRa8?~-zU@W|qd*sr5r)8rZW_Ly@B+JY%{GqS2{GqS-|Db!Oy}Dn? z4ib=m!XviYADy%Zi-IS#%k2v_BDf2(*c$PtY}BbK%iZB^>LqMqOZWpkDcmc&)35Gy ztSH^ZDJSVva98y5)7TN?+JziOXH?P(&GE?_c~nxYwuW9wFPA01eBCqY%Yx*W?Btgx zvz=@SucAr}M_Ac}4!h03ouOlKE88sLx2%gb^9RCxkPQvDkiV_)v`*I?^;Z4)X*K~Q zYC5L1ri{R^)$}!%Ff|QmP19~Yw5Cm(quzSyJf|jWm7R2WYtldLq^XmgT#5EX^pp0y zAI{Ie-193mv(xi+oKI}u^D%Z!D>zowM)~>9I=;20c~bHhas2&H$vuBvPCd56@fOWd zZ+(=g2{FOiaauF3NLlt!J>3S(SDS^ewb64Dc;My&hXT?u@+7s+nr_!LlYQ`n7U0x$ zRroD`c$2#Qgbp6-u2eB8axKopw1!eNw12p}@?&9kY`qQF>8itdC9OenELtm{LX*jM%z>h9Udr3i-bInm*5Ht!bO} z105pD*5#&_%k6)^RLeRo5g0@XF*r!uw^`4aM6o$6#ZXB1{`s~YCdOGMMi>FzLbQE1 zltG5(rR4)8(_%K;w2{%KU+|n3Z7S2E)d`WU! z?WVCFl;7HD+;@6vbjPW{^?n$1Hb+@IP89Ciwg0R3i_;Zj~>)?_1AHd>Bs7 z8XqZ`g#wh9|BAcvDblaIKb|e2j+gRGTHgYfyJ9iVbp9Ig#MGUjUDkc~H?`Dckv^_zZtmHS4v1mF6%9Q-#2iZuN3#bK>B8mo^ps+ zV8u^EBiSr=B!0L0S(Rm&^kbCG?6P``0by-*nzn}!U;K*H$W2i3&+KswSNy+K7`Y*f zBW9rHX@Rge*e^0ZTYPIe7lv=hj(6pnKX>IH_!OFulcEEvH--_$YTi)Fb)P@SSGu=+ z%o(oWjN;O-&W?^5gg#9DI(rDq9DfIp90|p$IKC=v@WiUQgHwRmsSRCqX#JA4Ud*)<^q%O8VSD0 zXltdUsTC_aa+Rb(!jDPeHtIxs@gjza+LM7~oq9LqZaYN0N8#B+=#2Ouz84MrtSCAn$Fq^65gI>bqqSTXe&O}Xk`TMo{1R$^i7z@gz0O*!-!|6l zF;I_EsJkr}Efn;o6QwqgX*6>!AMbB%ku{)^aoH21*@P;U1!lc9qfnSmaG1$m(_$cQ zcud+!Kqa=HRBEu`GLX{sM@*%Wj@-VIw4+=fTd>ixM%`p~T+->uP-`M>u?;Y}A{D|| zRqL&t6SO7l`0ld&)Mu>!#*UxlGSp7CUq ztzN$78fd~18K3%Au|N;nk83XDig&ea6Xd@hyfZ#lc80`=>nR`8ry$_=l+QiZRS>}2 z?8D#=35>GWH;{u-7aU70F$Nb5eq(*!to}rO;-h8Tx3@2Pg%}h2mX9k4yiq=;cR_G% zoTD%w22;60&MEc2IN^!x*=2QtQ93ff(Jedhw(Q7iG+BiMC$z$E6cdXQy@zR`MiFeM zu88>OR2-m{5mx zDbD9(ee3Po?n)tQbKe{am3z@+k~LH&SEFiRno{`QT^Xy6Q)=sZ(Nd=2`X%X1y%Lm$ zPVt%04QuXCtegMY4KN}lU?NxfO1F9?tPF>?2rGkWpsc|(2(|Mh1s~|UYKVcE3QRkX zb-jWv19X>~p@zVBJSr0%-<3_f;lfF`?ffjmNnTt}N3*FyHCZkj#a`L;E?!#x`TTJ4 zdNyYMt-DCxYR`+k=ykn!@o>Qfhl2x`;5U=6UqRz@X?)^~eCiZDi{>|^%sf2YP`;_W z{H$Sa?;6gxMZD{Yat+LM>^Kx&x)-|UKnr%JR`8j?kkT%p^0MU}>WN|lXjMpSjeVXw z7|&WOrXueWWkeBaj4tQvy&@RRjAxHOK1qnM$(sD~LGErE6&xuRb_CW^`}{U;Fy7^y zzhn5SQJJk<=_9rp2&+=8E?736{o381*ds81Mie;h+t? zYfN4dQHa_!Obc#1RrYpcDiq$qy-TU!@c+G5{m=vgfTWb9%LVjX@~Xxt@BBHkzTVqWk(jT%01uS^{?D0q!Z=%UfV zB`Cjlr3^Dn6nl)j@(Tg8cSDA|vXLjbY@EoQJQapxp-*v5Wkgv`a1kGA!goZ|V>B`( z?HQguq0bMZkCjCyKU%);=$Tp3$uG%oMs)J#@_k)rjRtm#M5$^l8ij}GwfynX7;fMB-#!C2VjpzBAOr)Cx#l3yu4i>)AOIqT@ zWd*WNFgbO}inWxK);K}l3W;XYWCf|Z~lW1~ByTgj&=*V}z z$GZH$`h%^TN)EruGOII8CcWI1j{)BonwMeAW^u;X(@DO_I9UPr#ZKLaHdu8qZuqM% zR+zJ0RM5onzqupB`f-DJNwowo5wTv=iR>u5wwRVL(QQS|1m@#D=r zX+|c9YIy}~%bz&IaS8R7ykZ2dDb zL^*!aKrrX%c3HW6=eQ9^_q$g)H^;b=Ju6Z?GP3drdEIR-RiWO|?qibalA7DqXq{4{ zhpA*F0vt%Qt9yW6n(B_Vt1EEex3O{hBKUNUvt~ofhl;5jMy5e9l2qqEd9_xrk~)n= zUr~n3aB!?S#=hIyR%coi8D+gY(d8QZFN(;yZkEZRQJtNUXt9n(HZqnuFravs;_wf6 zjG?gZwxX10Nd6@g{kJ}o!s>|#)t4~n)WH4vEdu8^C z64BBgg>D?v>*TDq4bv$8Qz>=w3ORw?JuuyS7E0w5%Ry zs0iHd4}VVpm5d0;{E-hFA+*#29EQ%Ysci7;%}d>#dj3vf6lUc zV5G!!Q)wX1-j-ms=NSJ711Zd_j4r?jr$LEqt>u_OrXcZM$y&` zPksXd>)k8;DQEgp2p=C!f9AIxe3;0Gm6r)Zv_!U3!j$cFrms`rM6%3$KoFo=1OW;( zc$7RzmSAQ*ywdJN{1P-t=|(iO52cb0XPiJ5>vU#XQ3Q8<@!Z9|duw!L zZ=N*%k4`%4vo$uO)!AXsU&o019g`Q%OnuBvyo#60V>I(`f1qmF>NSV5wCWdF6UK6A znzi|Hu{U@v=t~aKJa5X}EM+`x%Pgdf@>{*Q$0*_Dqlel`uKRiw8qN|VD`txVq1klF`ib`DjSvNfKUCa=MA- zV-3uV?;}su!n>?vC>*~M%S+zSV4fIAq9ZTllSua_?$-9J%1kni^xc#0iszadJzS#ngagNp2sL8L>Bp&G+}9^Eh0_yj#-j6-lW~BX}hda(yB>figu*4CmM5h z2aUOw#>4_Phe$R=4RG|Tn*PFEq9eOg+WJoBfr+fs2Z1ahyw~!1OePC%`Rx`Q9Q!8^ ziQpvf-s>Ph__>*Td)82Aj9mWcl__{+7;BzwBOnNicqd8370jQZ1D)KJoyZz{g5qP& z4Ei=sXi-G$#tvc*iHP7hlPsWny3}?PIn8l+o#}T=ZF0B@HOTW~CqBkRKO8f}UHM=9 zI`AHC1Fz7)%jp2#sRD1Xfye6FxZ29B>?>xMOU4WdmN+oa5nBz@g$C-Ot!QR_ga)c) zYemPWbpZT;rU*1$LNr-oOVajIk8M3+sZ7jzoQ2kz$6D2`R@(o{dQ>M3J4xR5rK<*kuCLxZ;~?O@wNt&(!O!Nb+E;w|#5!rY?vHeL6N zalWr>-YK4@^%6#v%edJ5x-lPWmXJDk;V=5B-ox~@_4rO{j_o)QzlCk4IXTdxX;YHC zFO1&CT2x9B&+}{R>gQztFOaVT#S~}>oW|dSL0m>JBahzYaPKY-hEK3}64AjX@Zl=^ z)m}$CBC-AWLv{(92E7$+3H)H4+Z*J7_337E++4-vm_XNS@8FM#&UEBzM)IeN!kqJ$%S-5cJZyi1HT-Ooz2aJ)wYBO^-wa1SkZ;nmq zuG0&{GqS?$$f}j>$`xv=Lt3fkAI;3I1mhmT_-zS{i|vZ&f})D$OJjNgnN1XAVE(!? zI}}wmX`zBFaV{;)|7`9Ta>`?uHHCT=B?$vxN4n83n2f#Q*Nj+^?Gy;ukfw;1K9OP~ z!mtid=`xk!rAb1X+t~2Ys~3OX+6!5?@f*v<(wnI19|+N3sOdWzV%HS>|EwvDbozyw z#GT!)>9Aj~DVa|iuXsX&L%!EP&0yuPFFO)hFgsH`-Vg!Tk?7bk9p3wkG(KEq%?~PN zeg|O)WVb@zP*%qF-t5^$k<$w0Qurn-@{C&bu!VCNV<^M#aZ+EdGmiN%eB*=k@V?VgaO=;Li$|G+1mXzUev*e ze;13hZX?<~$cjhl->Q+Rk-bZ^LbBq-yJE{%9lEL!V@(wWYJA z-uinJC-d=mOpD~iho~@t`^-DRgLgtCEB`I`xgQjj#*Mw3CG#%pcQ-b*OxTz<>G}A3-?vA84NO`CG#w>tL09LNN@=@V?eVb0Ep8R z+;ZEQtATgc3FH)~E`b{CrkpO8tu6Id)i6!C7xiJaR(b0p#hcdr*muFF3rP*X>|-70 zJLMG?S#=z{9LJ)AV7pr+IH4RdISxZ1InJ)ilJGxzq%(hO@QbDoLfaP(FR8R9hym=9{D@8-^63CV%|)Vmx%dTl|iNE6?{jaV9sdSYYC@l^H6t`hJZ->l;R^q$}j z?cXT|1HMz}S9I!fy_JLDnA;KvNXmev8l-TfR2~0J7ubj^b+Z(APZG&LzW;6N(E=2saPtlx-_dw?x2{DfUX!j89A-$EhCokSfQCYU z=4(nQB)Mo;;y|Ch$H9gkviv+gqCMSM<|xLZLcMenf2F$f9&;IFZmxS#=y*B=Fnf(NcY6PuNRscoWN&Lj3NWYJEUv2jFc1rAVMDSop zGQ3W=`syTB_}0YENqgpjScxoLO2cqE4(kIebq{@?E`1-x_~7R;^e(NS%w^qfDrlK9 z9l@wK$=^XrJiTQz?+CbHck%CxpJj|0_PUr5-bHeaTCl&TdLmVUne*n-CpooLE82y@ z%r@-aM!it&;gHCs?Y8z{<@VCIB~VNo-}_pSKpQ_LUbs#=VW=54CP-gNItm`PLa{>8 zh)s7njkqz6rw#2XZgg^3>@0jl)meN5Yz0AZ(^FTVg`U}`@Zka!8eE9X^%9rOI zRq^4R9(?H>$SjT&6R5y^%?p2{k#afn$-vC(LoRM^A=i;|tXwC2yo;~C4p8m*yix9E zjk48?$RztIJS*2EMJCw~;aPc3iv7^^?(wq*n6&Vo6DQe^U7fVnWwI|k%U&>(mRK>* zYJJK{RG)alAHE<_s7u6NxF@#u^qLStVD8s_IH77eRbF1e&s|# zR}UMPLp!trh*4?#2>J>eoyFN&QPwYHLO6EPB!Om%2mh z*1cT9WH&!lKiztdI}?&#Gl@B7UX3qkuIiq+j@aS4RSD&=3bknfKs=#lU+fB`hYlVd z80x7$LF8{VbKz`e*Bo-0rDLwtd*CTP)w5}g3r|!4NJL-Rh?>tOU&x*k%O?vmzK|`A ztyVaKN+DLl`b+#5K0yoD%OZh^aJGbJz|Y>CBx#v^u`hI&0eKf7hqMKWv}_0N9vfV5 z0oTs$yS>_HtKevUtel;3b62br5C#!+WOjio2o5?M9E4^$IQT8OUdrW<)r{+=g9Fh; z+Th@nL;7DVCm1a4JZ?#?{g!w zgF`lmi#F?;7ilnNs+NGSDDv9^U-(C(;&hRY*);CcsmUp2KGPUyu9Dy*!AC5m0tHe( z!6(1EaA>n3lbA;w^Q5NJsKpmKk9oKS!&CUpIMxu4&i^!Gewv#$5@_+rJcEC?(!FBN zv@(d1K)oT!~JS#-&rL@$VXwr^KL>dcubL5E(ZQ?;R&2JG{?PKos( z6W7gg$OOwk?qH5w z^jF?Pcjc-=ve8ugbbxASlb%%V2~I2HGoVP$;TTI?%j8iI>0$WQ6S~2urOESin6xNb zveg$R+OlMFCTMGWD(&{nR{!pKM}qmSc#Pmdr;9K5__YkSISbsLXNk2kv9sP5>%$f6 zVbh|fPZ$3$waFv>{bobR?WlHxWo!? zCgvY3dA>xrW8Ym!>*d>N+I3_$K`C>2vd)sGk*_VMOcK}!DouoRxBnBfwv7&5dFL5= zXB>u!U6vS$urY|Mb{D15cvlp%?RHn%$ZHr+NBq~E5|E>sG)NecyCO{*+{%Bsj1UC- zO)pZV7jwv2Th1Rdva|o;AXvB5lSg*cFOID7i?2JDwThqpy-x+H#p}Sarz2 zEzE+_OugHnm18OTIDmz#N-=k!Z?UR0+dR&oIehI`20&PIG9QCOfOmDlh-OA+ICvN8 zHh6da-NE}$g2DeY-jS$^_gnG06ukeNcV|9zGkDLIYNf{7)@s8~IMu4Ollhd4`rIVc zx78hf1@(8^&1w8jnlo=m@#rCWcQAjBHcbiNN>d8kHs#>s&iv_ks4D+=Lv_U=L#4)m zb7wIB4-o2fvMzqCua05iXGB)zmU-Pm|Btt~fsd-V9>24BfdmK}HAobMpr}NAAz~DS zXcl&1qluyttqN)lzO)s!x~upSUfe`;yIiEcw6w+6R&D*Yw52W5m;xq%Y(&(cs0b=3 zDmN|_d`l24dA{e&-OUn${XPHB^ZfaI$h~`K=FFKhXU?2CbLLFVx1LlkkXcq{Cmlo0 z(wL}1*hRGYDXV0ZJAVR#P#Uz&3L{dpi%1T?kj$x4eB5^q8x=if0){l&g-g_{diG^j zfFlaB8N^Ovv}}sJFvAlUF=$_QGd=}IS>47xN$hyt?yM#BZKE1L?UJHfjd#Gzl`d`x zYpOYND~lePfnn0){L!1H1f$oMIT9U{HIrvfA2yD(ruYt77%yBS*_}_It2;stUh83< z{clITdt6uIq%VuN_6;dc02#>03+t8#puh3&@zyf?^364D z@q$COUjpb%ERdIi=)^*auu~YFI9#5?qZ3ESb3}CFD0z-zj2n)V)s7%ngwPN|_K|7m zKPdb0a^W#?W^$KAzZfdCHyPfQ3>tVAXV;H8FVUAtSj^?qRnA_G_PI55bfxu4n;(`E z^Xh!rDu5NGBOG0Jibrz7#3bxh9+f!tXFKz)KGMf3k3CI>-<;f^CAPRy&9Nic)H38z zy26E+$y%8F8+mef!O0f)T;~3K|Z(ai)?6-5=;jzob+iunXpGOSp z()`VjsnhP7p2MhMnR>AelhnTenj8(uHGts2n7YJlzT!;FVNd7mz0z4F3n(W2I8V?a zbZX;$LVUaA(I4isI6w?E-fuoUzz6A+zws^Mh2G8T&e)YfH_a5dgaR*&;N1yA2{Y(8 z=J=amNV`>jT<8=C5*7}b2$52Eze6INs&Wx$g#JKb$zl=MqUjO)ggoi{+)c%o)3VbVB-H&`IB<~9SbetaytxDN=?rA{o<7# z)BJL@r&b(J#T7^#Ugn;k79P^LmoI?74Dhmt_<(?yvDfx4f98%mBYc*3)qNf@%oC!5 zB@8V;-n;z1^s>2~rJ>{016tF#(o)iT&Al(9l#}#a?m)EMcLPPcjG8Wt{SoS*f9&?~ zh2kPTvQdgr^VJ8AqUH`~9jS7N?leiwCBz?w&o!R5d*H!FwYJ+Of4SKp`5x1A&V0LkJ!LC#I#(m^ZAH$h{xg%ko zFdyIF#>ZcDeTM7Bmt+!Ie+3~ zg=H?Y>BgdP{0yo2A8#bWs+w_@=NOY{vLbr&tfeqXgtgG^bc-g zr2J|*1dszyu?YoAjOe+}i9gj{VlIvdJR2)3l+SAWYo3p^>$w!cGeZkpG+a{qH&nSu!IXTr93Lji&Azw7zTIQyCYjpA7dZPY@t~=B2NnRB=mg)oNu7m>#3WuXYHD~V1>*zx>TKadH%M~6 zFEIAw`xp8~PR^$7>adRBhDcla<7>D|T4LwkJLAwU*s{oF1P$XJ;bxHp?+shPv=vz9 zoqr2+t*bO}Xf>vGfmyR8n>C?O?kTxZ!IumIywmg#s*=4*h&jsFaI>j7t%sVgOVrGG zX%J-N?4B_UtqE*^aTTYWkiCk^%%(#kPp-BrQAB6lZDLKcOa4k;9SA=LaWzS$?mkKH zw7n~gZEoa!(i!-Oj2CZRHl5S9nUwBx$e5rNewHnAU!+FPl3guLi3OSjRp&7Z)66EC z>8;(*7vBqjaRdAs9U}gHY^1tD(l%d5v48BWyikdAB}JKtj2Ef5Rw!$RaFbJO#7?g8 z`VZ{`oo&A*(a)5x{NLfs&~$ID=;S^kQYiF$fR4Yz{XdnhVV~Lyh)9E0^0N)sq-no7 zX&2#;wuW=>6v%VdeMXIN++=elUKt}tc0jqPxEp{f061$aJu)@DC{Cr(nkMHc@bbk1 z*`UDg&OPU1f3i#dkVySnkZH&_z24{g1i#6V1vmaTRuO?n>++azbs^DS}M2 zfD@h1riG5HsNUhSq1mhd(D~p(3AP#FKxm=%?HE_-OWf;{D(A=O4t+Z}q2Tt?lISy@ z>^0H!dHdvwbyzNs$Tk6MR_MIrO7O zX`{*YGjh2)=u}>Dq-yrb9VF6?6Zzm98@vA({95X~&e)M|5CeY67SY`$&xj~|3;0-> z_O`s5n935=zE|8YMMXQ!a=t=gq2#Hmu2b?efu6VkE8{xY;9Rg;^=tkZHmH8g6+1n4 zCQhlv?=g)RL-C|ejDOof=L~hfYLlURjIr0X_8uvlQ|#@coU-GU+^-WqM83#ZG{LT8 zBPlzNA_A!V+qbBE8S|c7c{KNT@ABpGU!{1&Zk9X|{i6Go&g7pYu0VBcPGPt!jX6*X`2_3Gs0+sgq@ zi@)CAyVFNV8;O!tVfSOh^`-E8ZctrW@e`{=SU@~f2de48Y(*<1?VR|%fa=Zpggi~w z3UP6nbN4j!oBFY`hc0@a7IZH45Gj5xU+z9{sRWIe*YN0IC+ z1a?JqEusuyeIC6cbKZw)TdO`tqKi2F!OiqegNy|sMp^w?y@So4WlPIMx? z+$`G=_Vn$tR*?%4vHfi}o2x|}O&l*)d*?Zwl2VT@X}2m_UlJGoUrKd$ZqYRiqW5`U zC9=f~q9H$JhTp_b@A5wLKA6jk_#mZQMAY2x377+RMC;uVVwZoqEpoE}!5z zaV}6eHpmv7Ow1rUcRGl^$9oE*;f3yKj~6LR5Q8aL^ri64F+_Ga=B18}^FHX*;%A*H z;clj(aU8s>6pZZ4mMf;-G?fgJO14QQAMnReBacdy>*8nYLuheo7mEoC3c=mX1Y1N~5p7_vVG}&|ZeZ7t$nnuIA%tpN z+p*dE!e)c9pj|HDn82u}=C7`%=805VwtR;nQhb41Z`o*iSDvwF&Tfs>Z1wJjz<;e2CoINq~!J13RAVmJfUe!7EaJwjh->9f3Raq zIkDlC$npEl4kG!uP@^^6w=3m(Uqg;TVZ5NQoh+;5kHNe+fkOOTg$-cJx>8*14SA+) znv_-6=qmd)d*7ye5=RwfoHw#eXQ@a7+@8m*>vm#i=$z=}OehoC+b4WtjVF9T3@BaDJKygaGyznSFkVv_2|p5VAh{brKhmZfOq))p z7;2o5Xi@xD0^?h&=YDb^vM)Wv2>F32^39crUi>6U!q4U>m~L!40cprQ(`4QtnMJOw z>dM@l%-qlIZ|6?Tbjd-IG*MwwG_-kWy8M^gjmnYv`?7s?Xr%KvMKCVTW+7l{`)p(`#f1- zr%o6>Y~2-VBoDlo+rvi?T>aEJlrg6BQSof+asYiPL*_L@>{qUU*s7p?ob0RBtTEa| z$ca5Fty-_+JxboMb?rZR3aWi#JR{j0l&hO)vd1`5U_SG!v8|W_4SX zK-3$9(W6slf>PAzL=?QIKt?pqoO1ll<={+#<9(c^ly-x+)*?Aprk#ybf091wbJf?H zpiAKm*mP;*H|5cz)m*5@5faC)D?R54@JV{7RGF_~tf6Mc3Ymd{rCQHt9*2_sQy-uEHa`;lz6qXmQvRtX|ys`0Vyqil-tir%>Erez5tUM#D z*x9j(N=2k_tNcb^tJ*yG+_dn~#8dLf$wk~}EnFT@*;wdu7aA8?M8ouKhcmxa7nQAg zYpeu%`G=CRWW`h}iu_Kv`%W=QwaR5wAB8f7+Wg!sONw}zZr3M$L+UBBN?ZsG)gO4s zP(AmMtG-4*lFFMsIRU8#h)g|EG*IT~c{}7~?3z$6Ejp%&2x_z?-rqUt-Yj+;JGRtq zl@MxOE;vpf#(URphKI^@BHv76ce!CiD)~@^4(w7Aay&a=e=o(@~=qS-q z&ZqPcJU9F70KV`Y?^CD~&^rZ6pMd8pQU>$xv!{2KSAP|xwq#Wy8D~e*Sa`C!>)>dn5g)_HN*WIPLPVDXEDLxY(2&qe^w%P zR5FK0bA(#ybh2=-Q$aG1yYT0}qbstb6Y`Mp)&xA2h_o#hh)rytHmZx7T`~%kR2O8q zl_K|3<@C*ryoFY{p7?VNJ)igSwV~degvwag8$qC_`G3s0|5X(^U zHPU71GL-9e{BolmaP)AuBX@S2-=VVtwPH=HuBtb3e4%rJPXdt~8r@E#y3cRxOD)lf z`Bq>tSKAk0&04S?ITQ=jiad-3(Cx*DE`L!Go(x)#-;S(n`x$xIYYC&|wMS+y_JniF zYTLc_zvnZio&3lrb7XaV?~i1UKis!%0pIynp7WKQWC_%^-!l_|bAC{*;=q$YfOm~z z`!{@q(}_Xf1eNgCUQRi6Ip}nzT`Q`lw{{|*bn79`G1ky=x}Rz;RdoKdP_xuk3x@dY zq?I>+)Vr;UU;b!#vHCl$oW-xMLrPo~eeqqV0%!25DYQ^<{{0WsFQIlT?N`k+emWOK z4qs~Cj}JDyvcdc-@A!yAQCWU__#<3Hm?6=-iawC=^O2f`X`vyJntIRdg2?JoC?*Rz zKP9Jk*qcO4j?Aq0L;~|Y&{)VSz23w#7**t)^V&@?HfbzA3ow+~98V3_C4Fa0Q%q%7 zYh^6{s}`y4ELuZ%wmH?C={ zH^@w&O3~K8K>8hY=hT1kpI0h4z(Mr;MuP!L)O0UxBnsb{9$*(iE`Qc!>I?=pw< zYmHu!Z?%r}<%f@FMjs-9@}qYb1f%z0KG+x>`?|!4Zt^~|dPFPH;N96^AO(7P>r_}v zXzJ)i+1zg*3h-x6FQ6P5pDo6kipaizF2!&!77OPY&fBMT zbjD9pdkWt{jT>l5INDhy3Hclk8tKc6_iIr0GhrtUo(Ii0Y?ymYm`q;4k`3wjz{LFm z-dY)WatlE%%NnELv^~Nb!S@NQ;cMQWUs>H0jNXe}pM47xSA{*Tw@2ykYy8t6|9A>E zSFg3l*YRodzI1C(^WLFFtL^+t?S5j;O|$kCwQz3hjSniTU#cu7o?*-rS(i~Uc3Ze5 zJ~W6I#4&gZmRn76e9`aCcKW)%GApVlg!7cFvz%pYa_N8&u;PB_!>13`_Y|FYLnk!K8i^9$PnLMVlxR|* zza>?}W`u?|%D^D!Imw*gGdX3SJ#?S=3TCH~ZMDgkm&{gdvgyirD#1USRA5!uCI1fO z;~EjB$?c)ztsxcGjqqvdKVG^Gf1jPWTFH*BYl^=2QTm=pxRDpLBl|PMFZm)fh8KPz zXTS2|m-`wvX`Q)?0cZq+nC*;UsF@{LPj8~)?bLaXWO>^KjI+-$0ORnGT`@K;4h}n= zJ->6Ai(Zr)Ar6W&y8X}?2Ao#o?%6k`4T!}KXSVvehL4c_zcI2qyIVhmxWY}QRg}4Q zKPZSsziLJj%eU{QXOvmn9+VXNlBVx;euQMjFlmy6&OZ_%GDQ84ao1>g(SUra2avUZ zjGy&_KyrS+N2CtK66-;woKzIxSId+^_*ge6Ypf0u^)*64RyU&D)g? z5)%4Em)i!_3j5EkKyOSViBlmm1HH3B_oWy72ZY29vS?jxmgGtEu39P2RlNn%D|cwF zTGK`Gc&2*DtQx0BE1Yqf8jefM?9)RZNf53&O0CO~KJ;{D&K6Mp-OS>^c0Fz@oEQw} z#R>SiR$OPs50{vs6S`uCZu?N@v+WWEFAXd5Izr`2-gu@dk&F(yTr-B-G-Ei|wI-X; zpmVh;X`w+9EJb#}cRS6rjgHHaFd=PmM!S%8-dZ7A_n9|Zx_q5kB41@Dj&oS*GUS>* z6WyTn7bH5zZ`V)j%%=zClh=G2uY2aDcgm-4x!I2rH_7`i1V}9F3f|?PYm|}IXk_=9 zkfVs`rE}Ncab`$HjO(jpf*J9}OLCh#iCvKy*;f$m?VL(l+^cm&_6_7h zszN}RJgIyrnqAOZc^%Ri<0yL)k-Y=M*y1MTsTC_$cMB<5WQx_@&s#6aF4nBqG0$0C zI&R)SJP=u(8$U0yx4>I>Be}bkmr|y@@T-=2iCc-R%GB~+Uv!8yy|!F;sHQJ`Ua~6s z%==#k|1_?u*86ZDfz9eDvQm&qo730$Yqk9kjN#K^Yd#ohX{mx3shP`>i*Zj#L&7JN zSHFlAv0nBP$6w{Gy@G<{M|x|&C(qNowO8`2tp1o7=k*%f*13~;N~VE@m>;-j>a5}Z zaW%DEYZKrE_CzVOaddN-*8;T(*5IRlDCRa!DyW*tI;W$L^Y>Byn!_V@2d96 z_Oj)9eD`}-eK6Uc5yHxerM2X-1NmwGal;pQ=N}_w?UIR!4-aSaA+ooZ_n~<(nAL=6 zeCR(cDyuW+1wAdD+XFxPXohdzu3I3U-@4)HHr7gM()~yKZ2#~XIQ19%y%%9gBdLre zwBo1R&f!HI<@ow!+bR5r2A-r_!$(DHo}L#IP|g6xW29*?q01J5O_&;^nGfOz>zzM~ zH(5vn8D`Bt`h143sGaCtlk6EM^|CYP*yA5+ zxar0lZ|vB;abI)i(4u`l&nEkFb~W0)!7rK*r2Fjrvsh1L)V;)p#|Lb9q))PkA8+@w ze0INn4UY~lf25<$vtE>)7NhKBs-{!aTGY%P>2Vg*H!O)#Vb4R0aZ41P?~x5|8* zdDEIIh37p2UHD%7`%InxX@ti;}qR+{~t8v^``-fcKk^H z*k@EwNdf`nZT)?wR4&BK#-OlC zj#6N8HzeJ>wIaj2Pm4Y6fz8{sl$_#iV0|fQI=k7X6yc_#AUd)_H?H=uVZI%Z89o(=VIA@D~lALAy9MbXN|^z#(}LJQL=!+G-|brRLnBXQzBNrnIOl~(wN zZw{*P=9CKaQY!4Rj@v1ltmDV2bsW>U?VchR04pG~j6EH1w+h3ly>q)`MdhTXnGw#`P z9^?hRiu-@UbA$Fu`R-I2a3Me2d`;N!NO*3R7SKu7X}nC?_(U`Aamha3*na9>pTn|o z)*x*p$E^o){-?hlz-G}Z+zx{RrpxnycDas#1~K*aBwB)8ng!dx?KmiUU`MFX=gh#^ z=DcY>6$EWtKVf22d*5#71kg$hfrH{TxmyN#ava|J0@!=u^>3ZKK?My8c%3Zei=u&V z#k)LOwU>5yX~&U?cJ$}gkncu6vUaXJh#h5MS8gPeTN#dU?!6}A z7vZh_goMU?{;1HEk#N^_=ClDG?aV>dnX(^`=2H-!9Eeu-3*fKpi&o~(YZl4kiv~ox z@FkGRlkjeVY$S_MsA&&q`Wj=Uz*gRHhH~=G%7}AcWfvHu+P8@EpXDkIsP;u0zZ>wp zg8{Fbr+|kTwRP;5VfPa1Txrh3(_9Lh^MXAX&%_`U6jO;EUg|uBSG~K_2%mGmTX<=s z3_}4WCt{P5gSC3l-C=V9Few1w`hx%rVb>wV1T;$tz!_#lYY@&e_;+*7_{+5czh+;{k6cIda?OF3>)_IW-GAZB`6r|}9ls}E3c0>omW@IM15cSK;vy5*U z?O8?gC}NkB&5-ThqI*C07TxiIx9Eo(y+zkIdyB66o44rF-+GHK_^G#O!aSL9?8ip| zGL|kzgV==3Q3@u2%teW@>!xVsqQ_+YZHXLq9OH~FNNlNzT((PJ`Xb*QRdO`cIrfN- zPS@YTx}uOMNr^pqi$G|^OwyK%y(kBQr8-^r=~IR2 z6NNgQv3&z-HZGSEc1bGEw&*o?Jz7dV0!t(ugzB|+S*rd(srMn7z@7b-U3<48sLCS;GQ$0+9T1%w zXkYkuA$+B$D8vN1DBxjewueqaIBf{P@pf*_Tc^T*^gyR`9RW;mL*h1H1rh%-x#WCz zPy%{tj`Oq^oQ#wC ztoaBrrC4acCUog}YXwd4cW0EI7Lqth8R3dT=bT)j{A`#*L}vz!urAQV|7P^w7P^_o z26@OB+sH^w#)kP9KN>Hus;a_P(7_D8J+Z~)FZz(1)Y&xOBPrCMK>C~#0jH(S1PhGI!(B$jN0f3cZU6PL*Vs&5xcR+ICm6|5EIUa!w1&}z0 z6NiVHv(nHsl|2Y{^LW87k>z$C54kC~Yd@D-v^2N;2A&DZ0`v>N~XPi|2O@?QtYC zaaCB)q)9XEtXp=l^tS4<`4u0hih70hnzM+F8l5@cfL_7q6lVIzr9egWW=tW80%its zC1SKr38P^Mx&9SyC%>6x^T(Q5R`!A1gp^tKB+!#(P<&LPkdC!opdhrcx)ox)eRZBG zf$u>J)BH`EL%Fb}lAC{{b&9G+CUWl3J$`R3!;QM1lPNhUC-FWVqaG*qVpY`-N1f$K zv#0caUPisu+PrUQ$2WfaEG%>f8s{iYOWtT>ayoMs`CX4=PonJGqYo+T)@3omw>g#A zQKipCum+=sgSa0jd|l&12J|dIoA3~?->n^_#Q&|b$a6wST}O!oPFGOj!HvpMcFB2^ z6plZcaz;Oh--&i1eNkaymU>+HG-w@L5&g6DvCcr4Yqh6S`%e>G0B5EqrzRX@5>h|) zGG#>WzA;Xek51=hp5@i;&o9!p4Or}$DSYW&O6eA7y>y@SK{GD|8#(-NG%+;Thg6>{ zwpAP7Qj(Mef$5wvRMwiS^~egJ8F8 z;+Jk(r~~^8dfahfDOb0+!}%xkK*B+Nlk&r5g}BleNMFTt3+pm^0nKi=a|$yl$|0%< zQvPy+7|3{L1?*hFyY8^9lWe~+OYFJ_fhND7p$3CO+ns!pooTrwdxrZi{$}5E-wSz1 z=BGKsQm}%^>`PA_URWLtVXOnMGpIoaAR3X>z!_*|&vqpkCvRn8?fk36jN0w;qxT+R zOYSd)i^cHn#P4!pa9~zCJ)I1aD3gs;gv99XxMr;ncDye4221`6KQsC3$&c=3=BT6s zladt-xxGp48c zj06F64}gRwXCNpDTM#Ee^?TpRqf8m8=CeIa(XdS-9>#AzPPi_7b0-+Of@2bI&kVOZ$s6z*^F1!3-QK~hqKYIic-B?u5M$zViq!h%9rf}vEJJ`25J&U? z<4A!K3p~khM(J#Vw;o}PF4v;o=&Tud(hOuuv00ebc0Fawqj;J~PY$RsOO_~yPt(Si zd+YvAmd4*1x?HgXJ}TgY^S2)hgPD=|q$W;ePzPEXpD{U4Bd09uk2qGuokX|w)-I7G z&i9l@XJ2K_C`;wTt;V=k8w?G!p}5%L$!ds((1E911xNXc4G?IqEaYuGkkq=)wJfy8u&?#wBLou@C5mEMcq z`5eJdx)v@Y3+u|7C(}4%3bIT~PddK>MYp)%d>;A_N8T@IpQDUT|4D_UNwN5e?iyV? znUBId@jSPrxFu>Q3$h>Xk%7L``DCL6B!h>B{#{y0Y^%4xDjHbE!X!2PLgRMn7TlOV z5SOC!oeS`FX#Bu@tK^%&JezNZ2jh#y0%hjPM!7SFk|&ePC=~O^mykQZ1Vd*e{pd=Q z{>~8nVZ_IvMsd2L@Tc3&ID6yPgcsrr79_%bvM?!hpLy~Wi}>Wm<4n1~Q%;)svwZYM8|g(i2cTg%KuEoNbSs2zb=?jxQG5}jF)#J#aIbd`xS+246)T2j)B4l&NjuaT*0q-s3aTSJ3{FvQfvD&f>nqb4L4 zkBQn-J)eZ2ui_z5>QjuvOXSPm--vNoL)y9R+RSdqb{3}0;GF)pYW89a zxDL@Q^PV`uZDOIZS#s(B#bqw`5Fs z$?9nmqlUlN3Bl4dD!Gdj;(e4^bDw?>YdV76jW31{k>)%y#T|X>D#A1=_62Y4>6EC5 z-Z=(Ch_|+lj6|~;6=2o5;9WBwCBT#!$hnmQ7JFVQ*l|g)nNl}V?wpn%X*0gwKr>83 zsY$?$Fxd6#0lTj*PGBb{%5`GY+ZpnYMXwHlMC z&@&iaDH)wJc4JAZju8c%1&e$^2>sz*v#@#e6IrOuIXBJ$=UD~L<_cs>vczZWqPyaurCYLkFhso#U>V)j?QR%w<1M+S$}!GUNHDW<5K^Blu!Kv7v1B+6mrJb@wUdcmOdGbiBn0N-4q8v?3cK`v9++js+R}u^+)@z@ z%!Sl~r*q#&LeB6=+y|YTD$>$U?DPU6viBBm-L(RJMy325hs#STKigO{L2f2*Yu)qx zzzB^_{Ij{~di9u%p@H)G2>smI^*KDXB6{MNzx=+!LA)BhaUVe)1m$mp%3oChR@)H% zZQD-11g$5`*2ELCnH*CmCE&W|qoGW#QdK@**rE9ImV7ScPGAwfis~L?d<)u0MpIqX zt?nmMU0t#|Z{6v@zj0yP9sjk`KZ-g>rP2pfT5)it)2a02how>x^F?m01Ke8krB-iB ztqmw0Z3mi}UDI zL0*}pZoJg}fYcqEIEK<`v5BMP;oR_hrX@2^duzWh86r*Sl4g?#HKjpvbshMyT7n&| z=Fo3SFNp_XWN%;Z6XNsG78Z#?2qnApMDTuI+R)WgN#utt>W=)o0fYQj8t=SynE)}! z&p{_`Q@`MD$Upl`3i3}2&HfLNmqFHrytLOKKWj6{GcXkS)n2Z3UyYj$ZG-YZj&w(U zsEfS#g*nHhAio-8O`EvJcBg#&=@jI53eElxkY7Z(B=RU?-r50tVT{$iAq`=vth#3J zkJZv;yzp5JV;@ub6t!<>C?HFb4dDjo(zwZXrC_68O@XDx88D3?sdm-UV6+nb_&MQR z<7MTXQAK&F?+NPjH8g3hxtrfYgyr&{BEr^{BTHC!3043iCS7!;0P=NilBwo8U&C5c z_*Xp?wxsZCNsk)ulgK)BakS{uRF>fvr)ezj5^h@)#?XRiamQjgrcB(pQNfpt2Rubv zoW0e6b0u`6Ay>&zli1{JHHl4>Noy2q2h&lyNo;UdnM4KK_A{}QY9Q$&c@Vh0FOM;4 zT&7GZ*B!<)QCYk0j{=C*>l29yxYF9iu1x%By_jyNGvGYY%VSOr>EgX8c88tLze`z4 zZ=SQYVqCaBoNbnm@&1zXEApG)je87^*SzVr?pSba{M>vjHy@jvEcy6_`FNK3*x>BB zUhs7A;FifOWpBha5o~ilW1^2gaaesRvTKxD$vOyKz*V8nqu?T~xceC>VQG_w1GBqaHZ=<|#?r z{vFoCl<2i1R9g=-k8#E3Yr!advkhP zo3cNfC6)I0b>-21!&B0ox5d`c+h+%4?q2Xe&`5Ap=0IiUj=PG%kY{$bTgJKWO)20X znoW^(l&^awN0LT~T<5yE^2p^O*Hp=sBvv9G5YyP!iGa1FS*>EPw2r%U?VCLOfgbWn2BJ(B)UlMY61 zI@oBs^#STbX?@c!pNsY24b?f74+l;@a);dVJWw&Koh^e*|(Q-sIT0r%*H^> z&+qdSYfELG`FUw1-b+ayKM5u{8iubJFaj9o$}c2P#Q??>?T=^L7ve)c`*`_Ir1gpc z1@?vMd^kcr6v~G}`$A9MOLG{PJ%niPAwJE#T??fZ;+u=NA6MF2FEhddT;oh@9t*TY zzR3;`n9EL7$Q$6$cOU1~;p^rnbWDaHiM4A}iym2T7_+|J#j@SAW zU9n?xu(~za{9%UAo;E#gl0AN0Wp(F;_V{mgpT>Fc-|d}ktI0>a4`1_VLw%n2eH#xD z3Zw-0?!^=B{Bx|TXSpd_eBtMoSFhvb9xh;kCz)xRf*!V@a@M(7wpn9NHrb+;%j|sCta+JAeb@9A*_-WsXgnNd5xXgC+G|WZ z)%go03}EN>Mn1Evyo|qT8a5X{;KhNWJ>m*1=olpOoLe9P*yIH>YM#V-z&|qZtST5) z3(3-;TV|5j>LDGh)@Fa$ut^!+MDmJngG9L%q!R_SNa3-fofh)t(S>4e7Qd(>XY;(g`i99dloziE(2NYcnEQPB_1# zWc`k3tIF!Gk||WbPT8ue1+s5SR1~nj(c2O*nYjIMF1a|yQQrJ9K0f)Us-KOrcEcN} z7FH}$vn&m_Q+T|>v)g(nXzhdf^BkK=)K?UX%lzx6sD0&tGgr!aVtjv+n#W6%D?Fb{ z$pg*|lNLI|XAkBK_ttVd|6ODj(Y1mZeS%h>^0BYobrd2wJ4iqs@!7T1Gw$DqSJ!&< zy@>3(E@;&>=|ue|np-7T(Z4Lgk6zxmzoHw_taqGq(8nYDht9qgR4zt*V$y4nkz(W_ z^qZQ6C)8dc4f~2aom%E1f<87?WYn~{7Y!c}QhV8lCbY#Ll0l8@o-EFu1V)943VqXkwC=Brb^F$Tu_`S-R&F+ zC}=C8i{*&vZpWiY9L`lGRsXx0^Qzrurwzoj%!_=}d(Obb1T+}VX>gjUyzNP*605~u z)Fg96b+b#JXUV{Hfsm!xM$(I^L*CkK+$$TAu6I(i=-asOj2FQZOai9J%Y$h0f8i5Y5<5FTjYEW4FDk1 zL3|d8G*zmXiAS~KjievG`hTR9KDUR`kEWFFUi00iEET8OnS-DxaZSU7KH3|EePHyZ zph2tikCv8;zhbWPKtld@I{z^{NJ~jSAO9(OY>`=*EOd6VmyK@hFZvW0EjjLlu<>Wi z+`#F@6Gfp#o!Dul&N&~WPGpE#0<9kp3UX#jrRWJuQ&fipBJ7n^E)8~*ZOZ0OOsOnK zp$?W`%Ev-%=-KJ~mR#26W@o5p^TxgGxcV(;r2PGGWK|P^$-I@Tu>o8L#YN1VpRCQ= zC<2b0!j`7<7wQoWPF8rDXlfBhleC$54T@!be9W}(ijQdD33M+@i|Jip4VnS#1OLd% zrXE259#!FgN5J+SqL0yu;QC~R2Ol<3?W&&C>Vx=Cy-5Z+ku~RdjyHJc3_G~1K&inQ z!?tMKY+%ruIG2_+S*x2r9f}IIaj$=@bAJ|RIBU+3?P)z}mO1>ecq_C|WsVt5!BB4s z-ncOQw*(m}=PPQ~G15d3dzX${Cx?EOnSMPG;b0JRagtz9KWmi;Jt;iD?LvXJ;ri5bi*dH>vjz!tg#bW>PD~0_D8SJ#w|Ka4j~NGJ`pZ_lY7P0-rqJ# zSYO22RxS>x9J@P|!#vSaIktlchw?cWhZvFCvRtWU?}F=;{YBfYz>4tsGG5PJm8V^g z8EFa@H_g>TE@;~ln~*Juva*p-5V|)$#+eMw+T>U;r(6fKf?#3bT_Aor!X4fPc%H!p zE0`rEJjg>Q@-v}m*Q`jJ)i+qZ-5?E_ zhPdIu6^LYp<%($Kif-+k!DfAYx`$~c0sf2xq(2C!yWo#ae0)UdDAvIL75FO|GGdv8 z&enwN_-Hff;81pywjngBE0F!N$mv*GT>wL(l;8FO=0AfbI6~?J3DlpPPxG< zal*&l8xnq)W3IpWF0aw#1}S^E&J=9cZd9D#v31F;nX>bNN@fmFXw=F`ML7v-i+p*1vv+NR>&&U@~bJI7hdm+`EI8l%yzN66>DdW zJn7oRzO0>fjVBSf@-W-hJ~jSvq3*26ffMgO3fD_J>!oI07A`f*!Uhzl&bA2|>M{_X z>hxwP2JMDcDsKD_tcQv9Itn;NQ+T%~&JrV^*@W!W)Z7WAHi~1(Dw*?NkZlL&w$X_l zqBe$fd8~H$vwW6+^1jr(a-~h}aHS8w89x*}79+#ArWtm`HK5y+~`ibxv z`ozsiUUX=+-AS!#c)x}h=PZ`KL3^n*>3KO7j;>=j8IOqhUrS`009}p&M0|~W4M%B? z+#iv{oTKV$)}k{L%{o%DMr(%)YL*$#Z3m!-&z{5)y}sUucJU)%Ez=AJr)`oPInd8r z*UFoB`6Zs_58(x0dh_TB)m0PyGwQ97geyiMGrp0B#&8Mu}eoE8+T-q<7?b_kefx+kz zK`SqMNwzfwVqDU%ehTsX%li_%o{$h#{c_d|Q9h;ojw_${zr1N_z8$c{%HWGheI9Sx-_%^9Kcd8$EUS{gQhGpR!Eu zUXptw#WMA;(AR3AD@Gfd36W1t<c(CIq2%MTiJnE1;*j81H0m^nGi`<4%?5 zoVDK`EPC6yA61jhqgIx}?smulmT1w5!x`dSd1y_%KRWSLD>9d&@uSG3CKfm6CUR<@ zvS#ezWMJ~BQDn}nw9o+OIc}hKhaX-Ivz#Y}CyI-q&j_~EMH4ne$nr)-^tM?X3B4Wv zjcIUZs3@}c{JV!+tLe|F14f;Bl&?O2xP;7+kUX-EWnSf;_`T=f^{&qf+^)QgdmkHd zW#Pfx;&VGKk+Z9aShjEig~+fhUnDTxW3@!KpU=d|LcF5rn{v#D(J*%FZ_f8VC_PYa zR~3qJ5oZ*1X4V5vFT6y!QAa3}7xYeE&Gm=uI}qXjuF)I_e9if_ zfVP}y)iSJ6LA&B84}9;^ROl&&0j2HOm%|_91}79XJ$|U|zDM)Gyj^L~K5>x*TOIZY za1=JLh(0Ck8u^#ceC9gAkDBHmHzhoS-x2c~TxHvXZxhQByjOapJu?1kzIzofnTKKD( zaVy)b71mQrdH7U<_0tZKF+M8(JszRU^aB6{y6|*X+L=?iX@&oAb}#9H3T{pOIF6&9 z=3$r3WV7BlbDCrt+)FYiGVVaZVOyla`g0lp*%_&@p39au?g#C7&lmZaK=LbvG8G;I zkeM*-&bqhSF@;P$F)ip(szJa!->SJ_-G)0h?JeXLO56#d6dLXz0=}F>Wl*k66H5v> z1d*Vee~3^nqLee#b_pm3mZzT+8j71?7b*WCq-@L+NYRx-Oy@7`=O2cQp;2s-ORJ!X z;DJw(+GIMM4aW&b^NUE^2Fy)>iJxwAB)(n7x5GjB2@rZBV0p*808vIOIUP@z1gzeI zCdW7g8x9}w@U1G7w(ws_Ai^UU#mx4c$s+d-38~D^Hhc&J&xM#wps_b{eBHs;O6-jpo&ao`nf-*1<|}yqdf~Cjk*;Kbp`4LY(6ln>(Vpxo>o)#GN=N>sgE#~Q zHB)4}H#Epl8WV^sKkSmd%h8`VFQaM6={u$SMEHesDx%K_#p6e^r^6YIaY|utoow2e z{ykHJ?PBZHa~Capg*{Y28LoF`0U!32f$vedBgeM7GJNJ-L5721)B@w65*6bV2PCnu zphOnTovZQ?)vgFc{+G?ok><8ZPj)posw&K3=(G7b3N%oFKGacT@K!=PPwICg@(&&l zd))RpNBmvtO6Wr_%AqQ0z!XEgfn9@x>)d2i;4hvXzanU_97R*LCh7M_U(gY8KDN$^ zBE+P*&BOW4Mwk2JXDYlfhV@6A;3Id0x?r5CT0ER>SOgDWU^Ci!vJ@Xo>$czG3Z`)n zIHrxP-4|qsA_gN+2SeRm+qeM~Q}-hnV5j~=23YCHYjLFg@#{$!-T&8cKKi@D*>MeU zzI`PDr`$rLc}dU#DZAtalj$#akSV_AFqwX7GFg(Tb&R+Xo3(Y9l4sRCiB7f1ANBg9 zcV|W~#xgXyA0hL7)>glT39yCb_36Imj|;rZFK3yQ=gWDMw+!<@ty zK9)&tzTPGu3cZ_eezdB7lD+uYU)=M+Rd^IMzdXq2*=nsWUhg0FMe%BEKS%kRUrh(t zMcF>q2j1n^)KStS>L7wL3 z^#bVfJRfTjiXWkXR`Yh0FGn6nDxlSVt7_9kyY?&r#DYIiye=^8eg00e&l*L5l@?mN z&e!~MI@XJPObrwqAWOs;F9Y@O(ZI=xSvAXml5U!|*;m}^8`i?#Np>cdl06EhsrePF0>oPHFWv%$`HPB1ze<}{3#9=u*nl`L0b;0v z7~+CxjZSZvVAl>ZxO5|PtD>?-$PA!D18A54+RX10^zZR>R}MQO8~o8KLY~$35lGw> z+C^mihEj<5Wsfx@sr@@9f`{}nc^zZ3dk8<|gEAj-wLF66iw_?q&4f5$Ap-jZtS!Fg^@IGLjfR_V93#U*0F0#|z&_;t#&PcR zToM8H;bi;i;_j55Oc()Nf_%*z!0i)ZXiDBXUWUJbD5WUicFD){-RF5E0&dr2d&wbu zJ=x~`dBFPG*Zd0b9Oxdfm*jV&EPHeV$n>IQ@_Rm2>RLCfV8pR;Rk;M~v^9M#n*oF} zfMugK%iy<7#2F;WTIE7mran;oim&)Z|LB=Z05KGqwMlM_0or7H@krCcR|3Uf2Zp`q zD}E*5iTg9AZ&I>HXU-24e;g?O4`r9SWtaKv`MHW=C0l+;X3nU@wd_5EVjENr6mRs8 zu59A}3OaHqjqib$9LV=suSlVQ=QAOuulQU4=o{AZ9|Sf?sZ6OVzy&f1QE({9e2nnX zRW1BqMlTPAf=B)~{?4t2H;cdMfqbKDT1VF`@fW|={Myh-_L8BJ-Ib)pYbM*%jsqLyn&FRC8k`s z)g8LU@B1_4M=AkE2bx9)HWlw}ZV|-N3}V{&;+8{O?jKzPt!kF}insY_ir=c)K zcEEop&@zfp@5~1Nx41=D{4XiA$&5F*p#ghEH{$g323STTDgB;rL>@6>1I0UO-3I0ZQNx%%bV5~z;m2!IIN&)TBj%8Cw!+hmE}6XpR);CE7XjlAu|V-I8DU_T ze=s%j2L`N|!A=Ev*XUwMu4hQDIM!5<5fSJ+dw^w*gD-x{H zt@SBGYm&WUwB${;7GZnN!L5Z>LL_>nhQTG33ezu}Y}YC`;MCgS$_hepaoN;CEoW@` ziya+XnULJ(v zc8s;rpVRCg_BrJP!(#rNZZF{rwnsdJJF zJce{@*N|RTB2DmH@1Sl#^Zr7}oVNnQ*0IIy8}?=(=QC8;Vi1T{Zt@p@FuHQX=*lI` zXozQzY5X={PRuv#ZDG7&O-eMK)DvS4L{mm7O68w`r^%6=z5!8U526Mo(vMmC4eYzG;%%#jb7%mkFJe z%VgFZ_F^E%LAyuy+$zeH8Q*kp4eXK}-(8IMwJ%2s38QWC=X}~DqoH(6M?y?r;VVWS zDVH=Hp3^pqzwWTF{W*>fU&Cq4s*DsJv`9S#!OXgNkf9z-Aw{e={KMAxbK*F;5!u<5 znfrCjrcSVodQ}0KU=6Razyzj@xFLr!n+#vY0SVgUuYrhd;GtQ!NxpBeF=U@fSqawt&zng~Kg&we<{8!0ctAVjQHnA zVh{>%>EJEisAG4;2R>=ka;Amyd;j3_9*n>pF%*{kC!48_8me8ngd zEL&b>8Va*sUoj*}hL@oPyg-61;(S7dSJD}d$bsS*3K%s_Vs&K@YcnL6+_km}cv!H> zWD{oiX=O<2Fw*W-B-UeE4OS0-aa_qDEGHrf6-XpM#i|%`RSdcHLJ$#FPy+9?C8wAQ zw*-n;2a4BEmZgxy8`mWROCgz?5`*nOKBHQqqGXv;E;Se%=s+S((3%W65~J%|mmIA1 z4kE=HaKzvMw~^>VZwClb(GBzxopl4_>IPW?iZayC)U+{4kc4s<@O)zkA_FM~yCTq3 z^F^4BG=*Y_xIpo?iT1QoxI(o$ztH{V^wBbsq_>2AlkLY`elP>$RR+eHNg}XrdMUlQ z1tu;2R&c7o)hv*aPJ;@&6M@+GU+8FU4Or=cj5{&|)*YGD1{Y^sknOWBz#h@!%b3v5 zXHDoA$haymU|q!xXY1JCnYqa0t&0;QD&-WI9Q#s-e&;C?5-||=t-20-q1vRyb3EZu z{#mB=dBUT-tbJY5rQG^F@&QLMl5XXZPdscO<5(U`_nZ*8i6EucpI+IG=hT6B8yCeU z^t)^7nR&4Zd3!#1eT{Agx?8tZ=1z7@suCr=!oGEIboMl&yOnb7d4x-CBb{UJI@RnI z74755R;h_Q?3Ax)@6kzpXu@nkrfXKA?|I4^oxe)Ff<^?5w&r+8AU`ytiECQhTOG~Kt6 zO_+27O|XB$)?)LgfXp9mUh{nQQ-|XzEuX1y>hN@5y?=N{bRxG)yIH3Wci%N{R!ZJp zlDD^R#3b{wDI@QiHzy@;AIaM{I*}`Wl6l>C%}aD+`K~zhm%LtyKG2odeb>B4uz^do zKR18=aLH~wRgwp65`5Fc;Tnz)YSaskf#Q*H2G)P>?Fv|*Ot3S*7`yte%*f;d4=3g^ zk%P~1p34fXiTTm{*r;a*_eDrrVc$2HosIMF?q4ph*6hoBAN&>H%^q2K(E;%&)#HPo zIeXS789~nywzkQ}#MhNYU%CB*7nt&oa<)&-Qb4HxFAq~3UEf=FUIe2Lo$rH=-*e}* z`1ne~h&F%LOF~-`^M<32%BRJkCtLgmMcK>6L85wEkQVD+%xBI}AS4_l4im0G?!?6F zv$+jJD&}?RrGE21)HDCZ8-vBo!NzMR-jn-r$zyNJ8HWy`awZO2+?9|yAxIRiBD@4z z+4{be4-13EEpAsviD27b$wU}r;-rk-n7BmQWWcP5M>;pZ;Z<>DFlTR&-H^ySw*BNw z_%o9!^>5-{F&*86KDpi;F|<#6YH@y=uf29~8LZ(64J(hXnASx9HV)&rY^9trg5CRA zt$yUYICyDZdB?>7H@W>~;Z=>|4a~km70|><;+vBt)jj{^w#hCbQVf|&^RD5Vp+{;H zyAHIu{{Tk5%vdbl9zR^H{G?i0te^kEGcLlL*Vk}Uz*>}Yk1PUdz+=_69=dz3OKj6=sLPSkRbB%GoN z+nlFy!_-bTt%_w`Mk;(@<^^(JD7lA_+sYaRqRGZ@=io09VP@jg$rS|%2TMNgj~IU)is7^__)Y4Xqg6swI$!PGCAk(6I-zpg1e=y&a! zx!nrXM$!N-Lnr#E5_AG|@OdvkRp_$CxF_|1AJvriwuOYVzJI~2^Olys)7f1Xl{^(PJZh7_E zc0&bEXgERO$~hT-L3I57#$@o8xn#4`5_DLA!qk+oz;6R(r3WlstH z{>yyVwf8F=ShE)0p>e8#ekIUfxCBtntyGcp@BfxB>lmdqYty_7TKM66K_tB!+fDf& zcRu|4&bZr4u+faFyhsy@bO4{s@@N$?^(QcA1@ON)R!%H z7k>$MYz){l`gI1zemi?YfRFCRbW3SJ`u5A*;EyqlyXtQq^^q!CgnLNfxO{5y)64X8E}fv z`qn4cyKvN!qac;sA%GX+NfM;P9r3wPfMX%v#{(}ARe(#pUz}U>0^`03)(X^e-vHiL zkVH;%_s4%bZ$8nH%LfT z$<+2c-pi{uAyCr2wGuxeDL_t53J~$~hW#5Jh5fG`%KQHlo&s|;hj`@7UyoR zJX=j*=jKlbd$516^+i7N`ieFol?aNrrc4+ig#W-(2iL5;5H!8-BX2Nj2Q4>D|Bd%l0y4n(kWI53pI@x8z_z?HQ(E=c90Qjul@nraB zr)U2mnI2Mob5;rUjj|d-$|pvnI1;7$3#DX}*w-doY6d;)tU75**5i{|52}(H-6}oF z490gU6{68pB(JlD!*JhOWf#Q1CbJ$|r8L!9kj!wnDmB|p$!w`OrLh69jMjwU{RA-4dI2cci*k{p z3`0Bf2z>R5T2s}RaKS<2)J@khX~beIDIx@#Z{8=J$Sz;=C;fc$cFHSTCY<8LlZ0Kf z3hVwgWv)1_u%1?h%KhoLmZ&xrH40mbX4fT{anBUNJahr0aNRK~bEM90l1x6OO0pgu z@nj$+Pb@@BH{Fhw9lBdqFwEbj&s@yU6MrbHI$}MPE|=7o?vm8aDJvLU;1lP}3bC4i z*$P6{qR?L>#kYrb)pcp4^iqBjw999`>zntHkR;d~FTf2+j*o5U47L^69<*z=J2x}` ziqJU5&Bn6FBwTC~BuZ*ocGqfbPet^Gy=GvkhHr2fV{q7V5jadUIE;&wzRJ(E(3#SJ zW~ZM<8EoF(PY}Ut374rZEV$2CmCu7J>skn;)b#2eZSCz+(-$Fa?a7hS8Cuhjc{|`R z=r`RoVg7eRJLg{e12ZYn4#v~;%cY=Bz0}BdB*X;$cQw@Pk6yxyl3Sz3^CobQa z4l?I+FJ(+(% zW^?k!WPO>e7%TNhR}jFCjdB7;&P#M+^$DMzbOP6KoYEQ`-<1{$v?vMGxlgO^$w@V3 zY;e`0oE`jg#cirYH>N51-*}qmZ-Z4&{rK zN2GL1Y(`p|oP91Wm5);rh_=aasIX5wpRZisT2OJDd#k%|B?&N#W1@$O(|fwub>wb> z>@;tksy5u5hc0{foW`_5@)pVYB=)Nu>v@UF8oIfs^^vlcHEnqIMeN51JzPII;3?W2 z9Q(%IN5)5%bJ;Mw@l*Y>=B`2Itgr|^%x$#)4{z@RA7ybh{_m26BuLnBHCmNKqXw^u z7)=Bu3%jseHi#kxtyC3S|F7;ZPzcCvMp z%+t8rt$y<{g9<6RJz0s}$*6R6#Oxbn($m=yw-8djW-;mQ5!XpLAmQeW?@12R$#a85 z2WK!@n==LzmVYQwrz}V9$7{6MiLTfvHOGI2huf5~F0>}6TPU7eV|$yJ#D3O% z?@GEP|C;Z8$^-}rwPh~0H{bi56Bn>o%W_g}x58DF=XaNxug(K-j?Y*MUXNjUYfDPSlK>5fQJ^8zGkIdPS?gc6+q{ zVl$#TLF~0>a}PN|P0dWU(7~_e%B`h6I8gpY_(ZJtsrpYC6Fu9*IYE1Pp*l4t+`$Qj z2$76)n&czjZW^gjzXB!QB$R23M%^R?)YFr@Em5o^b7DJ5JkA?Y6a+XOVrfHAH zXG$Lu?>e~4GO+?(z`8il+#{c+oH%=IkqM>lsdAkZwBFRmDP!z0e!BI6M)-fLL#(G+ zS(WA3B5B2LRfnD8@Icu+WK?b?6OK$?Hba~cp>`PIOi+5kLrJ|c=3d%#kBIR`s)yJY zA&^Dtcb}%a>c#$%5JgFZD9(|@4n}~bz>S0BggIeTbzl7+`bVK#DYUwnu{W??WnPif?=L1j6%u5r#{}gXsn@-H>(@hQi zs3ATt@w^+d!^XN>#WH03URdU>6H#g)ma}Csjo(HX$MK2A-{weAKSigP{)KcTlv~we zY%9d^AU!cFFnzC%vBv+SMqtZhAd!ZsgqAJheF`FgbX)ekc* zms6$jnev7p+hFZ1Z{5W@Ip=r*+)KFOF8&y-odn=U^4rpf@d{b_hJ-Gg&!%UM&N6A5 zm~N(!7GUV>+Gh3nTydAQkWrBo5K~`6{WnYf^OE&9aDr+1nWVFo!jb$Bd9>g{?cxN$9v3WKcG zbNFKh?MJwbX?a7Z4}8*nA*05l&k*FzLB!y>nE_{|0)*}+D+RDL74E7Bw zgWj*L7a=E$@AJFOo$(8pE5;h^m5bkv^bSV-xo&MtDE{3bw*y$ZVtSUTfh~tb(#}Io zCj7eydc1WqfdKpoYB96zZXyieD>=73E1MfvYBE-Oig&SekbvSQ2a1tE5wGsVqQyqs zN}{@rvp4+(iSo%61XuT*Hn*$Sk(#BDnpB#_rE%%c&%FltN2>e&cBs96w(0ZXMP}GH z!&rAMTK@x+XB&A|YsNdmF{cfH}TWd{|M9iDrkajxAZ?p3-`x zHt~jjH3v^ty+F|6qA#)+ocI1Aj`$Gc zqn*k@c|zhO9E|d`CPq4Znr!5B>$V*ImK7^X+cYIx&FRslDm0+$kS}XKRvJBn#Np&OolpQDOwyV}o-pm)EZw_oor=oL%RYG)tmOegfteOG$3Bgr)CF3QUe8CKEHy+Cq(I{MPz(P-1;xcFYOyaUZG2o~2Ry zn56g{F?3ijcE+Hp=PrO`{hbodMQr#60&HkiTa5)&qy!W(Q%ZfYEnVKyhx-PmZ;|a* zsO!nU-rpYg=-bb&>d)&$>a##R5jT44IB~eN=)K_<8k4=?FZ*$_t@lHyvoj~_IkN~P zk5y>~WrO-#T4ImuLW3Rj6)BOdC0WoswKMfIU#-JWoDc%-TQZrgNIlVQe3p8s+xR>+ zznge_VZQo%TXOL1g+=PE)Xyx{ocfuk>QX=RRbXI;nUK0DJpBr$qH>v<$J>_v70YrURei}%k(EVEtpAWCO) z=un0}jdr4O-4hkDKHpKh60_)BN_ND^yd5U(t;JF%rXeki#0{=_J)EtZuX!aPPbTOCeQa`iQ|D=BAsbA>Nj&ogfMDa67+0dASpre~O;vzo9pcLWK z(+JnGDv1y=j5RQa2-8#@v4|?asFT83)`-WizSXtT5wb{CT+C{H^qB<23Jc#47{kpU>_S z81fcItoy4Uy>qxdevwmnESVe!RVW&-jh`%9xDZ?>%VR%BcU4S!VGWX^A;m9@~;N-*dNI_Q_zqZvetwAb3j6*xAjtp7G9#l_=!l>BDvN}*DX;v zRx_0U(cxSG)*OIIjZUo%t&`bT1mE-cNuYNm`=+zh@VeyQ4{hfnk@ zo+-PboZ7A=pbi}tHg-MsNsB#;1H{ye_`#Xqn;^Dy+Fws(qN%UBy3ya9=#`WZkW<(LjZNNS*vz{d=)HTsKXR zOU_5(0WLdN!(;A*Dt5?$^cs`;0;%;i)YlN>&+2^ssKI2=)F^(11}0kd$*eoZd+TPH zA`eKB#hr_MvOQ6RbM}oU-wl%QzRvm9CGs&d6FQzEbG0I02V#|9d+XB4Zv+`~G*Vlj zzl@yTj-1V=D-&uQbFfDTVo%Rv8f$5cdY~_?9;S=I$Mn_2wyWFcYCb&6`}AS$ao01r z!lnLlk6;R(96aVcGh1Uy4zmVRgSHE%IP6I3FG;NzYTPhGGUW3|?fU?+!9eLQ^4c1a z?QwrAKxm1v%!xlfsNGK|zh~+1^>SpmM7Evp2AZ*pB~){_*#NA~=m=t?QT#==a(^pd z+GBQX_@H`LJfM{30*dO1T!FQ3jvSGT;+c-j6&xD;e|$Rtdnu6uun&Oc`fYkH=y_fm z7I#a#)S34|7Ht%R-!@PrU2wNP3C4tgsKcJ*20)kT&BKGpR_$X){rWy(@I5smTT`zg z(1^C7pu3i@P^@x;SI<_XZ38qck;o=}NO zcAF!EwGDS%5Y~)Al8;#=ifxp;ip*MZaE)ix>t@-V#!RE$-mJhJkJFCMJBQU-|99Po z(jVNWPZwL&JzQJW?=q1=6S+yVE${T~`YIPpq;@UpEw74*Gtp@sYZ;R4KE-S!LvI_J2)v(3>_{l(IZS zF@IaVe3%Q7RkgA>@9eE^1{C~N4|a(K^RJWZv>Q=&a+t-PxVNrCSDaG;^hS6rVj#1$ ze(|oun`kXW_2EJ1Q;+zgWMjlRB+58HBPTsa2)k=FVVA0ZSl|DDpMlt_PT{(oyQeTx zsqc~qx?a1L28G}?bTl}G2IGTufjcN5+v**)Zr6298?vqwMPDtO)5(uA3*#pV8x$-3 zIW=jFoAFuqh684IUIc`di;3)#+-QZ+$`@hbjI$nF{1Lx1YZw3SdsF<-RmIRb*96m+nHzfbS9NO zqG=+U0I=N0a$Ef;!t#%C5H(x1>9s@7{M|n`-yQB-zs)2bycv4g8#T1#+8Hy7sF9&rUps`k}G?ePM3@J*pu#%(N^XM`Q8|Bk8lQ>pe0e1Rlq ze0PjF`f#Fut{vmO7DDwR5FPQ=WdII>Vu( z8$DlPe#rVri_)>Dp^G&)(hcCFq%MUfVxg#%FpEEm-{!58>BnT9M7svwMMM~QAAUQ* zRtybUH)bIpo0}f8X6K4hD}i}=di@(k?Y>(579fzF<(v3!1)4~Z?)-E7DMysNql=iY zLLZ~hUergs7_z9v?OKoD*`Ihct?JObkiGjtT*A};O`%gVqJOy7#R&BX*#Xc~0o$8i z81ncrmbMee99oFCUDXDAabSoSgzSuo{FGckV75%bFs^f!JLc)gxV=8ZPKTZ=}ueMYk`M^G`FlYO59xl@_Tj zOC*cM*>A)@ZlJ2Hl&S*F&Fu_ASrc5b&ap*uq&7y5uNYr)fIF#UmE_=lA_>lFSH8Cj;Oy;lODR{I}?%mclEluHgHs)a73hs)}(W%@xhWOSuXderu1LTLC?(l$mkL;2!?<80A*`JXM<^-mK9cz+K&Z$qX=6O_aR>vGRn|Nk3gn=kI)OJ*zdixzPhLObt zBF|LX1Go}xUpQxgh%B(udy=g1%Mu?|>e5Rzvy}<2wD6pG#A?3IGuQ`(zUERbOpx_^Oc2aZ z29`?eT&CmFpu1;_=v`C~tBzd2>griNuiZ5lkWMfds1y3o1*8ZYj02Kz;iwFI%hxU7 zk?C4@{IAl8r_w%GM8=uk{r-G+q_2|qlZor04*@sGTU7kraeK!x6(E}ZdKhJS_w)~& zF<`++jA!d1tsko4C@lsKHom3mS+22g!BKy{iO(Zm9WOeF)Fb8n-e_fhR&e@za-V2i zC@odD!!zmLT7K-K%osp}f;7~#{j%(kZ?}ij1S4rvmjtbo;$ClE(CI&`+|b94A&I;$ zYNPGpoXYZZQ{BSuQHNoU4Q9lzYjjQXdAmXw`c?d0~p`5ziQ)oV(Q$hZHh`lT^U!A3v@BIx>3e;{0VEr2%xq zgM`hDeSs5l9ba;rm=8o|r8rWt!puN?^V?S?tUiFoO&4QLP98Zb9J=sk_A)b;gvf$y}jOu6H31i%~DfQmUJXt z+`l`VwU-ow_65mq97eR_eNHG=ocjun3OpolRwaDPd_SvRh#yd$NKrWhPB2hm6d+*F z&Xbr&#%18%u`oY=rV$rP+!^Ew#QfF4a?a%SubC>={z$6Wqb|XGfVp@-id3y*!6zKj zSJhgPnr6T3>Mn7$@KQPhc%VJP72T1CJd}Ao4LxF0HbuYcF{d|Q*3^gajyXOKKM~ZR z&E}cDvi2^iVAQ0de29G+-^319o8g z8s4H;8$VTx=MvNGua>3D3|=V?$(%Y9O$4l%=()%H)3E0!GiXR!$)J^pUq@ZaD#LfI z+v{mKNfbt<{hHxKlFw5kYu~v})d!6D)MUlt6C2X%t(&Y{&&iz$2BL&hF!0K&VBmNf z)lG@M&Jj(CVuo(&4Jit;Tx=Nm!!#LX5UwQx^#0{~Di@AFrSe%)`SU%b^7e=?@XV5* z>wm`u%U`~u6y9isE7DKh@CVA{v=GANsaZm1k=TmopBJ7K2U(sPR9krSNH=+%PDSDK z8hS~SlI7LE8YROk$P$~q2^|g{J(W$KlG=83%Lvl&_Ov`UdQ)I&C{{S3r7!4CMOn0J zxhry2wCW-E!n3f|aQYqeYOd+k``6Jcp%N**`o$~sYB%r*Ft|OHR@lqi^mPwjvU!KRj0dFZ1>*wt z!}{$*`J|=cf%UZ-meNasg=Utj_jUt+EL50}Gu6QK1A0=ks7pv!LsgQ@dul>5H}tGv z^@k%q>&a_@2-kiqFp57#uprlyQiCt@hTQ zpT)wBDtBZzm5+(dFM}3UEyr!#asdiwGW^s6Qq;fP-SSIz9-q5vdCLO?AZRNC<$l30 z6HtiaXV*IToxh7@8K~br&YU|pCFlQ|oXv@xmnCw}C8x8l0pv(;<%u;J-+UDA9>$SZ z9ip%3snJ?<(S>=SZMUFp&VYImIU4!F(&xFiwq5|YW=81;`s+y!+8l(KeZk=LL-i*c zKu-ctl@E~mU56YQ5Hoq}PSL43E>g_~a=%nBT&jBhC1%C*gk143t8%Ms4IOvh0){@5 zEBABhyl^!82DsX)hF0&#SKI6Xp|r@>_}ND*_R_OmihT{&Uum6Rn0V;dtz-^1ThP|A zlSDtM2w2avEpytzEX#!B89?#iVLe<%-1@~A@|Q2YGNZdNWb<^9*w4i4ZV$^L$x&mMC^_4864O8ED3ln+Fom#X->Q@-ry zh2+~8S`o})KUKW++#iqfT3GhmaE$eK(`!AwC2jJ19KV>u>S?{*`gXx~>(zp{N?N_K z;blHMCV+SgntZkf$zOok)(t-EElmGmuFQT+CpW#EV?Qk+ZHe#8M0k)7Gg_Fo7K>T# z!@Oz{P`visbgSy2*mJ}F%Xi^zV&@K6v|&4d!Hp#r?tsQI&b1wIUL&qx3s&kdi|0V$ zE!b5vQdmr9w_)MiH`%`k{3aQ zyq2bIuZ0;a%o3OIdQU=w{3Sav`;{f8F5T~h>?cjfr}nm{K7w`g$KHLq#cN@vl|fk3 z^b-BvB)@c9YJ~S(}o-(FifSf zMu1MQ1xzzy*c@}?m`Bequl>DTYtk|?YWMv$7<0BT7rpTqv18e^p{KuOtqC1RNX*>H zSL-Im*?Os94G@XVJnZ243pUDYxB_f}y(eZ-wRy1|F>D6_Z^|$2i>X20_a?vnJ&a^dT7faP+~s$Ve89_X9euVi z84R}9$}iZ)im~+fpli+p1=yP3RDfC79b$J-n^$I(v7-)>vFAttENdH#jI?`$*B;LnyE1lPpQV4u z+-giF9%Fsb^eWALA-}XHwhNE5K4^Wb;IQ?Mui(X!R~aCTpJLB)3zn%_+01#FxMJ=y z2Nemie*232(o~B8hF??nXI}e`LM!qV_IBOhkM@&sX?i(9LcVrL$k%l2G$A3rg4duB zA7~mfTr7bXtg~MA6}%<%pad(Lujr;;)zo62#V<{LDqx98K1}x73yN?%?2SEF-mtg? zpNV1!@fg3=#L{Bs;5=SJ%$$uvS>#I=D=WCU;B5#3E01aRg|}d%Arjlg=$kelo*)v3 z93ruY=`x)0>+5slOltgDP>1KB4#%vm>OG0!kS=Pn06O0@^nn1g6>p@e1OkhF8=+1o z2sJ49Qb<4n#9=4!c`@gqXRAXWUP;o27J<^x2e18uV(i^Q7{XHFkq|lJ!3a9Ng3YPBm(S;{mm0JQGgnpZ%tYUHOM{urw^)S zbm(T18X$KRx&U(5F`6fLLk-fQ1O9@St!)JdeI*}yOST-H7WD6+1!d3zF{j((_dVbH zrHqayK@KgT3WpYmNkL5Pc0&vLi~ZYzcN4T=D*zh%<42c zZQ|)!nY%T)88$lGlD}XxCO4hUnZ4@UY|bUJgxmtp_32{oU*OBY6@fSVYYApLzddni zKu|nk_+!gYFkAOKtit5h&GIu__dCq&-af0#)_q(8oPsaSs@x6B;l<`b(~F5!dB9nf zx_f5p2CT7J;7LF4?SCwb+2~-MjN{4=w7v*(Y{)mNdIZ53KFV?;z8ol)YX6 z%5?ym+*f;8c>{nZ_xEP&-+tQ1${PT*46BzXq%Z=Q5)c+-i~O=*XrrFpEc<_r3Gl4C zb%6MNkbxY?K<4_f3QYJ|=XVfs_5y9y2zs67i$E_y_a17;G zals-6jR_8Re#H$7K|p%~&~iF)9heJdSYap#Fs=r7{}HxBpvrfkx}-o){#Ru3pW@Bd zzbEU-{|ZovBZ1OX-UI{U0JYKL7nn9`JKFy~b0Pp0IsnZ%6*}w9-UmQ)PIrD!YuW{x z_5sjS05l?%gLz9cOJ7?20??Owg8c_r7=ftBfoS0nO-~O2(ZVym+4}bkO;2Iz#p%Tp zIVo(8HZ2T}*wwKy3{1w@_ZRXL>f4TrRH&;eiF(AIy2r2?oj zXCTLxr%={m4rRqbPlB?-cRew%6W`@fR*rrSWlcDA`HwPQfH>R%aq@^1$~w}atT_D< zheSeI#U)F|H*#khb4O6te}O&20K%qAisC@qOOU9(l|J4#~e%FfKc6=<{hfkj|R`^#-;1@+0>rK0)!dSWH zyd&py&O2Y32=+hitwH#M);GPF)<3{;&YaPX!OVOKn#=wIoD}2PVGHKk9cKknT&#M- zKp^PA!21F7&7nZM&(P-9eQu<@Q+gOMZ~7H|+C!0k(hC#BPnVlzFJ-m62%1zHZ6<}`n`I|)aqO0qxkz(r@s<}@-sRmpLs|< zNCi)iEx~GeEjX&dwEMZH?dK(<-+gF|b<<;@Ov|smY2iX2XBDi!iy8dH`M1?M|F(|h zj3-AF!Py}!XcWBaE!ihk;=scXI}H?aI9=~6IqWS#d*Nka@#Rnou6CJEa3zAQ3%p`k z-RJ(4`I2Vl3t%|7@>@)lSD7!ZPNx$X;#$m^G6MV<`zDz(f?lSK6k*CxL}RpP#A(ooI(aTfD8zjExoo zKE0`kV}<=*uwmiU3XenkWIB4aGXTSp`$`bMi*EqBk2oK5;35n1xwkV_(*NnH@}%xY zY-V3G#vNFo?=_t!NL5Ye*`X&{@9w6CuCrryP*3Nn;ZF+{hB(*_F>VW3QjQ1#Eq_OZ z@S02yk?zR!cweIB5GCFOm>&o}WoW>PInp2SBR%1epDOa(X(AkvUmtCJ-!IE)8eXe~ zqNoJS)5}Cn}%&T_#A+e|ds%pCd%z zpPC?uSd;WPg>-zw{Ls|apLXlzdQBUV6jBgb{E*zg8|Ofv=MYQl42f?Q=^PHj3SP&* zfngKznfQ`5={}K!44rhJI3mz{hLMVjG*o|r9FdC-f`FXwbAQOh$o!^>QB`9Ihwcy) zV?bAQ962$N^BTh2K{O()p{E5UMT8U!K-A1HnBqV9+MQyaWRQ&nBTn>yRXU3@G9A5gkZDN z%7$wwr;tIt+p>F3VYbV*nal~nl$;RE!+7QZPw`%C3v3Zp_vt}*Zv6;9&E65Ip*zxj z_E*^~oDrXM6{4C!UhA;ww`|&`-?FUf_b!T@C-P!h4+!uMdJ8^B^ke#+6a^vwT_h9L>N&JyM&1M{O)ZS=*?$el%*JLtMDv-pcPu4_OQ9#(U(0wE7#|)NOw=ja!={) za|d$Wa|gI*<+%eV1fu%Fq=FlrGRnJnXBB-?LhhC=f9J9&x~`&&W{TGSSGSXx&;~i! zAP*k2-pIe{XyW=^**D;5V(}lZe-=j*w|{ZVa2!oswC|F~a5S;-vObqKj~Z~_%#2?) zkIH-eo#^1^Q70Vt%8u_hkGd&e+UKq|`9kPF2h!F@GnxP?^Ue7e0MfDV&ngC_@+-fdU$B%^g#mMjC z7vsk?*F1VAok`fs+oL}I?csKN;!V+mCxkPj2lFFU@sWD)?E%~|ZWb>F-rC+cz>px$ zCqn65LP{7%6`^#TWn7+~hM#(D{zmt;;RGLzpWE7$YYtNghFS}o$|2WAg`nFCoHeQpQ73el?S0C-{aFU@1 z>;GRT8N&ewCmA!3<|M-hct<+Pn8`c1BIilo!D;`elMHotD*ktLQVceajLc*AfVGAD za86+3PeorF8{eUrzMB<&xN#`3Vygj#U->GbLg!`V6qF$}8I$j3LbC1HufM5nbn8x)SGS=+EOe|<)$^aL(a~#khsqmo-(}{sXdGg#)M~B2n8}DH zh{uQ8#H`ygcwx8>#W+kN><<@<;^dk7B~r5*bG7J7&dYjclrAvv19WQx_E2@~tPBjw z7|mR49VGP#yS%T+ca%NweNw*n_EQ5m{uV=R=p3vG4Edagt|dmv;@r#8sjyCI(XYVl zIk~~|FXs%F*BwK6Jlh;do0nzsWjgu9PEByp*9_>@cc7kHt%1w&0-RCv_z@AS^?QW3 zR&W^B)(={KPGn{5royy9{o{Wy|3onpS1X%84#m!Tm}J*}yxfF)@z6rO%*2VK^t3R` zTX!!hXnyS+C7OUAs{?CA9Yb3PvP=p)#1SoDm25eFvREuadme55VY*j%Rv%twx^(_T z-F0m+qN|sUZ^R~VJBJ#C4V#lY2bJiB;I>^nOMEV9b2pp%-?+@6_GN)|k?5pqlwD~6 z?~?>v>mg~B{qFZklo{o}TfQB}e!+B)^A2HQ)-%`W+6S)m3c@~BwH*kXZrc4RDQ2iT z+C4Mb?l&SV&2*?+grz8(^R~~y$a(umGpN`BpPl|bnpYEV&Tz#C>gb^++9lBs zH1RyFR7aHVsSp9rb~TYWy;YcXWVFVOa#86<@~qA$ziQPV7>15+QqGKn*@A#V|!cos#@a z)<5S&c~>P*Mew0ech*Z0_sjsRd3c)>6;gu33Kx5P7{WO+<8OMzI?Dd@g;AP>I>;J#Q5iw z)gCX@9~+Ys2@OqWBHcx@nMk7EZLr+-JM=Es@~K{s@v=q-gf0#D)}5)V%o)>7nRS$@ z*CxthrKdUI&TepCiN)`f>HZQcSyc9Uw!cSRa1YRF!%E>xE~?YH zCITxAjo~7#J1en!c_~3eA9=5#Bh{P4G>|Axv-4wE`>eShbr8Gu?#E_e(<{&T&K6nH*y+U39$ZM!F?{oRY zV~P4@2n)n;m^$-M#yQbT(notDar3e;^^Da_*+`$CHtFo zSQ`=@A3y$x1T|o}n99RAxIM8w<^^IB_gYZ7Ss z5SMoY28HY%0TfkF-K#sA-ZP~A=A{RQBK3LQOU6(v=jrkRu5m+qbLRXwJ=nBkcqn^K zVCV#RqP9SE4>t)LeV$bnT(hi^{6Q)nPsOs=G_|Bx4()|uM3IMGGPHMGJKAg7IXsa4 zQgG;HSv(1pcE=-a3Ry35q)iVd+oi!Rroo*wNOl@TCp%Ey7Fi-*`bcXz9)sF62I}Q^&n{;tZ3+2_0%d+^*tsR#w zzge~8dex3T#@eI{_m*D@=g2RG@d`PhP%k>Og(XQPWHJ<6h)t9et+D|wE*~>Jt44W3 zC5=J0&gf2%vJ<5A?o(;IEA2}=uw7|236erXp;B8!ayEWw?{@{oK~Pe(T4`x0|r%E?>K`4S(ln<_al@4Bl2&p96HKiJKFYHB&wHFO{1{@7&5r`GTOND z^w%PmlTfa|_Iqv<%p!|m9mKsfMC@K+>+K_1zlG^(CaWYADTxh|aL|byjEb*G$mfKi^U8p4d zL3i(#i_Gy!ta#d!i?xLqNFHxS7Yk*?^#4FtKo139`En}E2$g?4+gPG%(aQeTZ&z79<7%_nXl*a}7q4z7i zPOS^r_g0e~1^*4QK-0#S1?qP|h&)1C$~Vo)2$XL~Anb4t$v75e_0?jhFuGcRbA_*F zr-<+XeGZ6NSfRveOtVG!f7tUY_amGa1IQSHNPMxD0Xxg=ijIAzAqi$ZxYA z4+(i!=knLHYGQAEq#)GGK`|$ru^H{rfBSIpp1sDJwA^R4$-vwq=$s;$Ec96iY9BgA z+OwL@yZjjD-5_}|rQf4;GnyM=Fa}d55PQ(T=nU%1^u@eviI@AVXQkJAv|7F(6pSA7 z+;Orz{W-ClqW_gF8eDX!{TRA&&!6ZFMun&G6l-N523I0>2Cb z?WxP3arK5n;&5+cu*j}zRDSB>$;%3!uxzMrq?Qn*%i7&Oscz9)`PAZQjH(sjIYrj4 zzqbVFv_D4ztTjJWaH=QHE&kNr!9~r|KycAI^Yf|sIV?cViCR;aV;!r~+E-~EM(Dpx zKh4~+S75~qJJg8~&>I8+P@~M~UWv;=sB-IJC(q$pg-gBU}ibwFse z4hWINJF&O?=GIQkk>9M^iG6BEd*W$SSQ+zkMZ@*B)usibIQ&KuG{9=EsC{afjCsX* z;r?Lk{6VtHn{ZC2BHYc*&vd7bI|sh9E|lrW)g=yDU`qbk)pg)ot*#Ha*XX*s#G1wb z`_*-;SpK|1NaN)o>byxV*;hN(S;x{6hZUcu5X=3MmyWW$Zf-lu^7@BfUWdP7d7YOm z8pL~tUS5y05@b1bU1DZ=?J;Ys%QD)9jQC$%Mn|mDUo$kxMdd89?$_2Kv#|CCqRzq! zCl*#>5m{@Hi^5y}du!-s)=#9d>tb!)4>e(J$#~BDch^-gw!mC{rmm~-z~pioV69<= z^_LZvSXg@_+j!bM@}F5)0ljVQ4_f$su7nKUD-=MJPy1(P`x46Ve{5gBM(!fpmwms` zajSB9Vgvi3d4Srnh24p*lCF#F8Y%tHZ(%$I{8oF|GNEVeVGA`Z;TgP$gqp5^NL^sP zouE-rtMkIcpi&od-Rb7NqwHxS^iFUlvJ=0|hA3E)HHQqR%Z_$Xx@Mj-$1fII8|~QC z76={TEw1N|LU{-qKFO|J-nD#vNBO{_sugDCiL}{SbxQ)VaTW5mnGKHjb8HnDUT~Jm z=Sd3#VQTT&GnSe6g_^FLy{@hutGH~?3A$e3vv!y*LkDEb&;i*pe6`cr(Qq{0dz_tq zPGIQh+;LX=xnl2S+)&>+S>r6lVt(WM)qMKKkU#B$G6`>(JxIFaCc}PAuWC4Y^Oi#Bf zm&HPT-B#r?cxkts7=!M&gYLJOTnq;}d28*dK~lqrb!@4V8g2iwe`Y_GSFs!<-9F}! zFU`M#A1zQoN0oiG566H}wNGgVj43Pp*ZCfqq-)q%8zbA8Sh4x#ZXW1%o`USJM;L*a zoUpqc{bWjl47|~q48X-E$Ux)&Nd}(()@0!Jy+@LPh5v8Kz(e4p8!}+6_pAyJW!Jp` zL>6`s1Wf|uaPrTRfiI+MMv6u=5+#RxuA_ zs00H11eIW2Z5L+5|ImMsN+d`_Z>xzdPE(5xBJu7w5Q!<@z=U(9!4VgW^vtp5vBh*j zPL^fz+i|jNzE`$A`4@;D>>Yu|Vqz!L9+QP6V*S|OuJvPc_`eVTd)&qvd&~EP<>+!$ zmGe&^dcbqXHAs@C1!7~_`tWycy}}tgK1NQW$um8}lN-T*&tYc426gNw@QP4!#0va> z$TJ7=s8rR$;@KcfD zZ=oWyo^N)Bvf_!bQL;xA7f%eDP*L&3@0w74@x*Z^lvg|vuicU_w|HWu31t;e9A7;8 zl4Ltm#MFyt)%1`&gyKA2sb9>jBXo&3TYkpt_cH6aJuKnMB_SgzkYe`qkQT{vV`7uW z#V_~d6?!O|M{5BW~T2)%`h9QNCB1#Bi=-QA@g)(lU%>6r^@TI2PL zz~cc+pDhE{Uj%?qZ2AQ5z%(bm+uOd0@x&vaxNG&S@)c%lVFbZY;W62AnhX{8;z>vL zOYFJ%`m=Y_PLoy3EjH*lPqz7$cWc=j0@+e&s4(5+yu2`jR}W5Qna*!dT`AeZg=wBu z<0gPty_cox`LcLD+{(thRrR(5{QJoOqaeBnKAzSSqiaoxB;>b;dC0|xrGYD-AmTU}JQpS0 zZqq}?&02_e%$3&K$`ZUTOx;jv4aT5YWeK(ns~SW0RFb&1i9Op$bwsToXRzc8a*`l9 zgF5F*a+0KTZjy#ec2!yzhKAlubGJ(Iy+j5}Uaz!{4VE-j;wz61x`Zs0yhZ;4B~8*( z@RUnju;h)9g&Do6OM@jCH@A) zWlgCp?5vvGz;GY71g(~95X}S*ccB~&GJ9Rqv|1_`>p-ojXigvoC@`&q`IU87M^1)BC0bMwgmpQ7kS zLJM~lMU_?yLUbZ;$jCz!a{y=b?qogP~2c(O~^^Ml#zuv|=bv|v1|)(eGblZZWe&Tp0}k=+J` z&Tra9`!DjWFPkOtk23S9Z?k#i6wH2sk!xh+HaOVuakmsp?}4K)wu%h_E0E=ljnD0% zt(XFWpyoqxEBGxE!Yh}q+$dJn<=&B5$El`0PX2i$Ggw?;{`EwP9C;&oGVs%{`d~F1-iDPt*iEdcYm&Z<2fBVK14Ss3_rsulu`$iiBM` z*6wRqw%MTmz$BFGz6%}`w`39Yrmkdya+BC{5;uw5%exw8^Jn$x{85ianU2~#PRo6K zi*KSdk)gBs#*kf7O}`TllY<(#L0(Ykt-IP(_J~x*g<@)Dmr7+%yBM#zqu9SUgod=G z*0kXS0qD-ty>-T}ScPBa% zciP{ZXkY3GB-_8s)UowM>Zs~mM=V)~qtaIs5o6{8_1&h_Z>7}y&ZQ4DE-u2e0#+|s6x{UBB@SO4 zs{IQ_$>JW$+ng!oMJk4AU$GwBQzXw>gfXD%cYMkn4L($1o~9-<_4MqN>a$U?%2&I% z@G%J~8qoVBeOT;DH(rTAiOUn9>g)64Cx{0W?3Gg{U_+<&sPgaX3-kdPjFgmnNWszL z)@KD;M@OndLH8RGg;@GEw#-WF745r4;g`yoqQ|1}*=*$u^$4Pnk>)}!k#-2X%1&?> z7jl}N)ao2!FjtH*9&M~NrRnJXTaiTXfo(5DO|~Mi`y~{`o}7iZ4+z@ATowIDls?mf z&FP}<17AMOW&9JxhnUrV&>b19b1wVjFt-g{iW>)>!RYWpCu{PO%%IySb=g;oB9$lx z{6gxD!w4h6C!DXQ$lqERM*^;K8nC7Jz~Sw=)-_+m}u1lMS^&clXe zA60Od(RQ_`5{KaQ+!a5*IW3*vAXkrBYAew}ae}Q|?o9QaCc9g; zFsJ4c@=fL=*CeoO=w7s{muJfi(9>`n(@-q_33s3>ZquC?+<0o9AV${Z6LioGv_ItNp2Jac&{k!cPQ6GOB{rU(DC0es}g&vrZ(d1eb(8r)-z)(9`E*0DzSs1F%Xth~;DQ`9}@ z<*Qk@lC^nsJ^(p*H0mx#UqnYv89iEkXGxo4cQ;%rUIR0zIAonEbLCVS6L!iE)J1c& zwQNjRBCImIz{Xn+btoZq-koKj^w?JHZ+7E+eDfa8;1UjhnL^DR<)LS@sL(s)3l4w2 zOb?H8eAYYOEeA0#vSo)qyUAA@>fzBEAJMkG;S64^$KN!Sq^|vdCFM`|Hhzs($LGdQ z|AP!TIt};wil=+JtYV?v-_a0KD!r%gy!1?8Ee{v~Q?B$sPF?FpGx3aoJ*Sw1Njl_W z$}?w+JS#TvqGQoree0*FnXhz^avF*Tomc4&$P{#2gC&PJR&K+GdIF@L&bMG;-RYwoxdhT^gNQ|k)@#M9a04 zmSC=SNigPj2bxJm#8M$M#C2VBMQ@jDeMKLa+#e6YUhiC{<~DV#^h)a%4B1*8%2?v2 zZ;co>h6H8u!~Q%rt9r(3L|x8Yj!gw)A9&jb6w=DFfSsltW7=Zk-JcbVRSNg(u9pUd zNNs{AWrjq49kRZNel(I7oS6aMxCLVm70N&bWAjf0n*FMXeA<4vZ^&nLu|R!!lriA&H@@OKo1J7Q^YDAFeT>LNU5-%cm@!rG^!NHN72u}2d*P`>_l zpJ>?*!5-{oy!rVMM>6R>=xedikHkDR^lRV)1DL0CFb0h1MPpm$|EQpKdEpeUFgaMI z%R-+b_M^qcm6Yb~UC6yhJ;Z@cUwD*%Fz4M$D_mH_dlQr{_Xg8^g$a?FnH{M|IA*Ft zj*)3DgCqx=_N0gGIWxz_(l2E8t`LrCI(jwvuJBbtkX->@RiLVa(0Q|paQ54-;t)Vh zo)^oku}9Agh=OJ8!DW&g(AgO$P6=2tkhTm)C{_WX#3dIBbi3Op=C?EwDPrtUd1Qs> z?mz1+9NpO!u0r|2P}zGDjmSAVVCM!(9@HyP_`8y*EI)1e5*9pYqdEoX8_aD2;sB9gMN$Chpq;Hgfe$KQfa zE^EHhjlS9o?#l8#w=ZCxG6s8;=$n`^$YOHpfqqXWmaM*sv-HubWc1vlth>>(SZR$c zhPlp)1Jg|OR@noIFERTdXeC&yr-5#L_B|mx!mZFQ53W}AN}?js;-)1wg2t})==DKG zv?WyC5RIzR#%l6+)3~VX9<6bd)2A6e_DGQkO4>$RfOP(uK|uON;4vY~8A6tGg&QN} zD@?fhm^Z~0h62um2icuoFRF;VUa0Q_U4Qf^3^X~XP)1H9=H@)-QPS$YU`2{xfL(IC18mFv#D%P(NZvR_ z%*!{Ax)*r{k=iWO6pZ_ z-Y2LrjCiHBlXnCm?POAmav7c*^@$*IT>VeT&FDWzN!cjRpj`4bz|rA~Wjsa!XIx_$ zZK)rl!GAL4r>P&ij{I=^ksF}~TDEvSWZoj+kgKX5a;YR?*p`HY(&-67oHfTxXQwHr zhWwNopdya8sQ#0-{KUv~i_=(Go%N zcYk=iG?A_T>k?^jI_`e{p&P7F3w6wm6_QCn$W=G%nAy1+1j%@;Oz%l!P(B)MaQlBg z4*&{PNP*adKGDWZPhd?`TUr8@BxRG7#L?b_Y=wRReuao&dZ}H04s7_}&gJ4QkC!w0 z1mpAgb^v0Q+CVDDStjfbpHTHqE<9OHvsBS1$tL9U2PvPp_p$F6x{WuEugN^q9OZWI zqJv5QK)s?>U%NfO7GJ&HLaGHJW9PDy6bT*e(axdhSs8m3exBo5v)&{46l}B4_zFb~ z5XQ^v_V!KA*meS1WIlO<0kNOHk#Zd{eu94T%m(4;)d*n3Wu(hF}R`^ zTS0!Uki2=*)C`lFudXtIA~lhK7VnbxZ1M`>`0QS?%Z;YNqS=uW&(yNWw0env^AP;3 zp-T~7#+@tuM}D21px8emVzm%^^#NvrTEwA5bHz;ly3}&%h-J>B(EE|zx(iI{$Ga)L zjMDXTa|(nu=>p*;K&VMu%R#BH2=NP4f396oY>h6KRm0QX-D*U=me&AWg{eLy)t^SV zp#wOt0QY<1Le}r9`H2ru{o1l%yVn7sM965JFV%h6nx$JILOc-#B`ucImUU#E|F{tu z(D#HHF%Wec(XW}-REf7NW`bRz=NM-n<{0&!gNGwi?=q=(4B-@5AEsXE{z8tG3Cf<_ zlZCl;sc~!uyzDXmj9~15nY+;9wDwDr)G<@~#f?WrKmxs`b+dFFLXjMMCb(WWnfohp zdxWnDEJ6Vrhe;FkslP$QKJ62vije_3%}BD^Clo;j_@wqSN$RJ&*C5v>0{$EK@=NOU zSw3cEp30tve`RF%8zddSqnY$vj%5vh(n4)WJ+ruA>V zDUPS{FVagVM-Lv34A84j1I85%7F)KrPsr1vz>b@g#EWpfkt`KhFw#KJrv;*Od8<9x zOqFM9gm6TXwUjy2<)Y|ZdV9W>--plEPkUvR{n%vZv0!qgJyRfc#|BPL2L%^!9oFDV zCxXmVlXW9P9Uo zRk~HTl@m_`r?(O|GIBi`U%4(Z-c`(-fW1IZ|MS&-PwANq|Nnt0{6{H#TIa$`l7&TQ zA)(fr7A#LMquSLG%eag)s^mOVZvK;E5QPJH+rn6ZmbQc(%ah_Ek&#IpIh&b9=0lq5|-}tr+=ae-a*NCIf_;EEahItYHF;-Jxk-4>4?~XsM zXMn>F8{gX6`?v9J)IqcpE8X7SpK;ow z-g@S6d$g)CD-uLDKQ4_wqk9l=dsg))n8}J31;U>EB7o<`FI0fvbfF5d(nn1t2Hr8W z*zy2PdG%y414-5SksrphM4LRJ_)aygXX$d~5bi#iyDv(_as`->N=v4&FEyw4W2{uO5ROvDD3W-!ddw-C$ka9gx|`hLD`^F}G4_&&g`2 z5X8}?VD^5bbL;fCNM6hJ_X~Am?1o*$Q}aG3hU1G2sUCJtWW3jg$W(5y-2n1^0p#-_ zwri!LQw#)S;unR=KMLn_c^4S6jhnF0kiA@4M$SPDD%pNc{Qx>R7`qCyXt4+vI@{H5 ztAQy8kbF&&Q0y6bL7MqWV;D5na^<4M4p2cz&te)G0kg%Mg z*vvGYRp#rpCU@kt200x{%wEBCLW1(85aYm*x4BgtK_$D?o0<|wisOaD(jsRBrf(urDu3Qk=sxj58jaU2X<16M zdO@~`Y|L~HPA6rgugtQsxDkMsL=UIq0P%2cWMZ@}E8G*K7E2;nK)9fMQv|*S_juFs z<~yLTXO;WBw3;4~^L4%P6FsZ$bXS}=&s}lyT~J&u%CvF2HSUU<_DC-G#^vi5z8CMK z0gCt55F{lr-E9VPWJ@Kt4rk@nYr!x(j$6VjeP|n^Kk~(8LLH0sQDIO7x#Zj|cn-ZGvYZDRoE>zpq@P==`=Q?0lBh50`> zjcUlL#T}`LPZ8#j*45ljP2(q>rXw)@G%FKtxBApfu=JJ1@l$9aa*`LJzh*7ZbgF;K zpfRJaL<5W=Bw>raKk#1daG0IniO<=SEMi7Ev~71;eb;|g!iyE<@E>McP6;*p`PX1Xk7WL zk?h5J}p)!{Q1zqsH6Z~2Q$78DOZJAA_Mb0S6fmv9e1C!Alsu>I`t z@x%`DYAq{0S)1MEFD?9UKk8A}*Xv8wSm~xV1JAAq(ve2C0&jy5%=r0MWF;qV;dW}- zcB)l~-2nRp_5Uj*BUZZ9DfdUpG25WFlofT-=(@zMu#7AVD)My8Owx>qqTBrfhD{_7 zDu03*aQj(Nc2=KV!o)PAwL*;dVcy4QeQvE+XL5feq)A*K8>ON3CTq~2Y7lu3z4sJa#%)h~NpIoNMoESwb9O;g6R50c00#DBzoJhU7 zjyl1}E;U*&D9_?YOfoRQJUFv(C5`HHlvL;aooE5BXa0qsG~IacH)hgJ_@(^%>!Neh z2Zb{Y$(W#Nn{fpWaa_ge+TcOfU)y+5$$@8XR_n}4D=-VpV5*s9S;DU*)|deG4SGO! z=`oK?L*$4*REJ@-OG|!6%!-tl5xaj$%-Y{4HSO#XIg;m3$(U5~#r;v$3Uj@oo&y_n zZ;9SN&IJ~SKaO#yE{pIViNp5R@ceBx0(w7-9cNA5exi)^K$$q+I7lDMZ0v*|5BqV#blYMENW9LFaP%P*5ef?ea z_Y*e0nolOAj+>GYIm*_DWGfe78`S~kuyZ+sk4uB#%4Oz^utL+4n0y)>uOcURLa<`^W1k(8UQu%;acM7trNBs7|#(H zy`5ogMFjQ6ajp&=o#ct8Q?MxDdf#dw75<$$(*K9$luZHMW)#%4r%|osMm(!n|T5%;SNR zR2DsajHl*yC_I6M=SB~wL0PDhz`{OkO5rQm->zf7j$a!+oaL!0(>b#vWi99H(2brN zj|nWyjUMjpsd-R;-4Ho8K4H<}YHA7}yXf#@`7Mqfz9~FScdSJk)Z|wd_|K##OIv3EjbW6q60W>Af6?EiCJ#z?wfvR}Qd2I?yMUWpNvS1;#|Y6K$X?od z;?X*#{6kXySaQW@PU{nv*Cc0-wT#x8M6GO(I_|e=GVLRGs;j@=*Y2&8{!>8~71+7@P$i}$Tx!kb zvQOu{_f;3oTr6ibY4uV=3M6+>ml-(O zE(6x+1m2Se2^U+x83eJWsa4J_oweM=E|QPwqYLBntcis>Dt?>#N&0>aeYZz`xI{hp zmGnj2U<2rIK%g)EC}aAv9|aA-9wT6r#c-agu~NXk*y(>aV6Uc_1{=muiXACfc9z>0 z)?4ersy(?(=2&Z{X2ruNRS$Dv_s80<>*&fYb#S*%qapZO*`V_u3Ms_2L&Gw3(&Egvp&=Kz(9tBk6magdFy^^ zQu~l<2JCLhkk23W0vU{&W8x^;iM;H!wrFya3LB3XF9EjCHTNPL-!cu7$Gzns{XAU*1*MAE;GMyJ! zEe$tF*BFZ5F|E3NzI2rHws19VkEV(Az2S${A)H?sQ;X&6KJMMTzV>(r7Vi+AXF4zF3>F0gQ{lbkO;utpq>2?f?z3bq6mhKH8nC_jvaw=Y zw4zu7+3lOGwJq{kjWZhN$OgM2yhyq;%Pkg^2kVzA=a4u&Ba&$&_305GB&lCxI?*0! zXQH7HZO)4KuzN(?dU@^@vXAkx*uW*9il`#}Zq9zW?H}qrSWkr(bK#3h!>l}e$^e#+ zagDwBUC-i`6mD6=A8w-BxEuZ}LETpP1mMKv|D8o#2mglH_%Y_A28D1}t$)w6ngGNi zd*ZjEpu3d^Ra*@i!LasTF@ic{JaDaz-`subW87ntin-m)z#xtxZZTXug8!Fm`O^)_TLo}mv?`sqiJa~;f_KALzH zJD`pNvro)%*rT#6|I6IizZ|l5YNV-)fWTU7`(KWJ)gI}kv8fN~oZ3yEeKWo3J-}(Czj7v^m;#$n#L6H@n#zZFOTwPa8+|iD|3>7>Iz={><9O>pq!s zuaD#&!?Yf>BM?puhd#r3C0g~AOAJe+#!8NOW?=f-pxe*u!S=96jt3vuRZpqMD!9s7 zD~6`N%`tr@+zOMj7EKYm2j|cI>vBcLUd4;LsT=nDSLB6HiXLe9EPj|{gBOM4ENjwI zlqgSaq@%FJ@speVB1hq1u~g0s8x*P2kgOBTAs2q=iG)c+21N+&`OduY0{vKx>cG zaKRlU_0<5^2?>Rod4U z=Cgw?LjoZSU6A4m&lOR@_q>PT6x<7Ll#d`Eh^}J8D^Sf#tFLBkAjsCo@MCG$3ytK+ zBS+BxAt5;Za6PhJ$uLtge8?Ra8T3(U@ghb!aW4NZsX)0@Rg$CS7K&)>hhj78%xN=T zB=~Pv?^kI2V<^V|1Z#rTzf8{TLT9g}KF}+<9wQgHeYvHOn)F$#UH#4}$)RIqz~X7G zGj>vi)~Vd1@~A-`)7$7>7jIWr5f)d+jN?9`&XtmrAC^jwrEJD9%y*7 z4o0O%fRh^ChnIu5Kgb5fRD6%MO;>s2!LL>t-WJVIe1;rIKZhhT#22df1ouuV<9KlvC zYFnvoEv?oUt3r$#5f?mhSH=Q+=L z&a=8}KGGwYZ(cGcU4fCi`b|5@LsH9Yyvg2iSBH7(Y!5&+Y~T}&0D%GFoF-uQ^sz~p z4TgkIaHj>N4oGZ04{=|+y`@+(RC_;lNjF31DR6#)jIp!rtP8!z_?{E?mGE!K%xOX& z-iY<|yv}09V_h|qL)06>t8aGj;^Ye2ev!0#`LtTEp%xkeLdy>z*P}3Wv=K-MnAvEQ zy+r&jPKd$oWxa7Hh`?$b8+5X4P>m!wD6tHtMSNE^aA>F-?KB3D-eDS^c$mU$)cF`#rVMfI2r;)KJEpG`Ka&`_9FJ@{?_Mr z`7HW%$1Bzw8Mp%~Z3VPRWy$`+cP&IUYa$u&1u>^BU+*7taqc|q+R}e3elh%M;-h7i zVkGV|x00<{KQ%Ox#JWgI;Rc#(R@*9R&cPmxMuDwQC&baW)A@ zn~cX~s~}JZLY640xci|+6wzJAzzMGgJ0S*fj|VeoyQ19{U#rbr{~J-N5)#{8Eu@>8 zt2XmFk^%Z9_UdSuV7Ax}av5`1pHAk;v~`j}M3&9&1^r2Jt%u?e9$29Kjlh_a+<9Fw z%gBpG%Z%?(^j=hI{D7~VC6Q?_MMCQ$^ZshC7;W#hTEI{CwW@p*4|w(9Sr&nYzre&4 z92F>EZTJ6;ycpQ@wnvg}!USBKunQ_fHr;e;v6L zTV|qj7p^z(7Babk^DBa)T47R@)&RRLui0JS;K@g0%;WYZRV}x2DDHqI3Ku8D6?2|g zwM~TvVq99h__iXFAErN|BjT<>uSx*3mguQ!8Z?RcDx6F-2mpwOsw6}C{<>n7v7qcT zj>e`LqDIjKz{vH*qrPN~4dV{pgb{)2GjM(TbXQEV@WPEERb5TaJ!Cts0GXJRwVyDiT*_J%9dAvBa>9wII%A*Vm|&%D*H>R%b@i0G1o@b|FZ;Q5seZW*uS?jfx?gwy z?7CFHUjEx*W1J;*seYYuSY0}O;H8JG)^g;Dam39YJekj!87b!4>-f|4rF4r&YV$rF z6I)E92{q(kmg1Yp>ALs|<{`;?Xp}}7=wYqZ2R*DNbGoj*AKlv^n$C33{#2wYPv{n@3%{l% zX8Y|eahO@@Fzsdr;|YlIt;_)kdLTD_(Ly_K(CmSAZ%b0N;I!?qK?d_|&c9M9YsJ!; zEq7?SVZ45Enh-%8gx8xBu9i7%@JGuw1)D?XPJb^q0A_e&c0aq}h; zH3HhfzGUJt7mkFI`_suV*L!rIsO0?hLg6i~R!bpjt|L)E#!yZo4D2yqU^{?3m5SIP zh*gyfZ!N4zHm_(=9)Sxf{``$Le{||#fAr2=6}~_(j1AYqKDbku6wT0_BIQ-8drbec zA2B6QUe3&;mQi=A9^_+^_$!^5SC^*~ACSbmbmHi`e4Ti!Bwj^g-Dx`EN)lww{F3qT z{UuXya*3?7vY0PsJ3De6fhR|hOfK(rYVR9o{s@;sX6_{Dy1rt1uFmnhNLR!QzDBwz zeC@%`RComcH%*wC37s3jwwW>E?akMqexuV~tFMJ@mEpnfmXk0%?==p~7ND%jCt`ge zQ9^?ie{d6t>RcoDL8POw2ZXE>PcR_(+WO^IP3fwpCfxH-(^Gt9SlzMEa2vnn#e)(p zdI1NUd`qNyO~$|tanC@S;O7I5NjdZPdE{x`Mt`pl$Eo60xDei6LTT4N#x6 z+TOQGstOWTjNp&iXN+WoE2-jDS@vGhF4NAsrv2IYt-0~C#QgpCNn{quP0IF592a6& zU~Dv>QJLj}CBPK>gUC1%2Z5XcX0^)EWNv;Ujg}Tlnp4V*(;Tsk$F>xuC2!<^GK{V0 z5^)o_7txjInsaeHU&eDi&-J2+u0yo=&a(wZf}o-K9?O+(Yh5w!mE7`3FN>T5McYt@ zio6$B9-@gQkkDrSV!bP+to%!HKvw4ZN`eLjCzht&*1(+stq?dr?+JOM@I)X|N_+?$ zJLInk7^C`%$UOM%EqC`|++)7Ui1n*7$c**E3W*5QvZE#TTDoYW#*e|n;q zArKptoCfX@fwauN0V5NJdB-XECbYwYo8KwX>knp#sC3XI&n7L%<)97mhLN~);4qZLDKsrIu}PJ zO3@suZyw{Cqx22={|I~kqMDiEe0g%XYw6|w(I#XK4LU^IY(-Fe~J`u zGC$+@@~oV(J~QxX-%M7j_;-Bk3(Tu>BX5!ZZ(!8AJ)zT?q+qs3Ggk!bYZEv0=_M&Xo^I@Ud{C*`{hxBv%3w=vxU)ORbGbjtOmf`}uN+|Gz3`SBXkjgbk z9v|URZb5R=c#SjEV9#f8Dg&Drz1hWe5n$7W&mW3TRd74%C|clO1qTD3M{W z-=#$YQ378pf?iL-diSrfrPToAa!0q5e)_HneF=C+o_nf zBYeJ$0N;YoZ+YwhpLddE!Dpk&cvSfO!KZ)7^1ympr|RA-}hvKW3gk2>>tOA-nWfJO(iQDg0vg zn6mu;av%fbK5T*ht9Oie$8~)ih>jh^I@WsPkEw-reOBfouPK2L3VjXtY_%6H&mkc> z%Ayq~&JMctw&_xxa2^?Xtyj^5ZMl92_uK;wU=Mcwn4=`2Nx%>-lRrDGwO$5+66v_&r}% zmJWH7zdBZ62J7MAQVc}0w2^mO_$B||Y zC(>=NXP!`9#qBdK-EN@$XFk#Hwl2KyUcDG5uG@WUIx}Q?(aIL zBxBx*rRAI@*z@?_Ll|Z}M+6nQhCA#HwHeo}0WyZQ?oak^62IIAR98s42c=N!o+f=S2s6J&M|OI4+M;Q^cO@6h{ZPznYtvZR)t zqHfuXtHPSK_Y&=FeSS0YqVU)?DWOXc>3G`K1FWe=bF61sd9#OAx*$CE?G&QxHn`?| ziN<~2M9gW*$~Q#4Jr40{OG?lklTquOO(~&1gd3_^Tls}~oHW`=+kO;AsuwbsrO_#I zf7_P8kni!hJuW~wY>JKjM5*)+X&&BWRAdYvpAo6ZmZWSeDSP<%>_|n9B;}wDW2NQ{ zAD=_t&Zi1OVE;!h@M`q3S<`x!MzCH%u0FO~>F}n~A@2l05C+#~zV+}A$AxM`Mk)3} z8}!uFrhpT%`W=&!QhC~qwGHxo0?z}NR`GNUPdQ8PWLabSf%O!Q)x? z-GeZ~eD_fJ(3Fa9g?rso*0fvkrjl#{qNWn*Vsb;tCPSgkt*yW2K|KP~pSwxF`&8FSUp%(<_@C}~?yTPOL}HSQnOw%$8re=HvbL)eP8FPKn& zVMiot97v6DWg0*2>RR6kuf!g@I(^K43xCqCDA+?qm{#-V7<_v!me{_V_qQu{>{6G= zAu=^LLCP&XC>3zSW1ib5wZkMiLT2~jg{u^`-I^s>CWwz z$94ncJjP}Z!1^pj?k|6B~EpZKBmj z*xIgv@-=?fs{+b{~*pkzS`K80fHbJpv8uJiC*e;0o=q&$8SXJEIc;vBt&ogicW zK|q*EP7nKY68Zy4HaoWuwA$?M}baKq_j^7to}L0N-puUF=*5d!Nj* zQfE2U%JO3oJ;|wCtx^kmS*fp)+5y3VBs&Ty=||!0Om|d9K`_mDWl9As`c&Rv(XVM_ z*mqNH{T%-2VLyGMZFcpEd=Ok^o}$M5(SsY2N}FvoOW{(FjFT4 z$`2~F%pR(Sf=Se1&iztcXuJ_S-u{@WKb|EYpE+M7x_AxxQk-`nYmtU?q+w6{hW8G! zdK?>puMx24SWr+jM>EeNcq`mv&fS78{K=Nke!Iy%m+g1DgclTC(9UPJc+d&G7uz8y z00AtMH?NC{L81k|opJE=a)S$J`G}MOQR#IDS~+IBddJMpm^;!Jy&b!xugrg1Kr@wI zVkKD7*I(XDpm~2&`kM?$LTHj&x!a3ZpR)2+-20}Lrj7I(pK5y46V2r8fgsg{#>O3i z?p>V-IROezEq*|oh+;kueNm8kGG)#OZu=^77p5Q>6%n?^sh*&?@r!bZ4 zVcHCS2lA(0!2$&uG$Z>J-IS#`@d9smf>K*2_D0lT|R0{_Pg*T}GG_YpHV1IOa9IK#EKM$eAB?S)@ z6XI2)Q$kGAsu;18Rta|PDMBPgKDPXcN_^2!+z0Eo@yj&PphK?>fe&);UCQ5>oMqet z<7O(WWU1-if9f%|HS0!1yPfCJ177i z5Cd{ouhWw!bJR~}thXF8_N;Xg%c`$B%+wQVrsgqIKXx)x(^zh6rrOM{K$kUBH+ccP zPG-ty#4m^j$GFraX`fOn)GQ@tNIG<+St>Oej05-r*RxdG`qQ(t*Eaovf>66mVArdU zhIepg3Tn)>On6q^xGVH|=N|MT@`jaVUijMn_Pus&N^8kg zsiAJX_+LL(-w2UkKGau^0i&%nIyv>#A_|7TPp!BSzcal91Xpt}yBkQ~nNiw(Gf5Yv z@~fzu-MveQ)|c&_-%r1CNBDG{m2{a)r*%!F`R4Zu?;J-Ewo${1=g&^_M`x$ERMV8* z3QdMa*i8kx6Gvq;F{pZ51#l22ubGZ2Q2c*8cIMB@<}p4b@KG=;(74;~&;a^9aLq(l z5mZ=exFJ2dLZ1G&b1kOZDm?ZE63BCt|>`-Atx2!kVU%{)Z-WS6o2%x40Ark zS|?oP3iU8nde)@p^xz26PboUOghzSCcFI`wLJ6r%bh1MV$(WwR;b<>yx~yquE9|7H zvz3+lCgUwd)0IXG;;&e%jwAJgyX%hS5{xdf3-ra@j>W9E)qIc*K6VFJ#2?Zs`=CD^ z%d7dY@`Ko3@{n}n!iro>i^x4U9rV>|UQPCJ^RZ*U4Sw9ZD$QN<7Tux%22X;9w8fad zDqATNXy^b$M@Roa7v(cQfe$GYy@(_2roxRaK*#th$^mpIuFJB8v7LO}jl!+H;aXmfr`{}0) z&-}|=p7|xIVc)tm+;^vY3u6`dCvQq?5ufyQn!gwit>akB?!XyuzebgbH9G8w-lU^z zMciC7x@n5yBn2Mg*^;ALnt+gZ+aQsn?Q|3Lh6V}e%KFhkMhY8RgiK;F;}#nMUvHBokvsnjVi*g7^icruR7O_mEkv!ec-^il0#`uVcwMLULcxN zMc?oT8$0QE%ftKu^ok^7a5O_5=U%XdXP&0uDDw^(MzrAiWzzkk5I?31JwYZ1(c4n* z{Gbc3S4|v@@#4@quM|^|VJ$=tW|0zXE(PpF@9aUTvG5J|f-nzg;JAFxLASYli#*Fy zjIF2p8VY^u+zWcKg6hbS1t{{gHl>Azdx`PrtnnIE1S=QI@* z>&kg_RxFp0Mp@JnI*G|(|5>qHV*M4A#Cq$@`bFDTN6Ma~oyA5ESr)Hx9+2wq0I5#U z$+M|OacKUI&sbxHeq(rOrlFxeiHVDpU`jWYS$vjMW^v%lY8G$e$9xqF;>fuC{m6AZ zg$?ttYeFGr?wE`K3>73n_q??)?sbh+VBR9jtl^Dw=PLFkq99)_p35^R6%gk~vJEL! zM5)N6bgdO4C*)+#PrV;X%gr*^7Yd7JfkTI)HY72d-*AS3VmZ$~+#kN?eJR&mFo*bsbAc1_$V3j3 zl3acV^E;Sd)~Y0r-(ma?<99T_qxmi7x0qkhK#8Bgmn_^-aP<+n1jn8!+ zp6hSo&k9lBH9zSMx8Q7UQ=02U>nGBla(3LmPU{*L6j+^@Lnk^RCKD8%^vtBa|vXikoM zS*mA*FJ*qJXFm2qYt)7bpo#|R9sbN6#2I@$^j;twce{VJkTId%utX%sdb9F|{J0Ih z>?I(TW~HdLD?TkZ{DXV;si4OO;^j<=jyl`e8i;15`y)Bs{3D5o%l|oD!>cmLHtTbg z`#47>*2f|DEbIFFZ?wG;<{m;{p*9dL;WmZI^DaVO?ZA?-TWaLCh{Gi5UAp9*mSVg+ zf|I_dJrVQiRr{&fsHZ~QKK%TtID=4s4Q2U|g7MP)Jv0}|Bu-Ke^3k{bBS-j+Q3UAf zVa>-UdOjpxb#gxb^?#ZVM01X{D2tXbA0Fd3W5;CjyQAxqeK0b?tS_eS%C=%_TpRz)xF#y;_X z(D*}I{+iHn{_+p~QSS+h3Az$MwH<_kXq&5jtiT(ckgd#!^4lP4iOJSwvGMiB9c&Rq zH$u#3P@8-l|XU<1AbIQS%% z7P_~QGNja4nd1jh1>!Pqg(4JsDNwk5_9mL@$nWdG%~PfC#8E@t%Y1L2TtyFz_u+yQ60G|g z-~3TS6%kl?b*=l?vpJs`nbUWgb1A*Xe!#SZzK53|H}M @I^_mpTxt@F<>>yt>eSPd$SyTFz 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