From 1ca7a1947b1b130f67112a5d83d6a98df0ab5639 Mon Sep 17 00:00:00 2001 From: Cccccrystall Date: Fri, 22 Sep 2023 19:32:53 +0800 Subject: [PATCH 1/9] Introduce Quickstart deployment mode --- installer/compose/Dockerfile | 17 ++ .../compose/docker-compose.quickstart.yml | 262 ++++++++++++++++++ installer/compose/upload.sh | 64 +++++ installer/compose/wait-for-it.sh | 182 ++++++++++++ .../5e7648a1-f477-43c0-b47f-960e4efc21cf.zip | Bin 0 -> 9392 bytes .../75ea6be1-f5c9-45a1-a0b6-83a030657cae.zip | Bin 0 -> 5764 bytes .../bf7e21c0-83fb-4d2a-ab97-b8cfe9435315.zip | Bin 0 -> 7138 bytes 7 files changed, 525 insertions(+) create mode 100644 installer/compose/Dockerfile create mode 100644 installer/compose/docker-compose.quickstart.yml create mode 100755 installer/compose/upload.sh create mode 100755 installer/compose/wait-for-it.sh create mode 100644 installer/compose/zip_folder/5e7648a1-f477-43c0-b47f-960e4efc21cf.zip create mode 100644 installer/compose/zip_folder/75ea6be1-f5c9-45a1-a0b6-83a030657cae.zip create mode 100644 installer/compose/zip_folder/bf7e21c0-83fb-4d2a-ab97-b8cfe9435315.zip diff --git a/installer/compose/Dockerfile b/installer/compose/Dockerfile new file mode 100644 index 0000000000..05d9fd1a11 --- /dev/null +++ b/installer/compose/Dockerfile @@ -0,0 +1,17 @@ +# Use an official base image +FROM ubuntu:latest + +# Install curl and jq +RUN apt-get update \ + && apt-get install -y curl jq + +# Copy the Bash scripts into the image +COPY upload.sh /usr/local/bin/upload.sh +COPY wait-for-it.sh /usr/local/bin/wait-for-it.sh + +# Make the scripts executable +RUN chmod +x /usr/local/bin/upload.sh +RUN chmod +x /usr/local/bin/wait-for-it.sh + +# Run the script +CMD ["/usr/local/bin/wait-for-it.sh", "backend:8030", "--", "/usr/local/bin/upload.sh"] diff --git a/installer/compose/docker-compose.quickstart.yml b/installer/compose/docker-compose.quickstart.yml new file mode 100644 index 0000000000..b7b75a2a00 --- /dev/null +++ b/installer/compose/docker-compose.quickstart.yml @@ -0,0 +1,262 @@ +# Licensed to the Apache Software Foundation (ASF) under one or more +# contributor license agreements. See the NOTICE file distributed with +# this work for additional information regarding copyright ownership. +# The ASF licenses this file to You under the Apache License, Version 2.0 +# (the "License"); you may not use this file except in compliance with +# the License. You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. +version: "3.4" + +# global logging +x-logging: + &default-logging + options: + max-size: '12m' + max-file: '5' + driver: json-file + +services: + + # StreamPipes services + backend: + image: "${SP_DOCKER_REGISTRY}/backend:${SP_VERSION}" + depends_on: + - consul + - couchdb + volumes: + - backend:/root/.streampipes + - files:/spImages + logging: *default-logging + restart: unless-stopped + networks: + spnet: + + connect-adapters: + image: "${SP_DOCKER_REGISTRY}/connect-adapters:${SP_VERSION}" + depends_on: + - consul + environment: + - SP_BACKEND_HOST=backend + - SP_CONNECT_CONTAINER_WORKER=connect-adapters + volumes: + - connect:/data/ + logging: *default-logging + restart: unless-stopped + networks: + spnet: + + connect-adapters-iiot: + image: "${SP_DOCKER_REGISTRY}/connect-adapters-iiot:${SP_VERSION}" + depends_on: + - consul + environment: + - SP_BACKEND_HOST=backend + - SP_CONNECT_CONTAINER_WORKER=connect-adapters + volumes: + - connect:/data/ + logging: *default-logging + restart: unless-stopped + networks: + spnet: + + ui: + image: "${SP_DOCKER_REGISTRY}/ui:${SP_VERSION}" + ports: + - "80:8088" + depends_on: + - couchdb + - consul + - backend + volumes: + - nginx:/etc/nginx/ + logging: *default-logging + restart: unless-stopped + networks: + spnet: + + consul: + image: consul:1.14.3 + environment: + - "CONSUL_LOCAL_CONFIG={\"disable_update_check\": true}" + - "CONSUL_BIND_INTERFACE=eth0" + - "CONSUL_HTTP_ADDR=0.0.0.0" + volumes: + - consul:/consul/data + entrypoint: + - consul + - agent + - -server + - -bootstrap-expect=1 + - -data-dir=/consul/data + - -node=consul-one + - -bind={{ GetInterfaceIP "eth0" }} + - -client=0.0.0.0 + - -enable-script-checks=true + - -ui + logging: *default-logging + restart: unless-stopped + networks: + spnet: + ipv4_address: ${SP_CONSUL_CONTAINER_IP} + + couchdb: + image: couchdb:3.3.1 + environment: + - COUCHDB_USER=admin + - COUCHDB_PASSWORD=admin + volumes: + - couchdb:/opt/couchdb/data + logging: *default-logging + restart: unless-stopped + networks: + spnet: + + kafka: + image: fogsyio/kafka:2.2.0 + hostname: kafka + depends_on: + - zookeeper + environment: + KAFKA_LISTENER_SECURITY_PROTOCOL_MAP: PLAINTEXT:PLAINTEXT + KAFKA_ADVERTISED_LISTENERS: PLAINTEXT://:9092 + KAFKA_LISTENERS: PLAINTEXT://:9092 + KAFKA_INTER_BROKER_LISTENER_NAME: PLAINTEXT + KAFKA_ADVERTISED_HOST_NAME: kafka + KAFKA_ZOOKEEPER_CONNECT: zookeeper:2181 + KAFKA_MESSAGE_MAX_BYTES: 5000012 + KAFKA_FETCH_MESSAGE_MAX_BYTES: 5000012 + KAFKA_REPLICA_FETCH_MAX_BYTES: 10000000 + SP_INITIAL_ADMIN_EMAIL: test@gmail.com + SP_INITIAL_ADMIN_PASSWORD: pass + volumes: + - kafka:/kafka + - /var/run/docker.sock:/var/run/docker.sock + logging: *default-logging + restart: unless-stopped + networks: + spnet: + + zookeeper: + image: fogsyio/zookeeper:3.4.13 + volumes: + - zookeeper:/opt/zookeeper-3.4.13 + logging: *default-logging + restart: unless-stopped + networks: + spnet: + + influxdb: + image: influxdb:2.6 + environment: + - INFLUXDB_DATA_ENGINE=tsm1 + - INFLUXDB_REPORTING_DISABLED=false + - INFLUXDB_ADMIN_ENABLED=true + - DOCKER_INFLUXDB_INIT_USERNAME=admin + - DOCKER_INFLUXDB_INIT_PASSWORD=sp-admin + - DOCKER_INFLUXDB_INIT_ADMIN_TOKEN=sp-admin + - DOCKER_INFLUXDB_INIT_ORG=sp + - DOCKER_INFLUXDB_INIT_BUCKET=sp + - DOCKER_INFLUXDB_INIT_MODE=${SP_INFLUX_INIT_MODE} + volumes: + - influxdb:/var/lib/influxdb + - influxdb2:/var/lib/influxdb2 + logging: *default-logging + restart: unless-stopped + networks: + spnet: + + jobmanager: + image: fogsyio/flink:1.13.5-scala_2.11 + command: jobmanager + environment: + - JOB_MANAGER_RPC_ADDRESS=jobmanager + logging: *default-logging + restart: unless-stopped + networks: + spnet: + + taskmanager: + image: fogsyio/flink:1.13.5-scala_2.11 + depends_on: + - jobmanager + command: taskmanager + links: + - "jobmanager:jobmanager" + environment: + - JOB_MANAGER_RPC_ADDRESS=jobmanager + - TASK_MANAGER_NUMBER_OF_TASK_SLOTS=20 + logging: *default-logging + restart: unless-stopped + networks: + spnet: + + # Lite version pipeline elements + pipeline-elements-all-jvm: + image: "${SP_DOCKER_REGISTRY}/pipeline-elements-all-jvm:${SP_VERSION}" + depends_on: + - consul + volumes: + - files:/spImages + logging: *default-logging + restart: unless-stopped + networks: + spnet: + + sources-watertank-simulator: + image: "${SP_DOCKER_REGISTRY}/sources-watertank-simulator:${SP_VERSION}" + depends_on: + - consul + - kafka + logging: *default-logging + restart: unless-stopped + networks: + spnet: + + # Full version pipeline elements + pipeline-elements-all-flink: + image: "${SP_DOCKER_REGISTRY}/pipeline-elements-all-flink:${SP_VERSION}" + depends_on: + - consul + - jobmanager + logging: *default-logging + restart: unless-stopped + networks: + spnet: + + script-runner: + build: . + volumes: + - ./zip_folder:/zip_folder + networks: + spnet: + depends_on: + - backend + +volumes: + backend: + consul: + connect: + couchdb: + kafka: + zookeeper: + influxdb: + influxdb2: + files: + nginx: + + + +networks: + spnet: + driver: bridge + ipam: + config: + - subnet: ${SP_SUBNET} + diff --git a/installer/compose/upload.sh b/installer/compose/upload.sh new file mode 100755 index 0000000000..bb3b7168e5 --- /dev/null +++ b/installer/compose/upload.sh @@ -0,0 +1,64 @@ +#!/bin/bash +# Licensed to the Apache Software Foundation (ASF) under one or more +# contributor license agreements. See the NOTICE file distributed with +# this work for additional information regarding copyright ownership. +# The ASF licenses this file to You under the Apache License, Version 2.0 +# (the "License"); you may not use this file except in compliance with +# the License. You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. + + +# Send a POST request and save the response as JSON + +# Check if SP_INITIAL_ADMIN_EMAIL is empty; if so, set USERNAME to a default value +if [ -z "$SP_INITIAL_ADMIN_EMAIL" ]; then + USERNAME="admin@streampipes.apache.org" +else + USERNAME="$SP_INITIAL_ADMIN_EMAIL" +fi + +# Check if SP_INITIAL_ADMIN_PASSWORD is empty; if so, set PASSWORD to a default value +if [ -z "$SP_INITIAL_ADMIN_PASSWORD" ]; then + PASSWORD="admin" +else + PASSWORD="$SP_INITIAL_ADMIN_PASSWORD" +fi + +echo $USERNAME +echo $PASSWORD + +# Login and obtain token +JSON_TOKEN_RESPONSE=$(curl -s -X POST "http://backend:8030/streampipes-backend/api/v2/auth/login" \ + -H "Content-Type: application/json" \ + -d "{\"username\":\"$USERNAME\",\"password\":\"$PASSWORD\"}") + +TOKEN=$(echo "$JSON_TOKEN_RESPONSE" | jq -r '.accessToken') +RESPONSE_TOKEN="Bearer $TOKEN" + +echo $RESPONSE_TOKEN + + +for ZIP_FILE in /zip_folder/*.zip; do + echo "Processing $ZIP_FILE..." + # POST preview request with curl + JSON_RESPONSE=$(curl --compressed -X POST "http://backend:8030/streampipes-backend/api/v2/import/preview" \ + -H "Authorization: $RESPONSE_TOKEN" \ + -F "file_upload=@$ZIP_FILE") + + echo "$JSON_RESPONSE" + JSON_PAYLOAD="$JSON_RESPONSE" + + # POST upload request using curl + curl -i -X POST "http://backend:8030/streampipes-backend/api/v2/import" \ + -H "Authorization: $RESPONSE_TOKEN" \ + -F "file_upload=@$ZIP_FILE" \ + -F "configuration=@-;type=application/json" <<< "$JSON_PAYLOAD" +done + diff --git a/installer/compose/wait-for-it.sh b/installer/compose/wait-for-it.sh new file mode 100755 index 0000000000..c5c27c4e97 --- /dev/null +++ b/installer/compose/wait-for-it.sh @@ -0,0 +1,182 @@ +#!/usr/bin/env bash +# Use this script to test if a given TCP host/port are available + +WAITFORIT_cmdname=${0##*/} + +echoerr() { if [[ $WAITFORIT_QUIET -ne 1 ]]; then echo "$@" 1>&2; fi } + +usage() +{ + cat << USAGE >&2 +Usage: + $WAITFORIT_cmdname host:port [-s] [-t timeout] [-- command args] + -h HOST | --host=HOST Host or IP under test + -p PORT | --port=PORT TCP port under test + Alternatively, you specify the host and port as host:port + -s | --strict Only execute subcommand if the test succeeds + -q | --quiet Don't output any status messages + -t TIMEOUT | --timeout=TIMEOUT + Timeout in seconds, zero for no timeout + -- COMMAND ARGS Execute command with args after the test finishes +USAGE + exit 1 +} + +wait_for() +{ + if [[ $WAITFORIT_TIMEOUT -gt 0 ]]; then + echoerr "$WAITFORIT_cmdname: waiting $WAITFORIT_TIMEOUT seconds for $WAITFORIT_HOST:$WAITFORIT_PORT" + else + echoerr "$WAITFORIT_cmdname: waiting for $WAITFORIT_HOST:$WAITFORIT_PORT without a timeout" + fi + WAITFORIT_start_ts=$(date +%s) + while : + do + if [[ $WAITFORIT_ISBUSY -eq 1 ]]; then + nc -z $WAITFORIT_HOST $WAITFORIT_PORT + WAITFORIT_result=$? + else + (echo -n > /dev/tcp/$WAITFORIT_HOST/$WAITFORIT_PORT) >/dev/null 2>&1 + WAITFORIT_result=$? + fi + if [[ $WAITFORIT_result -eq 0 ]]; then + WAITFORIT_end_ts=$(date +%s) + echoerr "$WAITFORIT_cmdname: $WAITFORIT_HOST:$WAITFORIT_PORT is available after $((WAITFORIT_end_ts - WAITFORIT_start_ts)) seconds" + break + fi + sleep 1 + done + return $WAITFORIT_result +} + +wait_for_wrapper() +{ + # In order to support SIGINT during timeout: http://unix.stackexchange.com/a/57692 + if [[ $WAITFORIT_QUIET -eq 1 ]]; then + timeout $WAITFORIT_BUSYTIMEFLAG $WAITFORIT_TIMEOUT $0 --quiet --child --host=$WAITFORIT_HOST --port=$WAITFORIT_PORT --timeout=$WAITFORIT_TIMEOUT & + else + timeout $WAITFORIT_BUSYTIMEFLAG $WAITFORIT_TIMEOUT $0 --child --host=$WAITFORIT_HOST --port=$WAITFORIT_PORT --timeout=$WAITFORIT_TIMEOUT & + fi + WAITFORIT_PID=$! + trap "kill -INT -$WAITFORIT_PID" INT + wait $WAITFORIT_PID + WAITFORIT_RESULT=$? + if [[ $WAITFORIT_RESULT -ne 0 ]]; then + echoerr "$WAITFORIT_cmdname: timeout occurred after waiting $WAITFORIT_TIMEOUT seconds for $WAITFORIT_HOST:$WAITFORIT_PORT" + fi + return $WAITFORIT_RESULT +} + +# process arguments +while [[ $# -gt 0 ]] +do + case "$1" in + *:* ) + WAITFORIT_hostport=(${1//:/ }) + WAITFORIT_HOST=${WAITFORIT_hostport[0]} + WAITFORIT_PORT=${WAITFORIT_hostport[1]} + shift 1 + ;; + --child) + WAITFORIT_CHILD=1 + shift 1 + ;; + -q | --quiet) + WAITFORIT_QUIET=1 + shift 1 + ;; + -s | --strict) + WAITFORIT_STRICT=1 + shift 1 + ;; + -h) + WAITFORIT_HOST="$2" + if [[ $WAITFORIT_HOST == "" ]]; then break; fi + shift 2 + ;; + --host=*) + WAITFORIT_HOST="${1#*=}" + shift 1 + ;; + -p) + WAITFORIT_PORT="$2" + if [[ $WAITFORIT_PORT == "" ]]; then break; fi + shift 2 + ;; + --port=*) + WAITFORIT_PORT="${1#*=}" + shift 1 + ;; + -t) + WAITFORIT_TIMEOUT="$2" + if [[ $WAITFORIT_TIMEOUT == "" ]]; then break; fi + shift 2 + ;; + --timeout=*) + WAITFORIT_TIMEOUT="${1#*=}" + shift 1 + ;; + --) + shift + WAITFORIT_CLI=("$@") + break + ;; + --help) + usage + ;; + *) + echoerr "Unknown argument: $1" + usage + ;; + esac +done + +if [[ "$WAITFORIT_HOST" == "" || "$WAITFORIT_PORT" == "" ]]; then + echoerr "Error: you need to provide a host and port to test." + usage +fi + +WAITFORIT_TIMEOUT=${WAITFORIT_TIMEOUT:-60} +WAITFORIT_STRICT=${WAITFORIT_STRICT:-0} +WAITFORIT_CHILD=${WAITFORIT_CHILD:-0} +WAITFORIT_QUIET=${WAITFORIT_QUIET:-0} + +# Check to see if timeout is from busybox? +WAITFORIT_TIMEOUT_PATH=$(type -p timeout) +WAITFORIT_TIMEOUT_PATH=$(realpath $WAITFORIT_TIMEOUT_PATH 2>/dev/null || readlink -f $WAITFORIT_TIMEOUT_PATH) + +WAITFORIT_BUSYTIMEFLAG="" +if [[ $WAITFORIT_TIMEOUT_PATH =~ "busybox" ]]; then + WAITFORIT_ISBUSY=1 + # Check if busybox timeout uses -t flag + # (recent Alpine versions don't support -t anymore) + if timeout &>/dev/stdout | grep -q -e '-t '; then + WAITFORIT_BUSYTIMEFLAG="-t" + fi +else + WAITFORIT_ISBUSY=0 +fi + +if [[ $WAITFORIT_CHILD -gt 0 ]]; then + wait_for + WAITFORIT_RESULT=$? + exit $WAITFORIT_RESULT +else + if [[ $WAITFORIT_TIMEOUT -gt 0 ]]; then + wait_for_wrapper + WAITFORIT_RESULT=$? + else + wait_for + WAITFORIT_RESULT=$? + fi +fi + +if [[ $WAITFORIT_CLI != "" ]]; then + if [[ $WAITFORIT_RESULT -ne 0 && $WAITFORIT_STRICT -eq 1 ]]; then + echoerr "$WAITFORIT_cmdname: strict mode, refusing to execute subprocess" + exit $WAITFORIT_RESULT + fi + exec "${WAITFORIT_CLI[@]}" +else + exit $WAITFORIT_RESULT +fi diff --git a/installer/compose/zip_folder/5e7648a1-f477-43c0-b47f-960e4efc21cf.zip b/installer/compose/zip_folder/5e7648a1-f477-43c0-b47f-960e4efc21cf.zip new file mode 100644 index 0000000000000000000000000000000000000000..f44f92f3cc109e05275172476931d97dba662621 GIT binary patch literal 9392 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 literal 0 HcmV?d00001 diff --git a/installer/compose/zip_folder/75ea6be1-f5c9-45a1-a0b6-83a030657cae.zip b/installer/compose/zip_folder/75ea6be1-f5c9-45a1-a0b6-83a030657cae.zip new file mode 100644 index 0000000000000000000000000000000000000000..5cf1dd84f74fbf8d6bf8f571f95ec99fc928c8f7 GIT binary patch literal 5764 zcma)AWl&sOm&M&JNO0FQ8YH;8L*oG&?M535B)EjeT{^haI3d9y5FCQL69^WZ07;M` zZ+^Ttuj-qbblf`k*C zoEF;^kde=!>rm$OLXxg&fWB>ko?&Z*dz||Xy*r?ETev-WW?Fy)%N{6V#QYh?DYOHO z931I%4nbdERDa^c<{7KIptYAA=S)eir;@&eb<}>n21+W3ou*83KMusy!@}clre6&Dd5%+4|)gi#HCj^gS* zFrS9({^A(#V|15)p3jSj_ti0#6x}~7F;PnQoa@DhSUhBxuZq&6v9dBtYo3AFqGlOl zla~mZ-U}qY=FM(-=&37h@%xFY0Hr)RY|VkfFy&Wf^5^Q~5~T7vPh9ocOuy)^tJ^-m z$Sy-bn5ztU@~H$qom=nlzBVM4iXk63%RT5bB0+&8`6A!7my#}luZEj`!4b|sT#n9L z@2{@Tzl|MjH^es~Mx4DY22NZNpYT^w=eS?EiT~!Q@HH^`t=R3;A-~i$W47A7La_7A zzbUZk%>97Kd;Dp6pCexVbXZwiS|4+uANA%5HuYiSxZg(P%fL)QWSY_V$Po^vZo<)h zA{>XItUSTtnC{LLag4SE1VPc6nzcReSe0R%T3>!>g9J)OI8a8jl)2PNZ2WLt1821C zb%F8W>Nr81_H=B4yUn|_@>0ojJv) zcLB1#ylGM>7MPY9J-F;{4LjTj+Id5xiSnkJ5qAx~&khRN9oU~awwR}9%-1l8w>AxHcerAFK76ZQSJE?t zoZ|Sr3bU1m;POc~=_NS^j}7uR>B9M&Gi}D=R)pbmFV^!+Ui;Yu_0`Fo@i&%NW1qLZS=olY&UK=VrMMNytCi&drUdK z67c*?nc<$DI;tIUE2*aeQ?q_Pb;h%&?wssCfxwZH{gvm&b&R9IS;OO;Mnx%Ybiryz4KinJzhVhmk=f zX$Gjic>%aSvPVdYE35xtb=*8RYtXwfS9`!N)vLXtlkKzIqf$aG9DjbD)Dh_H;uJip zlL@h1Y76rX`@WdwcvW`NsT>!h88IG&q@#|BRecv{^bHjW$&CQ%as8i~1>#QRZjRa>f3*vjcz)a-08zyCJuGo?s2(bt^VEwJyX+c5I91G6!Bp~K zF{M|q;dk=p`X*A2lefyS!rbkMEic}5TgKQ=$1SCTL*%)3$VYz^$}_rR^{v%|Bvzkv zsQ@D8ZMFzHXd}6(R;{G0S?}+|>vD%wA70FK zib*+Gk)E0=#GK*&aqguWLOAvD*DoIDe|C=c@l;#c4yfbdYY+9Y(E&O-d26_<=*lW; zY5nD1TCy&<2S66_pq|U^D3NnjJ;6_#Bfby@P;iAWQ$ygH#pJ{fze(l~$S{w2-@St# z5A4tl!gRM%7P>2fmb{zrwgXH20 zg9MEC8F*r(yGv(RBY*PDzN|2b9$mA;!FP{i`m$S2#AUB z14IP{1;qf?!hdDt$Q%rXi$1yU>TIv@A^_X0UOVK~s3@ z;PCKU4P}&eT?JnJ+KD~g%Zo))Tzq#@_TjeQgB6#$o6AG;nERUWC;aw2NEe;rcSZQ< zvH&1hG|CPaPUIMABZH`7#ID>iBc;4Jr|N!b!$fRKA%OWyk_6c((bE4AD~xLomO9G;bmA>y!E1mQK|`U z?{(G8H}iANv$Gz<&Ga#;L7_??FfxO{8MDYFmb^I5ZDpUAW;2XfH4nqA1I9?~kN zezjIt9@lmQR_aSfSN*>mnb8#FtfK=yH%Jp)d24WPsRBb!+awXYfZ%5Q~ZDns2At-BWODnhx>KC2NW2j9jxdc&ipr?pGV9klB##rH5!} zXdo#u=`rJW7Rh=@a0a2Bql^|d%!4x_CUdQnu6Jwe?f$Hj(?1A~;%sj$he`W;Mh8~C+bwp&b z(2}?~#H4UUg<0a0QAmq;Bw=u?)EvKHmlylfb>oEH?k!1S zk-{^GOzD0e2j`_-Uko zrE9rNxEFPS)7b~vq0yOWRbRz7LGe|bXWpyCbuOs`B~*$zF8E$lXGFFQyiDKSht3VO z+vgUx^lS;Qg8ZU9=HmKAuBlR#@8xnaY5Lp*dpu;P6qSl2H|u{zN4j2z#3Owmpye>q zrnlS7BD@UqITd|YQyaN{CP=^AKhj)XvqizxbtAExq z)>s*ru{=904rjz|XlJtV7rx`jA?92RxpVwG)~bW;IaPbo&~utwR?9_-?J;3-rbUxP zEECm2ZAY%vOO-LJYMNKt60P24ftMEB=IuT2ViND49g1K3Pd!|U$vM`n{-lh{svrJ> z5r5jxIg_mKOL*>wD*betU0Y2wP~Et$8(SB3@vy-Y4A-?U106CIKG8hO2hqA+dk@Kg zF#83s6XWKczy00$Q_*{xZImG5@ns%XW|6Hv|*+M6VPo%Vge z-|0mSRQNW;9vF2i^pK(FsW@I%YbdcfvSFNCK_PtZM#^ASoJ(Hepm?y@sL{otHx8R= zWcmSd2!GtGMS>|FP#G8J-l0t~QacQ&MsbMA7_Ld5jS}nMt8Aru=-32btKh9-mky2V zOE6N~_foM67fwz{gztiHl^n@XH(s?{I~ro;k7H&u-p@P;O~5y4rFUXSs}K?DmM7PD zPAKan9|hB8o4hj2dSW&)$B|)gEDi#N4^lLSE@63-n{TMLd+M{Vg!j{}Vle_oSb$eQ zkD(8Q5~!D^;)ru0<8MFBUnq4UuS9AtelB@|opOG;evh7+_Vh%nS3}L?P3zYmPTS)A z5ziJsr*9v>KN?MiY^$DwR7E^lOxBiVkq?hIotd5|?=;hXiGf@#iTsBAE{WSlucf3( z9*cN791iIXd!eo}n}?(4ar|{BjH}-dvLWGPC-GrZ{7O-`=EXn_k22Fh(z7+2+y0R# zv)I{%Zl~`v7c%nJ{#MSm%JRN!58u`X9GU= z`fj}bjvgBVlwgkkA$O?v1FQSP3V9`M%al`-BCuAjWwlB*pKS(i(>Rh_dMbAUq-+b^ z2*uV?f0D1Ob_vdr%#Gb5e^b8$*8Ln{iMD|LTm9i~zkGhTz$=Yn_@moB^=xXY&OP|M zY(;ofA<M_S*y1+XboD4#$Qzm#fUzDDO1r#D)}oy$?U zLGz9&DP4O5XCiIR8-ysjP$P@*l_M-+^F$33&x}8Qt z`B{t4Damd~-4~{-IQJ!ltVfDP4o5KUD1P^omdn=^x36i^QSd`1aM|DzXM>NA5-_Rh z0w*5`Is!p0I3dRO9KZV-dr?vj{$c~ z3%+A+x5b3k3V4UOZ?L}hNlzqSV$E`9J#R3XKASHqkAW6tdI7&lF~dnizIc2j`nv zP~_K?@6BF{-Q*gQ4c9kxBtA_(KL~kuIYm@kKEs_Qqc2NxZK!|gwx3@bh*weI_@Q5H zokd?X*$P6vfKBv_k%iKVX_y|U^S+{udXYpX?P-cFAY3y?DSE^!?Nb7MnikaOjsOXzO=pcBX zl>oItPyh&ND>=CPQ3vUqhhAC`FPBXr>cuz@noP&koGxyl)L_1>$$4KvsP#^JWnYTM zIAd9}UvkCc7_{Ta1*zG(KGPmRJ*vnB!7{oM9WqI#@Np<+bvHQa%wew`MJdOAO-~N7 zYI4)WIfPw&+8=@d=t=_pn-wiz4jV^-R)1`OhrT3SihTNPn`31{Npi@`Kt{l&UWLNX z|9#gPv0UY|d}LZ==~icxGzxBSwmk6y*2`X?_jNW3_J*#epBS~#3bXb~E^Fmf;GN`p zJ0<4f8)nMqZ;6d>>C7G86fs{bC4G?Q>utO}3Hrma7TPcpiSdz;jJ*Cgj`er}$;H~$ z$=(j?_21+@Zp8JGyemHR9r7`_I`;7C>Edn?lT|2I0%N~o*OSzJ^>`U_m*?6=qkTP{$9p^R6J9Olo+45f8qc(v zTA2eM_ZBeW%X0hCyR3wgCKq-T2oUh?m?t^h*UCUdN?vuQt^7#+;(c0jdZ~PWI9kwy zj?zRyzoPL`WPoO&h&HhiD`3B}FZRV8M_7~iWl3lkx-QYq)6i4$Uf^3@qJ+q>w@^Al zhRZOyS;;L=^gqF1ljCQbdUO@^NIG@Ykx|Hy{+2=isd@a7LH{TIqbT}sGyhZ<{s<(0 zgBR_Ow)!9Cl7AceCprEjM*IyN^#4Pe__wKl*1#V&{WnrE{-50X-zNVV$v?&OH*QG( YRZ2SQ=#O7PLPCFhoE`&@PX1^0Ulc=Q$p8QV literal 0 HcmV?d00001 diff --git a/installer/compose/zip_folder/bf7e21c0-83fb-4d2a-ab97-b8cfe9435315.zip b/installer/compose/zip_folder/bf7e21c0-83fb-4d2a-ab97-b8cfe9435315.zip new file mode 100644 index 0000000000000000000000000000000000000000..e52e65940c7509f5da54fe7562d28ed938b47dfc GIT binary patch literal 7138 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 Date: Thu, 28 Sep 2023 17:45:35 +0800 Subject: [PATCH 2/9] resolve comments, include license,echo issue,creating separated folder. --- installer/compose/Dockerfile | 17 -- installer/compose/README.md | 12 ++ .../compose/docker-compose.quickstart.yml | 89 ++------- installer/compose/quickstart/Dockerfile | 34 ++++ installer/compose/{ => quickstart}/upload.sh | 7 +- .../03dcae29-20f6-4a0e-b87f-c240d87de87f.zip | Bin 0 -> 8726 bytes .../417cc169-11e5-4e98-ac67-87ec13cffc85.zip | Bin 0 -> 11064 bytes .../58c0c80d-95e0-4351-af3c-fd8904dd3332.zip | Bin 0 -> 9672 bytes .../8bd664b4-a7f3-41a1-99bd-26b6853a7ba2.zip} | Bin 7138 -> 7138 bytes installer/compose/wait-for-it.sh | 182 ------------------ .../5e7648a1-f477-43c0-b47f-960e4efc21cf.zip | Bin 9392 -> 0 bytes .../75ea6be1-f5c9-45a1-a0b6-83a030657cae.zip | Bin 5764 -> 0 bytes 12 files changed, 58 insertions(+), 283 deletions(-) delete mode 100644 installer/compose/Dockerfile create mode 100644 installer/compose/quickstart/Dockerfile rename installer/compose/{ => quickstart}/upload.sh (89%) create mode 100644 installer/compose/quickstart/zip_folder/03dcae29-20f6-4a0e-b87f-c240d87de87f.zip create mode 100644 installer/compose/quickstart/zip_folder/417cc169-11e5-4e98-ac67-87ec13cffc85.zip create mode 100644 installer/compose/quickstart/zip_folder/58c0c80d-95e0-4351-af3c-fd8904dd3332.zip rename installer/compose/{zip_folder/bf7e21c0-83fb-4d2a-ab97-b8cfe9435315.zip => quickstart/zip_folder/8bd664b4-a7f3-41a1-99bd-26b6853a7ba2.zip} (89%) delete mode 100755 installer/compose/wait-for-it.sh delete mode 100644 installer/compose/zip_folder/5e7648a1-f477-43c0-b47f-960e4efc21cf.zip delete mode 100644 installer/compose/zip_folder/75ea6be1-f5c9-45a1-a0b6-83a030657cae.zip diff --git a/installer/compose/Dockerfile b/installer/compose/Dockerfile deleted file mode 100644 index 05d9fd1a11..0000000000 --- a/installer/compose/Dockerfile +++ /dev/null @@ -1,17 +0,0 @@ -# Use an official base image -FROM ubuntu:latest - -# Install curl and jq -RUN apt-get update \ - && apt-get install -y curl jq - -# Copy the Bash scripts into the image -COPY upload.sh /usr/local/bin/upload.sh -COPY wait-for-it.sh /usr/local/bin/wait-for-it.sh - -# Make the scripts executable -RUN chmod +x /usr/local/bin/upload.sh -RUN chmod +x /usr/local/bin/wait-for-it.sh - -# Run the script -CMD ["/usr/local/bin/wait-for-it.sh", "backend:8030", "--", "/usr/local/bin/upload.sh"] diff --git a/installer/compose/README.md b/installer/compose/README.md index 93dc48dfca..09ee8edf12 100644 --- a/installer/compose/README.md +++ b/installer/compose/README.md @@ -90,6 +90,18 @@ docker-compose -f docker-compose.full.yml down #docker-compose -f docker-compose.full.yml down ``` +We introduce quickstart deployment that comes with a set of predefined StreamPipes assets, to use the quickstart mode, just build the Docker image and start **quickstart** option: +```bash +docker-compose -f docker-compose.quickstart.yml build script-runner +docker-compose -f docker-compose.quickstart.yml up -d +# go to after all services are started http://localhost +``` +Stopping the **quickstart** option: +```bash +docker-compose -f docker-compose.quickstart.yml down +#docker-compose -f docker-compose.quickstart.yml down +``` + ## Update services To actively pull the latest available Docker images use: ```bash diff --git a/installer/compose/docker-compose.quickstart.yml b/installer/compose/docker-compose.quickstart.yml index b7b75a2a00..0eb0717456 100644 --- a/installer/compose/docker-compose.quickstart.yml +++ b/installer/compose/docker-compose.quickstart.yml @@ -38,34 +38,6 @@ services: networks: spnet: - connect-adapters: - image: "${SP_DOCKER_REGISTRY}/connect-adapters:${SP_VERSION}" - depends_on: - - consul - environment: - - SP_BACKEND_HOST=backend - - SP_CONNECT_CONTAINER_WORKER=connect-adapters - volumes: - - connect:/data/ - logging: *default-logging - restart: unless-stopped - networks: - spnet: - - connect-adapters-iiot: - image: "${SP_DOCKER_REGISTRY}/connect-adapters-iiot:${SP_VERSION}" - depends_on: - - consul - environment: - - SP_BACKEND_HOST=backend - - SP_CONNECT_CONTAINER_WORKER=connect-adapters - volumes: - - connect:/data/ - logging: *default-logging - restart: unless-stopped - networks: - spnet: - ui: image: "${SP_DOCKER_REGISTRY}/ui:${SP_VERSION}" ports: @@ -87,8 +59,6 @@ services: - "CONSUL_LOCAL_CONFIG={\"disable_update_check\": true}" - "CONSUL_BIND_INTERFACE=eth0" - "CONSUL_HTTP_ADDR=0.0.0.0" - volumes: - - consul:/consul/data entrypoint: - consul - agent @@ -100,6 +70,8 @@ services: - -client=0.0.0.0 - -enable-script-checks=true - -ui + volumes: + - consul:/consul/data logging: *default-logging restart: unless-stopped networks: @@ -133,8 +105,6 @@ services: KAFKA_MESSAGE_MAX_BYTES: 5000012 KAFKA_FETCH_MESSAGE_MAX_BYTES: 5000012 KAFKA_REPLICA_FETCH_MAX_BYTES: 10000000 - SP_INITIAL_ADMIN_EMAIL: test@gmail.com - SP_INITIAL_ADMIN_PASSWORD: pass volumes: - kafka:/kafka - /var/run/docker.sock:/var/run/docker.sock @@ -172,34 +142,9 @@ services: networks: spnet: - jobmanager: - image: fogsyio/flink:1.13.5-scala_2.11 - command: jobmanager - environment: - - JOB_MANAGER_RPC_ADDRESS=jobmanager - logging: *default-logging - restart: unless-stopped - networks: - spnet: - - taskmanager: - image: fogsyio/flink:1.13.5-scala_2.11 - depends_on: - - jobmanager - command: taskmanager - links: - - "jobmanager:jobmanager" - environment: - - JOB_MANAGER_RPC_ADDRESS=jobmanager - - TASK_MANAGER_NUMBER_OF_TASK_SLOTS=20 - logging: *default-logging - restart: unless-stopped - networks: - spnet: - # Lite version pipeline elements - pipeline-elements-all-jvm: - image: "${SP_DOCKER_REGISTRY}/pipeline-elements-all-jvm:${SP_VERSION}" + extensions-all-jvm: + image: "${SP_DOCKER_REGISTRY}/extensions-all-jvm:${SP_VERSION}" depends_on: - consul volumes: @@ -218,26 +163,16 @@ services: restart: unless-stopped networks: spnet: - - # Full version pipeline elements - pipeline-elements-all-flink: - image: "${SP_DOCKER_REGISTRY}/pipeline-elements-all-flink:${SP_VERSION}" - depends_on: - - consul - - jobmanager - logging: *default-logging - restart: unless-stopped - networks: - spnet: - script-runner: - build: . + build: ./quickstart + depends_on: + - backend volumes: - - ./zip_folder:/zip_folder + - ./quickstart/zip_folder:/zip_folder networks: spnet: - depends_on: - - backend + + volumes: backend: @@ -252,11 +187,9 @@ volumes: nginx: - networks: spnet: driver: bridge ipam: config: - - subnet: ${SP_SUBNET} - + - subnet: ${SP_SUBNET} \ No newline at end of file diff --git a/installer/compose/quickstart/Dockerfile b/installer/compose/quickstart/Dockerfile new file mode 100644 index 0000000000..ec51556586 --- /dev/null +++ b/installer/compose/quickstart/Dockerfile @@ -0,0 +1,34 @@ +# Licensed to the Apache Software Foundation (ASF) under one or more +# contributor license agreements. See the NOTICE file distributed with +# this work for additional information regarding copyright ownership. +# The ASF licenses this file to You under the Apache License, Version 2.0 +# (the "License"); you may not use this file except in compliance with +# the License. You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. +# Use an official base image +FROM ubuntu:latest + +# Install curl and jq +RUN apt-get update \ + && apt-get install -y curl jq + + +RUN curl -L -o /usr/local/bin/wait-for-it.sh https://raw.githubusercontent.com/vishnubob/wait-for-it/81b1373f17855a4dc21156cfe1694c31d7d1792e/wait-for-it.sh \ + && chmod +x /usr/local/bin/wait-for-it.sh + + +COPY upload.sh /usr/local/bin/upload.sh +RUN chmod +x /usr/local/bin/upload.sh + + +ENV WAITFORIT_TIMEOUT 60 + +# Run the script +CMD ["/usr/local/bin/wait-for-it.sh", "backend:8030", "--", "/usr/local/bin/upload.sh"] diff --git a/installer/compose/upload.sh b/installer/compose/quickstart/upload.sh similarity index 89% rename from installer/compose/upload.sh rename to installer/compose/quickstart/upload.sh index bb3b7168e5..c354f36d35 100755 --- a/installer/compose/upload.sh +++ b/installer/compose/quickstart/upload.sh @@ -17,22 +17,18 @@ # Send a POST request and save the response as JSON -# Check if SP_INITIAL_ADMIN_EMAIL is empty; if so, set USERNAME to a default value if [ -z "$SP_INITIAL_ADMIN_EMAIL" ]; then USERNAME="admin@streampipes.apache.org" else USERNAME="$SP_INITIAL_ADMIN_EMAIL" fi -# Check if SP_INITIAL_ADMIN_PASSWORD is empty; if so, set PASSWORD to a default value if [ -z "$SP_INITIAL_ADMIN_PASSWORD" ]; then PASSWORD="admin" else PASSWORD="$SP_INITIAL_ADMIN_PASSWORD" fi -echo $USERNAME -echo $PASSWORD # Login and obtain token JSON_TOKEN_RESPONSE=$(curl -s -X POST "http://backend:8030/streampipes-backend/api/v2/auth/login" \ @@ -42,7 +38,6 @@ JSON_TOKEN_RESPONSE=$(curl -s -X POST "http://backend:8030/streampipes-backend/a TOKEN=$(echo "$JSON_TOKEN_RESPONSE" | jq -r '.accessToken') RESPONSE_TOKEN="Bearer $TOKEN" -echo $RESPONSE_TOKEN for ZIP_FILE in /zip_folder/*.zip; do @@ -52,7 +47,7 @@ for ZIP_FILE in /zip_folder/*.zip; do -H "Authorization: $RESPONSE_TOKEN" \ -F "file_upload=@$ZIP_FILE") - echo "$JSON_RESPONSE" + JSON_PAYLOAD="$JSON_RESPONSE" # POST upload request using curl diff --git a/installer/compose/quickstart/zip_folder/03dcae29-20f6-4a0e-b87f-c240d87de87f.zip b/installer/compose/quickstart/zip_folder/03dcae29-20f6-4a0e-b87f-c240d87de87f.zip new file mode 100644 index 0000000000000000000000000000000000000000..d28de9f868b386361a631b6aa1654dc0adab3bb4 GIT binary patch literal 8726 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 literal 0 HcmV?d00001 diff --git a/installer/compose/quickstart/zip_folder/417cc169-11e5-4e98-ac67-87ec13cffc85.zip b/installer/compose/quickstart/zip_folder/417cc169-11e5-4e98-ac67-87ec13cffc85.zip new file mode 100644 index 0000000000000000000000000000000000000000..c85e370fdbdc1e9a094d515161312f3ebb0e8617 GIT binary patch literal 11064 zcmbWd1yEeu)-8+&cXxMbppnMi-7P=^jRkiP?gWPr9D;jr5AF~M?ruSX1qk+&^Zix# z+*9wn@79}pS9P!5U30HmYt@)@j5*a5Vc~G05D^ifh(v^Rq5fucuitsic) zKyDz91sKG`X~t;@v;YD5xp@H)es)_|M~6L~9)}fv%+6aDxL?Q18YeALDyM_!o6^}9 z=FN*{>TtL`Nl|K_6*N3Lf?oV1Qc@VJ`BrdGZBApP(5==x__$}EDkv#Qa`sKFn2@%` zbR@3H3DQ@vSGm9n?=WXw=r(Hc=F+?>LW#Xh(!_XDQ72Qzz0OX~SFTo(DLM6ZbZk_l zYvIg8_Zho)6I8F6t`|FVfKO|?%*6tS<1izg6yF*(j_+DSM zQ2de`Y^*yVl~UODEnu`dt$A$8VWGuruUo(~k&5X`jCM<|NQ9B4BwqHm0?vs=J%`fnRm^c=zYinLe z_weX47da}b;g*WYk)M+~9+LGXq}g>}Y2^BSg7v5}(_vHEM^?f{!p^d&6oX|p_#DL| z@MPQ;*Nc?&9!vw+U!t)Q#dqU!=5zPd!~*hllk*3CV$48qnjM%O!8ay8Qa^(Yv1Ria zNU@PfjeLy{ zzTXlIgB>@D#9LExil)5n;F;#ZID~DY+pF$I(o2_&3y>v->HF_zJ zShsnX9$1#`(jl_v0*8dXhv1UpR`i1X4Kyl;y6T9nw@#G1)tDl?DnR0n`Jz1$7;roCbRgMB&&}FP2zgAP4 z;!PUb!0Pe_v1A4+cB|tYPL>C|+{4XtlSRrSeSP+5MkrSs6e;`CgL`maGF9>Jdi005 z^RBJ_H#j(hDYEdZHn$ZVl;RGU();b58#j?oy>+9vCdSG&>ABNNeGAb)J~X|oqfV$4 zS||5d)*m^Bi-Z&cViDd?iq86U3~J6|>$Y}F1k-T|Wx_E(h*ZbXwByWdy=9R}R@nSZ z`jyN95fFklpl@E*K~`DV6a7hg1^%TdCda=1=uthrv_kO|{(}4)giBH$zkV!+pmgSF zf*?AWbTjW6Qch|cJNenADiLOq8VIIDtr?#>i{Cp((PSrgC-iXF6CwH}S|W+Q{)lek z3eS@Pu=sw>7k2Dwb5X^ZLaJrWB_=T$(9rHif%mOefj1ah)?isy^W~D`~upK2Stig^8W4Q(3h) zMPjy*Zy`0M+Su@TC7T!XcYI{TrihAwbKAzsTc@=flC#rceo!%kd|K^=HNSw$(UEhC z)DojGSvKkrRo3jr4j=LS>4k3ldnh%prF=KpkBxS8@7cYizp+Ib`q4A`qgDHK2sVgSJN{|dq_T zLJW94OvKVTRNgNd$xXjGJ*<;3{-J+W_b?W|p#J&2GI1^9*}G}B&?UQ^UX$S{sE`8RV; zp26c3QE_O<{9! zoS2jw4c;kA)qOb zmLb_A$Ob)kGdD}Fwu<2+v(uO@%lOt$HJzk^T4o`Cs{-^0Y{2KJ;##CAap@#PWiQK4 zOQsa|NCvq~QHB0vU+V;-VsuG5xiOiBvpk&`K%BV5m*QV`x4d3vU!~1Q(=)~N^DoIW z*%z`)3}U92mRwrxIDGB<`t=uX1+CsISC@oigl`bb#G(^_aSE5;&nu4_Z{uX0jXlqF zEgxxQ3h4f&#qA@nJfIwh7h|4t#F>uzLFHCwt^rUb7$}Ln$e|DjJnomfy&vR5$kbWYc0){4;Rte zVpLp4OTX;8nzJiZ0Eis~19Htli6rubX}5BjJ+7z>+kx+CShU3|5c#1w%pb14cpdTl z4u)k#XRrS(r!dNi&Cd0kL_q8C3ziC2NF4Zn65o|VS-#SD!v8)= zTd8b&0isZV3#pZ=17RjAc&nJ>!YGK5L~g%9Oo8xJx&JC5oq0MSpB&hCO{gikN-WPY zr5d-lj2k-`_Y0hwyWYxDnSL6S*Yq2dJMn+h&LxsJz-mP`jL%ZRuM(81Kxom%nomr< zo+dV!R3G1jpuN5(ycaJszWK~kM=&;%7nE^aH(B%=vzy*8%>uXS)C?62F>2c+JZHKS z)fB&+USJ~D zMh$y=!Iw{>e^3Rvx}6mE6;TlI{u8PIUxSCMlcS3j*a>WI4RLjIfq?CuY@8sju8!_5 z=C2<%_U?9IH%AvsJ4a6!up5N)FOXSFH%wmU#SPrJViB7BG5B?#NyuGOPLhPT{o@+# zsf7pnFV528B<2yLq@|a28X|L4R(sxw&&do3*$<#x_UA`h#NJ$N^ubVZKE$FNnLNr2 zutlZJFrKD$fl={rq2A3`iIassZmTF#S6q(-AM?UCj71Xt!~Ul)9h;^_AGp}liCH}q zWXs00QPiEzUKlhGl~{|-m-Gk{3gd60PeQOjh|Cz)*b^xb4X>~k)G+!$Q~7QICn{J1 zZUAHKY!O+Z8s8_rf1&KCDJh2*%onO4Zu$wsL2F)XTYgn0q9DLMAYemD!I~BmYt@i>Ch)RN~COam|7cv;sZkL(0Ba1yZqO8pbb|@XJwin&VJwCxEp0E zHDnbAu*I#paCxfRqOss9`h4WqA&;cWpjcM=N?%`i%r%Di6arben82C-5tqpjH>jBNY(q*$Q6Z+v%gyL1r&Krww(`BxmiV~r zKqTVfNO;bBe9muZVv~lWg(6hP>F3tSd5G@tCg!nN=Kvu7z9Y}yDb33FP!|VF>70xMB9#G)^U%4hQe+oI0=vd@$c0|Pne41> zku~g+v-RUyx<<6Eow&2}IDU}g81(8NcZJK=(F{BsughzzxQ=(6F z4U+-yG2fyYFQGBYlvrcl&oAfEwq;qLr|2kgTWj20&fTzA?=?M6zF;^x7c&5hE5z&Yj zu@xHQ^-OkS0x_Oejso~~UUCL@6Z%me&wJU^w@8&uNh$ndtiEd#|!%)($>@LHGkdI;y2|WUufui1DA` z=TA}t0a)^YK@f8wCxjQs58(y#Sn%+f1NeXtE)al=kLQ2zCe2WF1%NxWagVEh8|}h` zE0fDxC4DTVxBv$PQd!I-&-Z$8t=N=eZuk#5vlkg5B-0lQ&t2T-R=ij7Y2M+_R^_Bo zaL?-cF2C1HM--L5$;=k?GuATCC}%RL)wKYLhHn$y$vHTN6Ejuu@Z=NYs)!O|1eaFI z4=s(}EX0&1Y-Lb2=OHINFNgN%`E90sMKB&BnHf?R;RxB;T)Sq5B_&VTmt~67Q#7_x zu1djG#HJjD(XwKel?dg*z(O;vxsNwvC;EHe(hJ?WNSj?`s)JHzFhdoJxQQDEL8W># zO5e2>TUnt`RX*_(>z2D&&v6l0l1|`Ok)hb&{p2pe9-YDN#cjyYP$^x^QMW2{FaDj= z3_>GKYF03J$>yeBAYUyA3c5rtm`;x*am4ddEa(;JbY1#fHiS8NXNV6XjEhKiauaC% zG^tY3r|&kMrZ_xSv()EnI-|E45U{EMgKQN!OY^q;QVc_Y^m#R@O%Y@ZRm5OJOIm;2BYMbXuWv&0SI6a8Ekq>6p)jhDX?dRcaPvoaVc zC@iG^+u7%V@Bl!Z78VdQGd>_ECkV^~Ft^||d>Us)V4>cB@&tC2Yy9ApYLGkrVdN{XRUA_zZ%7_{e1X;Itcmu*hkCI#_{Q%f&DZo$8+&KGwXw?)zx7o03~ zMT_girRS7ma#WmxoTrDZ?gqLuL09=f=*A80u;0?>+Pp=@z_6;<_w-oh8Q>Q}?mPS$ z?@3^;nMB&nCC$m-AcX}g?$D_S`oulvoKJ7&+G6p^_~VnKgXnh<2`9a!ee2SQYtKz< z0%$(-3ce4?A{Z;d)(Af=;kQcEAUrLw2+25Y={V^qeTbXozas8>+&34I(Q)4vf-l7 zpfr@v6HBhSpKuLN3@bE1Zk2sFvwN#gLN#rq&9e~HVynamEgAb8>ni2bORYH&dDe|@ zAw$Jv_o}TgoBKUt8C)t=Nr^s%|1awDiqpBWQ>Gf`qLZ5XSbCyufMh>V>NA%*SFo8F zlQj+2lDgQD=XZUXjS|&cij}O>ZOsIZwfk;y_wFhb(;~8<6{>v*c}T;;P%JYWtup2+ z)WWC{L!HC7cLA9fWG4Y^J)}ah`&#E=_IJIfqGP9mM!5UQd~rK9$oeQv^V^C|{^8^=0RcPPC3$ky(FGZkk&wOcA+&-9Q>CRBnfKVA|TFwXR1Q?pGn zG}#-reDKp7 zZzndD%tG@&C01s&^{ytyHzXmn^&K;^cX;aY@^^5FIZ`kgYv@J=Y7RqJ%y=HFW*w)M z3aUBRY8|A@7W>TbQaCn-GU>?VshDl#3r-MNIX?WF2LZN+iK(pOEw!u|nI@D4O5SgM zgzj}!Lv-DCf1!^|Je>#k*6JEf@&<-B^)o_4_|kB}$a0ty}7%p6)^V$>1|2+-9? z22)+0|KQU~{g|PBqI0~as^A;NM^S{M_DsfqC*i*+a@{8`h1h>#!x4?pLP1X(t*V(6 zzC{^6YS639wtU+S{U=tlI&x&ZeT~(31pf)INdBS<7GPIvGe@wCg}tK%#Lit?TSC+A zFO;%ZA9Dx+V0Ij^U>-0A2V*%^8Z@To%v@_|TZ0K~M+hwh~Ewq)c1K4YPZphK14+fVQ725J6=b{z3MlqyAv9q!6i4=R++>f zO(Zec%T;MUz714>QFvlH6uJ<~DJri%6_lT;^m=00?qx?{&Zs?}g#EzqxFZG#8iO)| zK7UuLrsVCOyTM>%Z(gI>L0EcLmhx5UVR;P>|2L(F8(#nq5KX-Na@;%@M<4DN4oUOas;4Isb z^bQ8uA02HmHf6Oero9^zTm1ggMbq6qr~+UsdY;9WFHF3)23}cLz7N=G2@gZF;Aw%r zje2hTq`%Q zvDCv3N3Iy0#W{gMY&Uvz5}udQLOzZ&Ek(s6Tx_iGh?hHMKar z%}r3>;J}NjHcvFOQ89W7@p)_%F=`}PwW=xp06akysOPa`rq*cHlrCCC73fW~W)3g( z(h+tbEZb~U&wD}9gxt6rYIm9>g1yWqGTKc~bTmCI3@1364K#0kQ_Q28+De!6)}kQb z<4PnR`z%I34A)Y#5-pkXRK~R4rrgDpXkJ51tC`GCvx}~>Gr(&IKRDofgqoUc zd0P%88CzY-*goS)e z46UtCMftcaS3NinoX{Wj^yvWw-y#=Os+=sCQ3ya*8KNZ$^*Uer4Zg@*x!w=bHnB6I z(uA1uY!C*$ThGuaS<*kCbF(Y1^)Gc9RoCQ&0m+4qS!qcDCrzYLJwv6mgq$liuHv za|W5pYPncZN8cL8MbfWhx}nz(GvC|?20_s3@NtB+* zJheW7wMcF68;ki%(A#piYIvJU^MpQoWb=vhE!h)9Mpvv_N~M8)E%58`F5`ZYwmFb_ zO3ULuluq3OHU>IX9uUV`zW1#;G_MKZ_US+4I}{yS^3xTEThHqN=)AjlYpr5+Q;0)C zU_IdYvhADBv(Zu6YmZe%&P`YmzD`Z6yjNtcYnO)?iwwsWoMj3kgR4-$d;EB61KQ3k zjQo1jT4o)%V`x;%N5+O)Gi~Yz>YBrT(2z!{Y;SI0hP4sqzO6!h~Zd}7Ow z4KG0fq7Rk}2lYqy*1Ru-3o_GmepBTa`sVVvG}9Us;4TkOPtS>VN!fPZsb+K$rS*2T z`?qwa(>U$8`b|fb>+pJ|;|^IMd{kEEFWcU}#*LVTzM{nD`(AAE^xlLxwdm}GeB}7% zc0#+6_GWZOZL}sz7k#>&su`mr)k)#LjEn<}CNA^%q3v5V`Fr^!og>|0hKgaOHco6R znFOCe(j0MW^M?j1H@b=UA;UJ%TZ&XC^o2NEX1p*b6ET4c0ScQvQk1_XocUffYf-6g zKMoLUN#cgL313<-egv!bD&k1uVO6A=8Nwep8V^ko1V@OH2X~QTiJ9@717|`P(Vl03 z1r&>FM^N}%?uBp)o~RZbM9*U~0Fgn8)$OsA`T;jxw_DHs4&c27QyYeYpIfxat_D3nqy5W06Z z${XGLe$J`?F3&+F0sJ-4&(}FW#1pf8XVWyTxqX|t3U<>WErYW;-yWo0OWY>L6tgWp zQ_sXzFThkhX z$U+Q&XZ=0-32_Rl&YmIA9*-%jNGWXu1Ht=p^UaT0+T~fI9LH2vYpf{lRSIf`8eJMQ zB%04k%UapWQ!?Q6v_g`!$5iL4_m!{&Zoct@b6P{1`jJ~Zb+yZkT&MPfYI~+;$L0k> zU$ONHSfse2@wS~|zsR+{DCbeDn@Yi6?QWgwkQ(J!5B_Mzsvw?Oc!_&HE~MOPP&y)Y zRx)#tug2!vF8ZlHsk0q_UObS#m5E`}sKoZ1ULrLduUpt>O@~ZBF~9XN(GSzzPDGqx z@Obgmz;9x-wN&x?FU=@?ESeVT;!82N=vg9!LQ|jBdYUTcA0EgmKS(#e+oBmI&bpc6 z+>GjO=2RjQ7V{@J_ViQL8i3+7npo7kMjY0DI~Wv_@&0`4<{>EA2|Ywwk|!~1Xp-(4 zN@vEQMJj5*&29lSEE@Gy6R5h1wmptQeq%ZxsJF#LISR4*z84-XHExNOnPy57J3Nt{ z{`igK`r1@Js_R;2^Q3^;0gmX6gLpDVZ4=Sq7%P!)qK&fgSEqXe zyD0wqJFFcxtlTr*j#^v$=h3pC+UmwwZfka^^W7eE*bNfiOY8cH>v{>NyMmgJY}s$k z*nQa2cc^jKnzfx)@FN!3FIkngedrpUuFcbX z7~YAFR2k77S;w1~~JZ5Eh|K}QWz zX5T3pIPlRQp&stfe%T7QmYyDPd`w`Fr#KJuP)4Il=^lmGX$SfH2n2{yO!RUHJ`t^7Dz5gA`xtm#KRV=MSOFA>q8OI2SJG{jfY=2vi5fsg&(vTn{{ z$J~vz`FE$Wp}{pVmIDpqP8J`S6kOJc?*!+-8EP=1+Uen?tgLpOnS@a$uH}RSb~wC) zHCA~O?KAiMX()vB?Z(RY2vYK0&Eu-ZYZ6-}=`-QB9&rqL9XK86*cipx`=Ja~SSKZW zm9YKip-e$n8h}T|(U`kPhUu5NNXwfaHt{O+GY2)QQya4*2HmD#@ZYY#R~rz}A0sek zcxQhbYd`@$x@(EY7qY!=Uz5D}cpm*_c8egUFo#y*hTGO%WWhseInBrbJ+lcUR2rzx zf)kmBB%LeCC7C^?ec<}%DBc^ni|GC}n!7jR;K^l?=Y2e$Durhk(*2o7>{?5D+R~m% zUCo~;oK<)@xdLF~6MkY=Qafn-axlXi$$DjGfLD_rHe+=1czq5J>5Sq{GySzBD7J6u z#y|DL8@&a)Vax7UL(&^!o!#1cWKxY#;aE#fdfnyg(VT{s4}?oDwMZ2BpH{vF1#5k{ zfRCfC&e>1Q4~==O5aQAbW~(v5k9JbK8Iw@u`Su%<&n9Eg&AO}YG)!Pny&6>89;?4t@&gJAdgnfz z>PPJsWlc@Ks@R9VU(e!Er|7efdzT9cSs#KEyrAZtm;>*f1Hwc0N*8{3#2c`!Q_+)9 zkDE8#)vldi_%&}F3l4;Ls^K~Bo-MbS*6dZ>cnqoa{haJvIGY{VI6_vKLPYyYSW(+6 zSH#j2wUT9Aa<(E6_fDGmeafKK{Yv*AVp)to6q=0+1%>bSpZL!IiC9`nc(^)g{zWW1 zlSCbR0hj}xB4K;2A+Yyji}`FU;0k894;-c=bu=pp)cu~0+q8J!I(K|;>(AGg7T~G0 zkQL^oa#MVWK8GW`2{}_)*F%a%FwCo{wCe;4Xll7oXPk$SgDb`HG?!D z4jo1R`nFh{yd5aAn0wW^a|ndE>-2Z9>!{;1IA;xg+%+4yLrx;SOH!%YpBryKt{Mea zO_x3;pPz+$ebug=0d*V&PtrdLBl1QmVuAxpz9P|AMuv(_*7HXr%jwZk=gbvYR&L%+ z1$`F{8qr<64;cNid~?piCzEHeP-C@_wzIKhC^ThH&`j}Xz2U`aEE!(;Wy*i#muRm< z-X82=WBFR{`yc9_D6ZN^Nf`d3I3*~CVt>)p8X}_%oB&RH-37+SRg&PA3KG7wH~mP< zI6?56y1GQ@st~ zxx>M9w`WC|zdn6SW^<>bJ+GRqvkS04&JA-gmi6~lzyYwy@&eC4`K^niPECoSf*Etq zXDs+CLaR#4;dj|M`cO6E`%A1l!%=w#g(-N2T2KrMn)*cch*;S1(@4f_~&)>Ns?@FT68Rg3zYn+vj8@|w<&Nxl7Ar@`bk9kf1Q>z<44qrH5;*I4SHwHq`^53 zKf)4lNxbkTOp}9PepB2YP#jo$HIMPa3p0K88$Su9*gXOY=_mn!S+%xvtpl$f8caoJ z9-bzFd?z@{@)ie8wr9~JRP=qoUm}Vm)LR$v*R`koYwe+7aH0Oy3i$U%o66f7aoD zRnz|I=l^+#x4!}MKOO!3eJQ+W1AsJyKrT=YlP(n8;A5k!LOLK4Z+5h1-&#hfY-NHD%1wS!IAUr_Q5CZZb?7`Yj1T?i`)GhaR|Zracd?d0zqtbE@z=8Iz}+N^Bk;7tv#W?z(f9T}8hjcq?2j;= zC*PM0SfJL-1{Sv^4p8{G5pA6#5gpe}x^0FS`lPT!zZ?4;GD`cQ8)NJTCbIdr)NJ;V z$nMT~Uih|{a`gNQ8IT#{c!hej%s@^+EgwvBkfyMF5k-+D&*brj9P(JPSMI0dwMq17 z#o4G_d!vlRk|Kd7)UKOm0va7Ke!qs;xY4$azxhOjj$S1;Q6|P#wPzRF0gH$$W1=98 z9)f;yFA9y_E0=X{EQi_T#1slv<;P{6R`D!q4>=PiIsl8mM|lA@NGs~y<^7px8X1VU zEs*P0TO%Oqqm}O?SKx>XRi>O!I8D8gpsUPy+s&I)wB|W$;B%;Q+u~UaX=r{=wE)p; zJ7YjNX7)^T`E#u+^HCm+ISsQ#i*8c#Vig&0Yr}|Q2N=HpI83&>u=g8uyaliVp%s9B zh2M>Rg$oZbg5Jgce(8OoNM6udu0AIiGG*wW)~cJeUo7TI#VH2MXf9n~5gG}{db`WJ zlwl@Ga`@U--Qt5}L#^Tndm#jM@RHm{`VeWnc}E*Hr(f)xmci;UW9iQ3*iVpbpO!GD z82lulA{QY80?u3j4rQ(4?5E0+1w|gR?dZ>t<>;yaR*8fJLIy7Y^-6T;Jy-Z=h}^t> z0NoMYbIId51t+F|blOlX(QF8TtaX+Y{VR5zd-H*ZfP9j`+%tSKrhpDhEIrB1ENovzF)QjyBn8xoNL{X;^@H+hr5+b;Jiu7M{@ zi554-=bci~k@CTlzEDcC2#A%>(Hi@2prGu~p?;tLw`TF~uV!Haf>;>YfgDY2?MzH< zq!nGXjO_nv7q+pic70?xLAOuH{i{8Waz>t?6Ksf=3(M$H#wbL3{ro7S0k5|NMp6#* z(dX+uZTSY|K~zH}k`EPgI^yztVKD3dIp(-&#Md-tB|Fv`sPDaw3(#f`2PBv})URBi zMtTOqb4L1%IfO3g`0o5L3j`l5eoR+$oQMSG9|=vWUs427dguG7Wi2`AAjaXFcGA_g z(-M@H$srCdM6rlAw#)Sxw2r4rm2zfs5;@)FKPJPXw8_kv8JSmwmxudOm|(ABMIAst z7a)%(EUr8(HM750^LFd}Q!%T*u~kiC?Hd>)H4HxE)}!k6_>Pu{Iv}#WxZv zO0F{Ih~0^lUf-%px`G+(?b`9~CcNl%jcLYAJLwC8mGk~geAsX1=wnfO$RJ_87=VlV zb|WTJ2ip#du8<$?Q(9arG(`l;tOVMTNPD1p9TZR~4ofXXk_v_vkm-=lQlbZ8Yf$9H zb;*H9IpGu?bKK-3%59``MWqKAP0(89JUOOOfUKn2vxl#Dp4Jio`?K!ZY?!9WICAahGOFJaEs1%S`6JLxW)g)2zmsq}g~C$g`}(^Ucq6$FBL--rhvd04*f&*Yv?? zdE{u%{NZFf!yIH&LssxBywaeJk8OPfFpOA-DS7{r%<06vZO!tTl|Rz&(x#VN`JPda zj16-OTHjM`{-lNs05yt`u23R>xd=$QZ+!Lb9Tn24qz?3O(*p<__K(Vc=N)JZ29dWW zu?ypbW6DIhK>~-49I><9#z{6P3edBVRg5PHG0%%(=D!)(t!FVGiJ1D+w6G{VrYmuZ zqGsNp2_j8XiY3a^Mo>;=4&_T*5$v($$JqE!P7JlDKJj}cPf9WxkY+pWg~;}vnr{juI=A}91D8An|c`C3DolpgOu$=Gt25a z;!y|&Uof{)+tmlwkrvh<5@MM>dN+%sQ zQIIrk`;n{0tZ)=aI(j3hZS(K~P$fhWL~!UWl#v>0S*MCuS}o@K9FK#+BiM_e`vO3W zJc{6@*Bb8$`A$y;z!`oB85grC_6)P|p0^}%GUxzza(fAYU2=c5FJ--V+S)sAd=6;0 zC>US}KS3G#-V@WyyaUwf=zqcmYb50ELYmg(-%Y{yA&Q`y4iF`whl`EIu6AnCm1xm4 zebSVv?$*3QQA-LJ_<9r-UTfa4?ZwvfqwG?PR1}=C5_!JqgH%1F+bo{AMW69e1>h)w z>SYx2DJLAWj#b*bzt!U~(cD)SEhXI~|BCvDR^6Dn+#yHT&RRC^IPCY2H5@T;-H6~s zTpxw?)Ls2hsvl*YW-NzMvVwnAN~B1Dd)92Q;X*`^q-txzf|>yY;zao4id~^ zL50>+0rQXxrMQyWB&iJZ-lv`tNB95WoPLnEt@u$SDkxcYuEn{2I56vx>C%=tOv9XJ z#;leRsH-KP{3~YV2&@=(pwk&cojDKul>w=E|qT6z#M$#x<0W2b=Y0|jSD6~t- zVugFiW~35SCu)dz)UsUNID@9?2}k23F$`0=l~Ozt*~m7C*_e03{0xwQDc%$ltphud zdy|^!PBEu(7=7}i#lF|DV8-odDwSTtZEaOd%OXOUr5hjCe#eZ_>V%`eIsv++>fB!o z#7D^Nv*&Se-{cXL0*=Z#=MvTn14__ZNq;TMn)aXMWT^eHE*KKX&EN04t^IQCZVKbT z?%lle?J#R@3vb)rwSEh4#{N0%3en}Db5#LNtJ#Ow1EAb&%dyNwuxIz|i;{~a&>a5W z>pf?4Cc)E$A>=1cHC?>F5R<(O&ZZ>HPoJv|m&HYKTkPf0d56LvE*Q&S)(HwOn78_>v@)yxdU!D7tK z&BF;~VfojrO#B93VZjVJcSr8+fRAgM`>ddM@>ltdIu%d zxr1LGn)a1R>aWQ$p+1b6K0?t3Ao+mGLTsp&?kX?$z!ui~QrJyODmrPJt+z@vy~wIw z2nvcqs8@ZM)nl-86Y_}#Pwc%&-&Mq+RVk^-_QzFnrD0Tlq>&;{4M&)){o)!bM0U)? zw?IJRibL>j6wE}-3Q&TrSUOif!KaRGteD-PYfM9o!<4vmjH)FJ7H4=GF+N&4vrOE) zC(Zx1X~j_N20bSuWDEy`R-XaxdpoQYtM+!Hq68s|Ay%3ZIye=xm4n{q17~igAn~r)RgP4Rex5Oxs z)xt5_?WnyH%msbX`*Pd52p)*mVpK`~15XhlEL~7qALduPZt05cizhqs1ayt^=2sli zo%camwcO(|lONcls7o{hs3kOYam-x9K7G67V1Fuk=?a!VrmEJmSAed2g~}+mJ715v zEbd0~`^Xf#!6!c<2id;GjA3M*q0XQ#jIyTal8WFcIkD-}Rh$rOAEw1)z&~^L3vfDR zm{K~~M{^A~tp>jW)CCOQ;NI;_L*zJr|1b++gPMHN>6{>D-E7&yb+ly$&yQTdq2qVF z$ajuutY*5W`bw3Q=h%oX@VQ$YWih8Dw&P}V5ypNK5>0D9YbStS$@e=h0w*ra%)Hkg zsqFZ%b`?S|uzymx;psZk9tH|Z6!HH`VPg(6PBsp1HZE=!HVzIWP97c>GczM2b|X$B zPEMc+_g^V|`pH)DcM88ue68;Nr2P;lJX+j?iG`JpDX~l$L`~Dlfu~?&Q=BXIbgP#U zoAh=>r%*o3M`ps+eB&4Y^&S|Ac!4}oWEhhwbt9dGQq#baHHn*Gra0RRagmhAk||rl zIADRccIVyQ;w5%h|PLvF9p;kevdT@zVK{;An z7`;TWS)(KD@W4XzudLzlfye-(7Tjt?kl}~%#632M{sEF2llWl&wrud?B?+FBq(oqj za{JB)-cQv|c)`IUV|9&}y4OqudKOG4%oAjF{QEihgidIaX>?@^&UG@1iDAF$FRyva?b zH9#$HlAivZusf1?aA|vk@$mBb z+?!Sso-r!JDoaIx2G1@h**;I>uBlc9!D+;g^QYsk4{2mF2!$EDdtyMpFG`DWdPE+( zmdPb#C$M|N;2qy<^VS1ndxl6w4`u&W_+xw|vN)tAEpss2oKv;P3xGvJMHv{tViVR+ z$%Y>lBy3cT_|`K-STC~(lKsrM=J9iVUl%NBdwP+*b}yvnJhcEAG*bY+DrD` zG=EvAucGJi4C7BtGVGcfi2UADU;gW!`e&?gv+%I6nwYX0flRqMSh=`(*x1=P%}iK9 zM(iLUr!nYXHL3fX;Nr&e$u{VjX&=)VU@IMs%UTHE(+oGI%R8~*N^}&Vq-EX4g{fy$ z-0QM?!{4tHx<@=Toe!HcE$oYS<-fn-izpgwi0~z13bzy4x6khGU?ajG@wMEjt&ZL? zmTgE~R4+2S;=-ktYTeCr4@Py9+buwdp!S3sdk${c5&1f(3z)}Creau66 zQ|1Lt%LgwM5AEUpjH&*CBqHS@aR=v6$SBby3!I~P4g_$R1T#vdS9zba?wjz5j}LkohzLL10!EVWnPZIUQq17(#Ms5SE!{il?7ecdq)> zmrBu_WaL(jRvctFLZzUGQB1@vA_~7>NyH{yrllACJOW$fCbz0vppMuFphQ}7Q2c=~ZGJn$lS<19?0v6mPTy?@S_rMX*F)Ta}sRVnO2%{dlTo60` zT4~)s2u*F$eTzia7N?3=65fcJ7A~YZELXo5K#m@2avl|Atka?~3}^I`WH}zc3twxJ zK5=u|VeOez#vbKFVJS-C{6*sZN}+wXl1@!@LU$8?RlvtG(l3p|@f@epA@>Iw{gK#L z=RQf%OQEB?)uqFLoDD4zR4LR$COHPY~twwZ+> z4GO1yZ}L27>z9t#jF3vejk6{^R4Q#@cRL&oYQL=W6V54BhF1eVMf3ZXRwS0LK5MmP z$QEp1>vPP};pGROeqq(In7I*iSg9m?Brz2P(FN^l8)4igJe*1Ad$b9JcQ!1mmp<`m zP2|J#@+uI4NJ7*vSVT)mdfkO*`x&W%e2qvZvpVmP<~JCr2N+nw3~#tK4BeXF)fzqe zm7sbQUtTu@5B221Qaf8Ez$~wiY_N@JK8D`b?y}$X1uqsbUC9G)Z*S)xdCf5u@PFJ1 z1Jo*fWi?mMO^n=m$OjUdK4RxGvrYS(R^&&CF;u5hu`>eFp9y*%Em z&Fj70G_mn_CA*p&c?*R0x}Hp->5rAX%W(|4_kK9a!jvTFH)`weAATAvH79d*kMcH; zeE(}F*|PT{(}`b79DPYMajFsGLjllBl#2Gmo6B8~QdB+8BLil7jTb~b8)Lu%+Nm1I;8QT!6 z{8!vn6HGu#^=dYc`jYf}J&PfB z=eu=O@gNy1{`Lj!nZu;=;WEsZdUx{l$geqVm@>g4Bx}&T)aZ^2>)j$I!;e`F(=B@< z8}N2*G;hCr?w(l){EizQir3E_UK&`i2mCy<|0!S*VntL8e^=%%YZQF|WgxVfXzPkv zu-Re@RU3Z71K`qVW+xn_E~+j9uLZTyXc#vVMv_P}%Cjy>(z@KWXyb~_ds6YLPfpXB zJtJrHm<7w)j34UW$qpiacic5dr^lHlbvQH~bn^RwfAKM~H1Nn4qF6B}!dub@e-vxX z7VSY``PW?+SZ(gX-pt`|wO2=yA-L?|@n$&+UjFaGsy zoQ7GDHl0+)L)*PHR}F(^EPhuTe}(x9S^07<_y|QQBoe=K3S&Qh@qXuG%jQGZPv_74 zfn>L(vg#ab?!tSrmE2zR+&8F6P+4NCP4iX}iPy&)v)YSAjzF!W@tE*7GS8%=v@vtb zb@tTjC?F0E|6(!UA~he1N~US}L@$Rq|2M5opNdhqET(Qal98&gEKkoYJ#)jIo>N<0HC+ck^M6Uu2Bj7sr1Mrjh?7Oot+E8?c4ohJBe)yckk zTPtGxGG5D$A!6$qFkd5bT^qx18zcFZ7+Y{s$iZG4do&3H;lS>0?&8VJ>t(p_b3K`Qs;^XmG_Eyl!;$CuFc-Ja+6fx5wYp~R=pxvU29%in;oU!VMqA7Xvu-`w{_ z4)o22|9&|n4g9X-TYuIqC@#x@0Ov3Ey)>%cL!(w94r#2|fW-(XwZ08w<^v;zgHxex z)2CeFvlXc9FExVc2mRC2#4~6bm#V_77gvVY3p1}B9)!u6f~HEmVH023BIUbb%-&}z zP5*KX5OZTqEn$81!}0fu14N!toykI{HGZ*ANd_^0rGXlljvahUIH7`1rz=|O@6Sj!BGi6f=?+fw* zPi4^^k99@>!^Mk@6+qI(cQI|IQ#Wv5yiUNdwFmawTa zSX*f{R%$L4=$n4RIc?A|U6Dy#n3;Jnmz}*4M(;U1F`TRW>vg3jG9DGA)ml z0SlXUNz1^g-UQ@3J@5g8;si<*Xv#WSXY#{T)(cCMy$U>+`3K(0j?3Uhg0CDZL-5_x{>-s#ol!T5hqnll&wDs~Y^fUSQ(}4>8#`ZQ z^Fw{^z{Rd`or*FtvJ+VGtCL8-@DL|%}duA68zS52K0zGZEBacn|qzh zDxK5$Ub*82ZhMP@GWR7HXUgfFKZDP56VA8yJ$`0({&YS&upH=(#m~mrv;F#0xi`1{ zlxJjRdvP8GV8|CFf&pivTw&^NY+0wq@9Ya_GXPH6cz%7a>Yl{glu@!zF1gMA^F6L@ z>Fww-c?jLDG;=Qd_KH``6@^xSIy(VdA znzgN2aq)51^rbH~$<~hB*39pZe+F_o6&_gI#@Vx6o;tSi9z|fU+MGXC%4!5lR(|4& z?oK&m85+)kq(^^h@@QxySQIEX_mB;8#9+N%=d4HSD>a0a?Yv&ff(3{Px%qls{^uX_l@&KCGA zbla9)R4Kh&bxcRXsCO!PZnHdnT5N$60a!FHB$t$1b#n>U9>bl%iM)L<79n~cB05uiRxtGnMUu< z7JI2F)e_pzW0h{YimKqJn2 zIpsooVenNuU)MmXiqCzeXQKcKI#=04PvK4@CTEpr_`G&|?;0s%(lf3xe8>T7iscEO zCqNzPSXKK&b;@D#F~c>@-o(1zq1~o$Nt0U6^u^}cfWjFHQH$y##i6O6@?rFls?bj< zxC=5AL$;CJ10!D}42M$5DoYV%rY9ykF{K7^vmkJnz2uva| zJKgX6c;+hP@!0-oZGiL*$+O@_A^_7eu?b^-ArzGxprgN2MHIOV-YFk?nLjwC`4dqL zBs=ub-%{mU*#8#M-yw&x1%WNiOd(ExMbP%M@}CF>zm8^kAGW$2d!>I+hUp0^VGRmh zxk=&-tgM%a8hi!AzY*JB5xDg_*!7|zarHb_7J5_wA!dHf@SGuU(W?S8?IV5w*sMGq zs1xb-mlFi})pW(hA^3(L4*j50X`UpvF`tv(}3 z$i4afA{&44)FvwVi2z9(-Fzx*7#x1oUVSV*Cp>|&XhJ*L?rO*3js6x(XErIhcue(t zO{%@d`Gj^hcHGQdk_o_^&v#gm;+%V>z414}LZ26zvc9fAQM7{&(3pzunpY zm--70g9G*Ndo_O-(f{15`A_>_Z`mlx{wK`e1?E4B`@fCxcMShr)%joa_kRNYorC|Q zNB`S2;r;;qS9SWIV1H*r|L`mSHXqdgCyD=0$iI_0{|PCA0R{E{B31th`SQ6})?zegZ1%>$g(fv(AYf$_- F{SOLPhZ_I@ literal 0 HcmV?d00001 diff --git a/installer/compose/zip_folder/bf7e21c0-83fb-4d2a-ab97-b8cfe9435315.zip b/installer/compose/quickstart/zip_folder/8bd664b4-a7f3-41a1-99bd-26b6853a7ba2.zip similarity index 89% rename from installer/compose/zip_folder/bf7e21c0-83fb-4d2a-ab97-b8cfe9435315.zip rename to installer/compose/quickstart/zip_folder/8bd664b4-a7f3-41a1-99bd-26b6853a7ba2.zip index e52e65940c7509f5da54fe7562d28ed938b47dfc..046848a495b1cd47a0ff2c14a4233a8a7c22f71a 100644 GIT binary patch delta 115 zcmaE4{>Yp+z?+#xgn@&DgF)BMW+QJBGc%ChT*S=82WFHD`ZIzVCxte$fEl&o2@sJ7 i5(Z$#WMQcQkj&&XD7{n44a{efhKPqsdw}^1q@4g*iX5r{ delta 115 zcmaE4{>Yp+z?+#xgn@&DgF)QJWFv19Gc%ChT*S=82WFHD`ZIzVCxte$fEl&o2@sJ7 i5(Z$#WMQcQkj&&XD7{n44a{efhKPqsdw}^1q@4f?VjC&| diff --git a/installer/compose/wait-for-it.sh b/installer/compose/wait-for-it.sh deleted file mode 100755 index c5c27c4e97..0000000000 --- a/installer/compose/wait-for-it.sh +++ /dev/null @@ -1,182 +0,0 @@ -#!/usr/bin/env bash -# Use this script to test if a given TCP host/port are available - -WAITFORIT_cmdname=${0##*/} - -echoerr() { if [[ $WAITFORIT_QUIET -ne 1 ]]; then echo "$@" 1>&2; fi } - -usage() -{ - cat << USAGE >&2 -Usage: - $WAITFORIT_cmdname host:port [-s] [-t timeout] [-- command args] - -h HOST | --host=HOST Host or IP under test - -p PORT | --port=PORT TCP port under test - Alternatively, you specify the host and port as host:port - -s | --strict Only execute subcommand if the test succeeds - -q | --quiet Don't output any status messages - -t TIMEOUT | --timeout=TIMEOUT - Timeout in seconds, zero for no timeout - -- COMMAND ARGS Execute command with args after the test finishes -USAGE - exit 1 -} - -wait_for() -{ - if [[ $WAITFORIT_TIMEOUT -gt 0 ]]; then - echoerr "$WAITFORIT_cmdname: waiting $WAITFORIT_TIMEOUT seconds for $WAITFORIT_HOST:$WAITFORIT_PORT" - else - echoerr "$WAITFORIT_cmdname: waiting for $WAITFORIT_HOST:$WAITFORIT_PORT without a timeout" - fi - WAITFORIT_start_ts=$(date +%s) - while : - do - if [[ $WAITFORIT_ISBUSY -eq 1 ]]; then - nc -z $WAITFORIT_HOST $WAITFORIT_PORT - WAITFORIT_result=$? - else - (echo -n > /dev/tcp/$WAITFORIT_HOST/$WAITFORIT_PORT) >/dev/null 2>&1 - WAITFORIT_result=$? - fi - if [[ $WAITFORIT_result -eq 0 ]]; then - WAITFORIT_end_ts=$(date +%s) - echoerr "$WAITFORIT_cmdname: $WAITFORIT_HOST:$WAITFORIT_PORT is available after $((WAITFORIT_end_ts - WAITFORIT_start_ts)) seconds" - break - fi - sleep 1 - done - return $WAITFORIT_result -} - -wait_for_wrapper() -{ - # In order to support SIGINT during timeout: http://unix.stackexchange.com/a/57692 - if [[ $WAITFORIT_QUIET -eq 1 ]]; then - timeout $WAITFORIT_BUSYTIMEFLAG $WAITFORIT_TIMEOUT $0 --quiet --child --host=$WAITFORIT_HOST --port=$WAITFORIT_PORT --timeout=$WAITFORIT_TIMEOUT & - else - timeout $WAITFORIT_BUSYTIMEFLAG $WAITFORIT_TIMEOUT $0 --child --host=$WAITFORIT_HOST --port=$WAITFORIT_PORT --timeout=$WAITFORIT_TIMEOUT & - fi - WAITFORIT_PID=$! - trap "kill -INT -$WAITFORIT_PID" INT - wait $WAITFORIT_PID - WAITFORIT_RESULT=$? - if [[ $WAITFORIT_RESULT -ne 0 ]]; then - echoerr "$WAITFORIT_cmdname: timeout occurred after waiting $WAITFORIT_TIMEOUT seconds for $WAITFORIT_HOST:$WAITFORIT_PORT" - fi - return $WAITFORIT_RESULT -} - -# process arguments -while [[ $# -gt 0 ]] -do - case "$1" in - *:* ) - WAITFORIT_hostport=(${1//:/ }) - WAITFORIT_HOST=${WAITFORIT_hostport[0]} - WAITFORIT_PORT=${WAITFORIT_hostport[1]} - shift 1 - ;; - --child) - WAITFORIT_CHILD=1 - shift 1 - ;; - -q | --quiet) - WAITFORIT_QUIET=1 - shift 1 - ;; - -s | --strict) - WAITFORIT_STRICT=1 - shift 1 - ;; - -h) - WAITFORIT_HOST="$2" - if [[ $WAITFORIT_HOST == "" ]]; then break; fi - shift 2 - ;; - --host=*) - WAITFORIT_HOST="${1#*=}" - shift 1 - ;; - -p) - WAITFORIT_PORT="$2" - if [[ $WAITFORIT_PORT == "" ]]; then break; fi - shift 2 - ;; - --port=*) - WAITFORIT_PORT="${1#*=}" - shift 1 - ;; - -t) - WAITFORIT_TIMEOUT="$2" - if [[ $WAITFORIT_TIMEOUT == "" ]]; then break; fi - shift 2 - ;; - --timeout=*) - WAITFORIT_TIMEOUT="${1#*=}" - shift 1 - ;; - --) - shift - WAITFORIT_CLI=("$@") - break - ;; - --help) - usage - ;; - *) - echoerr "Unknown argument: $1" - usage - ;; - esac -done - -if [[ "$WAITFORIT_HOST" == "" || "$WAITFORIT_PORT" == "" ]]; then - echoerr "Error: you need to provide a host and port to test." - usage -fi - -WAITFORIT_TIMEOUT=${WAITFORIT_TIMEOUT:-60} -WAITFORIT_STRICT=${WAITFORIT_STRICT:-0} -WAITFORIT_CHILD=${WAITFORIT_CHILD:-0} -WAITFORIT_QUIET=${WAITFORIT_QUIET:-0} - -# Check to see if timeout is from busybox? -WAITFORIT_TIMEOUT_PATH=$(type -p timeout) -WAITFORIT_TIMEOUT_PATH=$(realpath $WAITFORIT_TIMEOUT_PATH 2>/dev/null || readlink -f $WAITFORIT_TIMEOUT_PATH) - -WAITFORIT_BUSYTIMEFLAG="" -if [[ $WAITFORIT_TIMEOUT_PATH =~ "busybox" ]]; then - WAITFORIT_ISBUSY=1 - # Check if busybox timeout uses -t flag - # (recent Alpine versions don't support -t anymore) - if timeout &>/dev/stdout | grep -q -e '-t '; then - WAITFORIT_BUSYTIMEFLAG="-t" - fi -else - WAITFORIT_ISBUSY=0 -fi - -if [[ $WAITFORIT_CHILD -gt 0 ]]; then - wait_for - WAITFORIT_RESULT=$? - exit $WAITFORIT_RESULT -else - if [[ $WAITFORIT_TIMEOUT -gt 0 ]]; then - wait_for_wrapper - WAITFORIT_RESULT=$? - else - wait_for - WAITFORIT_RESULT=$? - fi -fi - -if [[ $WAITFORIT_CLI != "" ]]; then - if [[ $WAITFORIT_RESULT -ne 0 && $WAITFORIT_STRICT -eq 1 ]]; then - echoerr "$WAITFORIT_cmdname: strict mode, refusing to execute subprocess" - exit $WAITFORIT_RESULT - fi - exec "${WAITFORIT_CLI[@]}" -else - exit $WAITFORIT_RESULT -fi diff --git a/installer/compose/zip_folder/5e7648a1-f477-43c0-b47f-960e4efc21cf.zip b/installer/compose/zip_folder/5e7648a1-f477-43c0-b47f-960e4efc21cf.zip deleted file mode 100644 index f44f92f3cc109e05275172476931d97dba662621..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 9392 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 diff --git a/installer/compose/zip_folder/75ea6be1-f5c9-45a1-a0b6-83a030657cae.zip b/installer/compose/zip_folder/75ea6be1-f5c9-45a1-a0b6-83a030657cae.zip deleted file mode 100644 index 5cf1dd84f74fbf8d6bf8f571f95ec99fc928c8f7..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 5764 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 YRZ2SQ=#O7PLPCFhoE`&@PX1^0Ulc=Q$p8QV From 5db12e603f08f8bafb9bf1fde809b413c04221e7 Mon Sep 17 00:00:00 2001 From: Cccccrystall Date: Sat, 30 Sep 2023 00:33:04 +0800 Subject: [PATCH 3/9] Add the support to parse elements from pipelines and install the parsed elements --- installer/compose/README.md | 1 + installer/compose/quickstart/upload.sh | 47 ++++++++++++++++++++++++-- 2 files changed, 46 insertions(+), 2 deletions(-) diff --git a/installer/compose/README.md b/installer/compose/README.md index 09ee8edf12..fb76789aab 100644 --- a/installer/compose/README.md +++ b/installer/compose/README.md @@ -48,6 +48,7 @@ We provide three options to get you going: - **default**: the standard installation, uses Kafka as internal message broker (recommended) - **nats**: the standard installation which uses Nats as message broker (recommended for new installations) - **full**: contains experimental Flink wrappers +- **quickstart**: contains predefined assets The ``nats`` version will become the default version in a later release. You can already try it for new installations, but there's not yet an automatic migration from current Kafka-based installations to Nats. diff --git a/installer/compose/quickstart/upload.sh b/installer/compose/quickstart/upload.sh index c354f36d35..5083d31550 100755 --- a/installer/compose/quickstart/upload.sh +++ b/installer/compose/quickstart/upload.sh @@ -38,15 +38,58 @@ JSON_TOKEN_RESPONSE=$(curl -s -X POST "http://backend:8030/streampipes-backend/a TOKEN=$(echo "$JSON_TOKEN_RESPONSE" | jq -r '.accessToken') RESPONSE_TOKEN="Bearer $TOKEN" +# Initial request +JSON_RESOURCE_ITEMS=$(curl -s -X GET "http://backend:8030/streampipes-backend/api/v2/rdfendpoints/items" \ + -H "Content-Type: application/json" \ + -H "Authorization: $RESPONSE_TOKEN") + +# Get the length of the JSON array +ARRAY_LENGTH=$(echo $JSON_RESOURCE_ITEMS | jq '. | length') + +# Check the length of JSON_RESOURCE_ITEMS +while [ $ARRAY_LENGTH -le 100 ]; do + echo "StreamPipes Extensions Service not ready, waiting for 3 seconds..." + sleep 3 + # Resend the request + JSON_RESOURCE_ITEMS=$(curl -s -X GET "http://backend:8030/streampipes-backend/api/v2/rdfendpoints/items" \ + -H "Content-Type: application/json" \ + -H "Authorization: $RESPONSE_TOKEN") + ARRAY_LENGTH=$(echo $JSON_RESOURCE_ITEMS | jq '. | length') +done + +ITEM_MAP_NAME_URI=$(echo $JSON_RESOURCE_ITEMS | jq -r 'map({(.name): .uri}) | add') +ITEM_MAP_NAME_URI=$(echo $JSON_RESOURCE_ITEMS | jq -r 'map({(.name): .uri}) | add') for ZIP_FILE in /zip_folder/*.zip; do - echo "Processing $ZIP_FILE..." - # POST preview request with curl JSON_RESPONSE=$(curl --compressed -X POST "http://backend:8030/streampipes-backend/api/v2/import/preview" \ -H "Authorization: $RESPONSE_TOKEN" \ -F "file_upload=@$ZIP_FILE") + PIPELINE_IDS=($(echo "$JSON_RESPONSE" | jq -r '.pipelines[].resourceId')) + + # For example, to print all pipeline IDs: + for id in "${PIPELINE_IDS[@]}"; do + + ITEMS_PIPELINES=$(curl -s -X GET "http://backend:8030/streampipes-backend/api/v2/pipelines/$id" \ + -H "Content-Type: application/json" \ + -H "Authorization: $RESPONSE_TOKEN") + + KEYS=$(echo $ITEMS_PIPELINES | jq -r 'keys[]') + + for key in $KEYS; do + if [ "$(echo $ITEMS_PIPELINES | jq ".${key} | type")" == '"array"' ]; then + key=$(echo $ITEMS_PIPELINES | jq -r ".${key}[]? | .name") + value=$(echo $ITEM_MAP_NAME_URI | jq -r ".\"$key\"") + + curl -s -X POST "http://backend:8030/streampipes-backend/api/v2/element" \ + -H "Content-Type: application/x-www-form-urlencoded;charset=UTF-8" \ + -H "Authorization: $RESPONSE_TOKEN" \ + --data-urlencode "uri=$value" \ + --data-urlencode "publicElement=true" + fi + done + done JSON_PAYLOAD="$JSON_RESPONSE" From e40806c1b7b4576bf6ab99c4cde5cef3601618c3 Mon Sep 17 00:00:00 2001 From: Cccccrystall Date: Sat, 30 Sep 2023 00:39:10 +0800 Subject: [PATCH 4/9] Delete comments --- installer/compose/quickstart/upload.sh | 11 ----------- 1 file changed, 11 deletions(-) diff --git a/installer/compose/quickstart/upload.sh b/installer/compose/quickstart/upload.sh index 5083d31550..6ab6a39f7e 100755 --- a/installer/compose/quickstart/upload.sh +++ b/installer/compose/quickstart/upload.sh @@ -14,9 +14,6 @@ # See the License for the specific language governing permissions and # limitations under the License. - -# Send a POST request and save the response as JSON - if [ -z "$SP_INITIAL_ADMIN_EMAIL" ]; then USERNAME="admin@streampipes.apache.org" else @@ -29,8 +26,6 @@ else PASSWORD="$SP_INITIAL_ADMIN_PASSWORD" fi - -# Login and obtain token JSON_TOKEN_RESPONSE=$(curl -s -X POST "http://backend:8030/streampipes-backend/api/v2/auth/login" \ -H "Content-Type: application/json" \ -d "{\"username\":\"$USERNAME\",\"password\":\"$PASSWORD\"}") @@ -38,19 +33,15 @@ JSON_TOKEN_RESPONSE=$(curl -s -X POST "http://backend:8030/streampipes-backend/a TOKEN=$(echo "$JSON_TOKEN_RESPONSE" | jq -r '.accessToken') RESPONSE_TOKEN="Bearer $TOKEN" -# Initial request JSON_RESOURCE_ITEMS=$(curl -s -X GET "http://backend:8030/streampipes-backend/api/v2/rdfendpoints/items" \ -H "Content-Type: application/json" \ -H "Authorization: $RESPONSE_TOKEN") -# Get the length of the JSON array ARRAY_LENGTH=$(echo $JSON_RESOURCE_ITEMS | jq '. | length') -# Check the length of JSON_RESOURCE_ITEMS while [ $ARRAY_LENGTH -le 100 ]; do echo "StreamPipes Extensions Service not ready, waiting for 3 seconds..." sleep 3 - # Resend the request JSON_RESOURCE_ITEMS=$(curl -s -X GET "http://backend:8030/streampipes-backend/api/v2/rdfendpoints/items" \ -H "Content-Type: application/json" \ -H "Authorization: $RESPONSE_TOKEN") @@ -68,7 +59,6 @@ for ZIP_FILE in /zip_folder/*.zip; do PIPELINE_IDS=($(echo "$JSON_RESPONSE" | jq -r '.pipelines[].resourceId')) - # For example, to print all pipeline IDs: for id in "${PIPELINE_IDS[@]}"; do ITEMS_PIPELINES=$(curl -s -X GET "http://backend:8030/streampipes-backend/api/v2/pipelines/$id" \ @@ -93,7 +83,6 @@ for ZIP_FILE in /zip_folder/*.zip; do JSON_PAYLOAD="$JSON_RESPONSE" - # POST upload request using curl curl -i -X POST "http://backend:8030/streampipes-backend/api/v2/import" \ -H "Authorization: $RESPONSE_TOKEN" \ -F "file_upload=@$ZIP_FILE" \ From aa90444853ee0af6768a6fc99c9e6795299a6d4b Mon Sep 17 00:00:00 2001 From: Cccccrystall Date: Sun, 22 Oct 2023 22:54:14 +0800 Subject: [PATCH 5/9] Addressed comments,including asset improbements, updating upload.sh, improvement of README file. --- installer/compose/README.md | 13 +++++-------- installer/compose/docker-compose.quickstart.yml | 6 +++--- installer/compose/quickstart/Dockerfile | 12 +----------- installer/compose/quickstart/upload.sh | 11 ++++++++++- .../03dcae29-20f6-4a0e-b87f-c240d87de87f.zip | Bin 8726 -> 0 bytes .../417cc169-11e5-4e98-ac67-87ec13cffc85.zip | Bin 11064 -> 0 bytes .../58c0c80d-95e0-4351-af3c-fd8904dd3332.zip | Bin 9672 -> 0 bytes .../8bd664b4-a7f3-41a1-99bd-26b6853a7ba2.zip | Bin 7138 -> 0 bytes ... - Smart Factory Monitoring and Analysis.zip | Bin 0 -> 77966 bytes 9 files changed, 19 insertions(+), 23 deletions(-) delete mode 100644 installer/compose/quickstart/zip_folder/03dcae29-20f6-4a0e-b87f-c240d87de87f.zip delete mode 100644 installer/compose/quickstart/zip_folder/417cc169-11e5-4e98-ac67-87ec13cffc85.zip delete mode 100644 installer/compose/quickstart/zip_folder/58c0c80d-95e0-4351-af3c-fd8904dd3332.zip delete mode 100644 installer/compose/quickstart/zip_folder/8bd664b4-a7f3-41a1-99bd-26b6853a7ba2.zip create mode 100644 installer/compose/quickstart/zip_folder/Example Asset - Smart Factory Monitoring and Analysis.zip diff --git a/installer/compose/README.md b/installer/compose/README.md index fb76789aab..14cc853c65 100644 --- a/installer/compose/README.md +++ b/installer/compose/README.md @@ -48,7 +48,7 @@ We provide three options to get you going: - **default**: the standard installation, uses Kafka as internal message broker (recommended) - **nats**: the standard installation which uses Nats as message broker (recommended for new installations) - **full**: contains experimental Flink wrappers -- **quickstart**: contains predefined assets +- **quickstart**: contains pre-configured sample assets, including pipelines, dashboards, and data views. We recommend first-time StreamPipes users to use the Quickstart mode to experience the convenience of StreamPipes in IIoT! (Recommended for first-time users) The ``nats`` version will become the default version in a later release. You can already try it for new installations, but there's not yet an automatic migration from current Kafka-based installations to Nats. @@ -58,7 +58,7 @@ but there's not yet an automatic migration from current Kafka-based installation ```bash docker-compose up -d -# go to after all services are started http://localhost +# go to `http://localhost` after all services are started ``` After all containers are successfully started just got to your browser and visit http://localhost to finish the installation. Once finished, switch to the pipeline editor and start the interactive tour or check the [documentation](https://streampipes.apache.org/docs/docs/user-guide-introduction.html) to learn more about StreamPipes! @@ -72,35 +72,32 @@ docker-compose down Starting the **nats** option works as follows: ```bash docker-compose -f docker-compose.nats.yml up -d -# go to after all services are started http://localhost +# go to `http://localhost` after all services are started ``` Stopping the **nats** option: ```bash docker-compose -f docker-compose.nats.yml down -#docker-compose -f docker-compose.nats.yml down ``` Starting the **full** option is almost the same, just specify the `docker-compose.full.yml` file: ```bash docker-compose -f docker-compose.full.yml up -d -# go to after all services are started http://localhost +# go to `http://localhost` after all services are started ``` Stopping the **full** option: ```bash docker-compose -f docker-compose.full.yml down -#docker-compose -f docker-compose.full.yml down ``` We introduce quickstart deployment that comes with a set of predefined StreamPipes assets, to use the quickstart mode, just build the Docker image and start **quickstart** option: ```bash docker-compose -f docker-compose.quickstart.yml build script-runner docker-compose -f docker-compose.quickstart.yml up -d -# go to after all services are started http://localhost +# go to `http://localhost` after all services are started ``` Stopping the **quickstart** option: ```bash docker-compose -f docker-compose.quickstart.yml down -#docker-compose -f docker-compose.quickstart.yml down ``` ## Update services diff --git a/installer/compose/docker-compose.quickstart.yml b/installer/compose/docker-compose.quickstart.yml index 0eb0717456..f6f207845e 100644 --- a/installer/compose/docker-compose.quickstart.yml +++ b/installer/compose/docker-compose.quickstart.yml @@ -96,9 +96,9 @@ services: depends_on: - zookeeper environment: - KAFKA_LISTENER_SECURITY_PROTOCOL_MAP: PLAINTEXT:PLAINTEXT - KAFKA_ADVERTISED_LISTENERS: PLAINTEXT://:9092 - KAFKA_LISTENERS: PLAINTEXT://:9092 + KAFKA_LISTENER_SECURITY_PROTOCOL_MAP: PLAINTEXT:PLAINTEXT,OUTSIDE:PLAINTEXT + KAFKA_ADVERTISED_LISTENERS: PLAINTEXT://:9092,OUTSIDE://localhost:9094 # Replace localhost with your external address if Kafka should be reachable from external systems. + KAFKA_LISTENERS: PLAINTEXT://:9092,OUTSIDE://:9094 KAFKA_INTER_BROKER_LISTENER_NAME: PLAINTEXT KAFKA_ADVERTISED_HOST_NAME: kafka KAFKA_ZOOKEEPER_CONNECT: zookeeper:2181 diff --git a/installer/compose/quickstart/Dockerfile b/installer/compose/quickstart/Dockerfile index ec51556586..b1be08b658 100644 --- a/installer/compose/quickstart/Dockerfile +++ b/installer/compose/quickstart/Dockerfile @@ -15,20 +15,10 @@ # Use an official base image FROM ubuntu:latest -# Install curl and jq RUN apt-get update \ && apt-get install -y curl jq - -RUN curl -L -o /usr/local/bin/wait-for-it.sh https://raw.githubusercontent.com/vishnubob/wait-for-it/81b1373f17855a4dc21156cfe1694c31d7d1792e/wait-for-it.sh \ - && chmod +x /usr/local/bin/wait-for-it.sh - - COPY upload.sh /usr/local/bin/upload.sh RUN chmod +x /usr/local/bin/upload.sh - -ENV WAITFORIT_TIMEOUT 60 - -# Run the script -CMD ["/usr/local/bin/wait-for-it.sh", "backend:8030", "--", "/usr/local/bin/upload.sh"] +CMD ["/usr/local/bin/upload.sh"] diff --git a/installer/compose/quickstart/upload.sh b/installer/compose/quickstart/upload.sh index 6ab6a39f7e..8173ebbe70 100755 --- a/installer/compose/quickstart/upload.sh +++ b/installer/compose/quickstart/upload.sh @@ -14,6 +14,7 @@ # See the License for the specific language governing permissions and # limitations under the License. +#!/bin/bash if [ -z "$SP_INITIAL_ADMIN_EMAIL" ]; then USERNAME="admin@streampipes.apache.org" else @@ -26,6 +27,15 @@ else PASSWORD="$SP_INITIAL_ADMIN_PASSWORD" fi +while true; do + if curl -s "http://backend:8030/streampipes-backend/api/v2/auth/login" --max-time 3 &> /dev/null; then + break + else + echo "Streampipes backend not ready, waiting for 3 seconds..." + sleep 3 + fi +done + JSON_TOKEN_RESPONSE=$(curl -s -X POST "http://backend:8030/streampipes-backend/api/v2/auth/login" \ -H "Content-Type: application/json" \ -d "{\"username\":\"$USERNAME\",\"password\":\"$PASSWORD\"}") @@ -88,4 +98,3 @@ for ZIP_FILE in /zip_folder/*.zip; do -F "file_upload=@$ZIP_FILE" \ -F "configuration=@-;type=application/json" <<< "$JSON_PAYLOAD" done - diff --git a/installer/compose/quickstart/zip_folder/03dcae29-20f6-4a0e-b87f-c240d87de87f.zip b/installer/compose/quickstart/zip_folder/03dcae29-20f6-4a0e-b87f-c240d87de87f.zip deleted file mode 100644 index d28de9f868b386361a631b6aa1654dc0adab3bb4..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 8726 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 diff --git a/installer/compose/quickstart/zip_folder/417cc169-11e5-4e98-ac67-87ec13cffc85.zip b/installer/compose/quickstart/zip_folder/417cc169-11e5-4e98-ac67-87ec13cffc85.zip deleted file mode 100644 index c85e370fdbdc1e9a094d515161312f3ebb0e8617..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 11064 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 F{SOLPhZ_I@ diff --git a/installer/compose/quickstart/zip_folder/8bd664b4-a7f3-41a1-99bd-26b6853a7ba2.zip b/installer/compose/quickstart/zip_folder/8bd664b4-a7f3-41a1-99bd-26b6853a7ba2.zip deleted file mode 100644 index 046848a495b1cd47a0ff2c14a4233a8a7c22f71a..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 7138 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 diff --git a/installer/compose/quickstart/zip_folder/Example Asset - Smart Factory Monitoring and Analysis.zip b/installer/compose/quickstart/zip_folder/Example Asset - Smart Factory Monitoring and Analysis.zip new file mode 100644 index 0000000000000000000000000000000000000000..796008005305ccc037ea7c0ff77d7b534f7c7e45 GIT binary patch literal 77966 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%0A=-|HKQDvncUQXN0k)ARN_x|&diD% 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 Iq962s0GajK)&Kwi literal 0 HcmV?d00001 From 5aac22160204f2db01a58c88a9e8b94d896591aa Mon Sep 17 00:00:00 2001 From: Cccccrystall Date: Mon, 23 Oct 2023 20:57:58 +0800 Subject: [PATCH 6/9] Improve the asset name, docker-compose.quickstart file and upload.sh file --- .../compose/docker-compose.quickstart.yml | 9 --------- installer/compose/quickstart/upload.sh | 5 +++-- ... Smart Factory Monitoring and Analysis.zip | Bin 77966 -> 78819 bytes 3 files changed, 3 insertions(+), 11 deletions(-) diff --git a/installer/compose/docker-compose.quickstart.yml b/installer/compose/docker-compose.quickstart.yml index f6f207845e..c676359ea4 100644 --- a/installer/compose/docker-compose.quickstart.yml +++ b/installer/compose/docker-compose.quickstart.yml @@ -154,15 +154,6 @@ services: networks: spnet: - sources-watertank-simulator: - image: "${SP_DOCKER_REGISTRY}/sources-watertank-simulator:${SP_VERSION}" - depends_on: - - consul - - kafka - logging: *default-logging - restart: unless-stopped - networks: - spnet: script-runner: build: ./quickstart depends_on: diff --git a/installer/compose/quickstart/upload.sh b/installer/compose/quickstart/upload.sh index 8173ebbe70..6c0a2b8d4b 100755 --- a/installer/compose/quickstart/upload.sh +++ b/installer/compose/quickstart/upload.sh @@ -28,10 +28,11 @@ else fi while true; do - if curl -s "http://backend:8030/streampipes-backend/api/v2/auth/login" --max-time 3 &> /dev/null; then + if curl -s "http://backend:8030/streampipes-backend/api/v2/auth/login" --max-time 10 &> /dev/null; then + echo "StreamPipes backend is now ready!" break else - echo "Streampipes backend not ready, waiting for 3 seconds..." + echo "StreamPipes backend not ready, waiting for 3 seconds..." sleep 3 fi done diff --git a/installer/compose/quickstart/zip_folder/Example Asset - Smart Factory Monitoring and Analysis.zip b/installer/compose/quickstart/zip_folder/Example Asset - Smart Factory Monitoring and Analysis.zip index 796008005305ccc037ea7c0ff77d7b534f7c7e45..c3399044917984f4e3b0a0d5553abaa670242928 100644 GIT binary patch delta 43768 zcmaHSV{m6pzin(gnb@{%CllLFCYjjy$F^f&x0@S5MfYHTIE+ZBkJcI=Tp$J(E*Z}0Hc zfK8IBa*yFwxuR7tAf^4vf}5F1nJ{%+vm_Qdv01Un0(7_Gll(;Xj*!jcx5^Iln^|{*`_as_#HsQoU>KKx)K?!kq5`;NM#eY1;*sWRp)2mHZUh z9EN_SHQ}e@oM2`JVC>9fS8eEnW8NqKc_I8svqb`ua&EI!`V#*3!a_CADQII*IslXX zHQTP%{o^5+NkDH5hVykaiE3uhbEDnL9W(nOAIoxu(Sb%&^eElJT5`lL9=Eo}l+4w_ z1c74L)P$cQB1Ima!FV+N#5h$ElFzD*N>_eJ-rR2KiT>v>VEQLNpbJNjUzk#8Dy$E6 zg+iY;^!%EUr-(1Yu~_BVnalhubFh{a7(Y~WN^BgI863r5Jk%c&Dv>=y9Ql(f#Py{u z#IgAm?(pKwtFYYGB7WDVxc5jo^2cpkIzMiMic?GTg2_fIspq?a`Y>c8R>>Ti2}!*s zZb`2W8S>ydpg5KT*<6N@geqS^4q<%z4DSdbqko?8ENo z!tWM}Pm|B5^G6AFidh0(J~05@i>hCYlEIwf1T`HDAOjLF(;vL~t@Ag8)qB`6(>z;V z#tqHh@>&m*Y{QT^*_!`mCjGN2%#Dmlf>7R{J%WpuGjmO6$|3b2AALKX2IeTXh~2z_ zT99e{?ll}$&BWVHRayjm)utQqjKgOARka8tYD?oT!b=aG) zN~Fd;pxKlxp$Bh2t2L0Z5C+)FLd7=}=*21Ee*cNO1<Vh6 zS)QCQdV>NJ^r?OKN$V5%>Rs3czQmM@Xbc#;#|B*_#f`>>rN~zn~*f%5J{@-BGWp za8a~>cas|W|JqRvsXto&L##>!{{MmmYf3JF^2R8JPmX@x1@C6c>L`!PR8~7g#x4-M zafZpLO1PC29qlXz9s6|EpPQDBrW!q@;aDFj7}tuGn@5LkNBQp?j$o=Z1xT~7GiCtG zw+Ns>|7&8RmsB8$^`INXsdvV3s1XhdO?N&|Q;`*TJjoOE^g)_HV|RVl%_2RWNd*&t zgGei-EJKjhp9_axswLu=Xnw8>e6-T_5uejjp|>-h;M3xcAg{hX;$Iv)gD3k!jIfmlG~DF zn$@ozP5~DC7XtQx8l99M+?W5HC`2g$PA8Y1sT7l&wGzD{v62fEYnz=;&Jc`Jni@^= zD_lJwaNWarwAE=T+4My{_u{(O1g=p)!EA`x*D5?cFLtk-mo_mx^xY`7`t_-_)4JgL zQ5IFp1c7cKxNcB}^_ZEoj5u~mqaMlYog*7$dl>a}u^g%|)?-bi=o3%6F*gqYqN%3~ zjJ_#Cq?z_xTX}v7>aDqVM`dKyaop}b2Po5~bn7H za+0Vv=~RIF;Rseav1OSX6bW%U4^u^6o(@kPw(>h)TsnKgk4Z9oC*I^7xG6PosjiW; zZR>nde;r*G+D2IooSLyZ=p6^ZoIOpM4$vL)0{$!W2j03wAm-9sxB`54@BQiiF2CUlz1oIf{{d$UGH|#nL zjh&5<$sY#^ivWiJ)FI|w?kR_WBhKbN;88Z7A_cl{QI9uekpp07bIEAKhhoQ(qy0ieQ|7rA^@mmXS z?W_B-c{(L=n3P<9!ZF>Bd3`f0kQKhloRN(XcobNzHE8}F<|r;qlvx+Ke=s2{(M*eG z^*9XghDDtbtl;XNf8RHN0;#L^HZ!hBK+XwHD6`7xlz!E5V!lH{!cDsdsgAZI11cC( z7+UJjt$|Um52E^;w)HVyUN*5P6(RW?>CyVy7wIdmJ-gIhl2B>yQWFuC#UzGZ6m5c< zTZSE`mH(u7v=1>TLOfgZq68|5W`%`=*M>wI>%`WR`v&7JIRhtvU_XlBn|8dJR8+=( z2C|zJ#!?j!>(LJ4~6W7^UMqu=>4t<*p;cZI}l(7d=1kS+&9tx z9IJd=VsV%pSr`vyt~w@x_jM{SyXe~5TA{dk72Hv0^Mj*+c2f>oE!9wfz?B88!f;1> zi5)mK!5mBf!(}KX3>X84j5q9+esqnQQBC3&dN&}}y-^g3aAwD=6*71(LyY`{oD;f3fd*J#xRcZa9bz$q?6m%WfCO>Q58P4A#VRO}CIMg6Gh`Qdr=Q43D9iV$s`_>uQB_?y+{cEPXxKx`B5P{78w zJ=9qb_7yyZpvR9U{`@1_wjG^48z%c>kvc<`gRYcEUu{7B8Wg2+n?nS9(*y=1-FrdU zxkkYFb^p-2pBCjHEivcu9yUIkpIdPkzcMA~L8t~GkXng~_e>@xvAlh?x0igel__7( z_$-!S1Agrmpv6g0q7z~y>B!t&=BfPoq<)@to1AYTthv`^R;l#3Wxqy!hm)?Qyb_w; zNCAYW3#-I>)JznYeO>y}!?H^}@1&0%f?>1B#4mH!)bMn)~jF#{)uoiOYHVwrF2<(&CoF8Oo+18MWu z06@YPMPB+)XVp-x20QABY z9w7*s5Z$u`wuCRqbAy6hqs=P{K_$^E3dC=vYKLzoC?d|kg`&=|E}5dmp9Q{W|EdQ7 z!8=-Aq!C&|kqp zw4PTL67WyOe~?pv#GBpYHlnHu{DI0H^6FBsj+8zUYrBXO1wrA9uyNVQ!=@u1QWe%W9WCaH zq61zUwaU|o9MSk~qnQzjPZ5mO0QpeE0{tmDP0Is?U=R6b6UJinTtY4E!>f2 zG%ltpB@e2i*xs^51&4jQPF({qT<3A$xn~0dRh?xcwUIJ5nrik+SRZ9OL0=x9v8(%_ zUTC_qe*66T;9Fft&bpt-yPw$JOd=qt8OgyYxD#~8D&KT~-B{aAQSuPK`OvGt zmylE5ZbP^6iu+Clakm1OsWK=-w+32OH@7cCr)}~tQmb8rN!IE+7KsCB^(oP;>QBJ1 zrwB5jL@(mH&>59+(XxdU9oIs3g)2L1SRuTxM#? zj4@|3((Kg3h2uOAV3q*bw(wxj)_F2JZN~V6i}f;l-!faOI%s?SeLZ;En;wHwfbNG8 zFWXa1m>v<5NJsKGh_ug8P=h8K+OV4fzGKrXb64_W&l{>x;8G%><8H>|E)=+FAu>iN z+`xsxZ%s7zn0J&)>6tW?d{E;U+N7@M0-Bc;CoA4)su*udiS!IW{Pv%Pic9qj4*~&! z$b&&Dlr!QzYw2b98ae>;c6w8oV*)(k8$;ZA>37ajj{Jdj$UO1Z{JPK`gv-Z0=@Wyo z63m0Piek6su<9gK$pAq-*Xdd+U%CLo<*+Oy9FJ3qUYvR$uYOJ>DZ-^XlBAN5=9>4S zREkb?C`=^rrr7{6|7TEXJnkCV_@7y4zZ?tgn*`vo6Mry|W*Mok`=`=PIv~vXjr~DJ zRgFBhZ;Iqvu}+K%NJUQ|qhw6ig65zQUn&r(sQ+w@K_c0F}ihd9V3BWr!`3%Laf{qlN=TJK0r~S{^88byhLyo^*Xby2c2|`ogi8x#wCLbrI|a(FI}ly_c&!#6h!>eX>GzP)WC%; z?rOqOt#MrZ=~Ga6r1d(xYas-IgL^f^Egeu`v!IHD8wDZpARYiAQP4NHEoaAS1t$|w z@W<+H?`R<~#&RSAHagjU*7d$SZq{PW;~Oxlt`c`$m2$&pfb-Fe;wQ8+qd%Lr`)uj4 z(X!LU;x{i4XYEd@>z(m4dBAot%@;zJC$Is=86tNYXc2q&YPDX$9OxWQFbjB_9j%N- z5aYF!1?a!3zTBV+=DxzBA^-N2o7?3qy%h&nXFh#?3ACL@0oGF7M^@4mX)Onp1+*hgC@?FmD1@8+)>(-ypE+#9!wmwOp3=% zvsEyN5-!Lbx_GZ~nr^M#xPHhs!)T^rATr|D&r;1am4^Yna*5iZloUs6pN)T=RtgBb zH1>ue1wAcq-AX-7v#$XLZ4Go|X1L(mc;8Hie=gvVNS1olI$%TJfab!~{i+}+N4Zc! zTQs-cImGB7r#C!p(V2Ej!3yYrM26FZGeI3mFM zcA-PprbW(Jd@fY?2<0(9DDrI{n{I>MX$RiWqFqTJX*_;fFxpuc5#MpX(wrD zN3PL|)G2f**JdjBoDCjsU2N%jB*$88`Z!}*U4U;}2+%RVsA-$NuGITEmoKr{py)nE z)W+!G`ygWR)d9#!S;6G!j^{3nnwfL*9Dh-2+AM8uV@C`!(={2AZ&>2wuf89#E?F*L z0;WJo$|=eGIp@f8(m%?7BakO(HL>6u(Ka;c=Yfd5=%q@yZr@v`;Y`i~b%BCN6CI6L z!F^z#;o|meL0uN}qub3Szmmw|FAtubKNr({b@Dyuivmaqc*=LMIf5w+xMJ|!Ylz7R zcyRLM-xVIp!{D!)rpDsA%z?0p88~o$gD#QRV9Aish>|KoQa|RmU%hQ2<0CihpM6LX zqOldVJvJ4X^HBP4pOoA=D?m9be3;^*3FLj=5g%g-;-QrV7!lRr*rE05_aX0ZQx-ttZ0AL@!R%~T zh!Fj6{V!qur$@E@x5qf<6{!&?{5!i`))=^89Gc}7x_n9JAE{&gY(wJl5@GKta zatq&P+B|6*2=NFxKmdgM%)Rg$Y5C52;>S@Ve89(Wd{4`+YipHQY{pWW7dZMdr4>HW zsTc;eEm;RcQV*<>oAeJ%j?R;q@W)a#GNua{Yyc5L6%x+NRqg;qvY4D=ihyLoJ!At8 z4(PUIaeP+3Ut?WJK6`f^-8D!R0=&}fuf#~5vgcXN=(lDB@&R9Ys<<0bf?siu15arm zE!e4rDn0`9-;|=|`SEpry@3Rs;S(~%HWc<@iTBqRq{FAe3kZl zK2OmYx2dSJHzgTO5H@?(!2_rA*ET=c4k+yHpDu#$A6xZdD`H3Q~zU89zW zIX8CRAKA}l19y}x?5hyjEO)gA1o{I-At$||+D^7$S3h^mDX!-iDz~zt<=O4d$_RFJ z5gr%NQt&q=k5PEv6uVGtCA4w;kq-=dSy~>|_#rqlvPMQO?n;I%cop!2sap!Gc|7g6ED0Pt2^Y1VxB;|k z7r9e+`Kx<`&%2hcoXPFi3M+W$?FYy1s2GBa&LRKxE~4vtpC_s7T6%%tyygDSlHJOy z=J~gN`FF`WpQJc!aY@e8S3mD`0A7aBXPvE8_P)Fe^0j9jqnsWlCZ9TQ)m@I^e&n2F zoNy~iT0ZSCFpc5=&)?^x`r>TPDTEX>IE~AepQ%aB4t|r%~2w0P2p)~ zF|L6KPC}cu7b8rZPMlqEXMu!vqF9G~v1MV2;IiF`?wUR`pdeTfbI5BQ3djsbkj->+ z>a{za58+ZJno-f-y%wgKZ*E=}vX~qd5-5^cEHY;Z-n6IA zz_EwKE=7Kca8AUrw_Q-R8kCD_?V8IK-&_pku^z=WlmC&GWrBK8! zG@d%wi!$dPg?#API7hFES8bbA;N^2u-dW%dj9tlBtXDg)a_?o#ro|Yf(_TShc^P+>+`)Ce1K)O8ovK@Q)Y| zBx;4Sj|v1NiU#~Y#rTG7-ogJ!ho*x0|9UbFFk;33*PLlsl)C$mcQYyz`>#Tu5ED$+ z;H$_A^{-t2ro;aq-M&Rr@IS&MkI`S@@nE$6AK_6(VAGKpr=`;$&ylf*{VmM5{q6x45y~e61o@1xPY1BKN#_5UNQ&jqXvMVJYA(jakv% zM7q5GWyun5!Yva0LAG{-r7>9W{Fk2hSj`USdtXbNp2!a>^^@%Zf9_@iPgd479LJZV z_mztd^O{6;bnpjqjNtMGK#$(pSBI7Cb8634It-3+M_yhudY>)ck4}0^7hB6cXm%+_ z2;*o*5-MKoYCmjM6QlwS<4S-GZ#=eQe|>K$YGp!>`vl`s-D5Z>HcK(<@MJ?F)VZUd zWmjxjynTQrGdcb*4T<6+V>5q~U(3yXcFM)0%!R2G%A)w}67l^iX?2AfmQ#lf87-`YG8Yg1*~E}F2e%jqtuGn{3nN{jdfqNk7>{1zkD+u^ zgiHHiyACi1NF1@MgHn)Q?8}8QOH)7^rjz@1WreY~FvRcG~{&p4)tj8k>s?^xPZa)b;LvE3-=d z%6<^t!KgMZPan)NP*ftdjS3LavQz*KyXG8_oX{VbBHnI{wN?k5dwj}R?tt6)9Su1^ zt0F$rByq3TB+~Trt5Zk3<9?zqaaL>5UV(4l|FkHqp-w}r4fJfhG zI6+@p^Pp0pPKY!9oR_qAmt_|KX_t9)U}dwH#(SI}>7lhw1wCUU553OhBNLb)N+2lW zFAgV;OC2O`x7Y@3dk2Juj*7yVBxK8p${v;xVWX4Q59Rl!tSXiH^zID|D9IVDwQC54 zp!=bkv3$+QZu_Gws68<;Cmf1l4(_Q8Tu1XU%T?W7{a6BlX{NpI7=ai<^9$C!Kbp&> z{N#C^-yxp3lDzlrwTL7(vQ9x_B8jk;cEiJFzdVMm5)1$=(CFfz*8aT31#b4tYeQrk ztsRQS_YoDxO*XIScRH;PtQd5L5F=ZycZS%WcYeohA!uGn%zToMlb#lp>WjlXPZnN+ z&__FZg?09qm-@NNm33WeJa6q}^(p3T7Ex`KQYv&6(ypkbW zfz?Lw{J40=#5ZGiFD?VOLn!Cr-t(*jxtym1Gm*>`Lcz_#=t;Wx9Fij+&p0l1+9GYA zpJmAQHVR*D0weuaqS`EYxkv^ebzjtO*-4mJ1}V(y|ha1QsP#$5Isnh^Cj?`Lb#|Fvig3M0{oVD&FaK zd{NO!I>}@GDCo=GORV69$d>Z0t6J@i(`=u5BMAyC-fSK-xy!Kpa=N-YW|wB2O$<8m z?_Aii6nrZ%YYk>wbtg?Z5Ce88#b3ncEolJ878a>@%fDYqI7;Yu@3Mw6_4*PStj|rLUZ>{ zTLX^Y3JJO|!s5}+ftnrvW;#$HV107Z$g5a%7#B!r)gXQKp?4XJ+e^8_VTDPaJYcYT zuvlO|X>=}WEyWiqQbpIJ=ta3L1{wh8v;t?|l8l+X!96VUVRQ_8=3X^iQx2@6&!y)2 zXdvQb8u=a#;;`@n_vgDmD5PJ#c(ndd{U$p&QB!y0ntEwh5#fO(X&IIF))U1Es?u$;|`z~Gg-Hp zIHt>HDcM*nw|jxrxqp-%>Bg&M>ThjqV7bVi%+10yMNU|2EcNGX3SS%Q)NC>MG(~02 zF3r$rYFiz)lEQR=csnT>hER9n|23~MJPtF{?JTT>co7b8^=`|;Pk0@qkk=;P5*rwr=t80RDf#Brv z;qcY7DRl%S$X4rByY4 zJw*VJH_p14(KRWp>16C|9dlPbX%%3}$}wCquO-~N;MzIiS~*DDznQ#uDSqP)$evEz z7~u^uMYtYk>{PRy!IEK~ZV-ygC+azNi(Z%b%9g9CFy@9dAI*0WBb9V{3h$C`3VoGM zVyNTQ@6*W=fvnURJ^~nh=IYTWe>QL}_BZ+A8BYooX&{$}q}C)-C&5tUa%+zm8$Uz(KUZ{(yo`8GEMG-fG$w?x1aYMtM0xxXTRE1@>{nOD}6^dgstEb5)9X!RX2 zj#MCBNM=U|w%T$$qP-$?Mkyf|LCVCeL%h%ish4>&`)u6HxdG_JW>tti?2AjR()f>< zoKF7uMm78~UcZhqJopIok~rFXpD7rlzr}mWdVT@Dy7Bzg0(j>|xBba#^62sTwe*Ct zIlRW;Ifl+>+O5J1rwrwid4#of*h4Oe4;3M(0oG3(>*Cu8T9}2V%Tnzofo`&Xv_!=t z&k|(JQ(1v&%>vj3l2I{$E+3omrV*luWEQ8tb>a#SU#RGQWR$)=$%T$L!2vW&KCq0} zJbXvyVgtMnjS7ey7o(zh1Cj5CD~|0}&s}eRY7H#k*weP z_e?ia%S{0#F=CXs=_5gnr(5TUPHfEVEDqsb!{3;8lc@#uuyO24eS=f81p`UQu`6|o)_zoIu8P!Xns>7I zpAo=T7;60()XwiWv703{LrR}n{jy+7`zE--fQx3)G+I1IRoSpM;-32H%N0ZftE2&? zr`p3TG#+BnFu$m7q^SC!QQSDkm}-;&P6sX$Or9`;xyImV2_a^k5)h2#xU{)?W@TCx zndkha@(}C0S`gv}DdGnC!xa#O{H!RDi|oB?Mz@`v!Q4FF{NCaInSzt)U_{ms%3Apg zfRV-65B_Pd{NCtC1lRQsG(`jdWgi?wA{e;*UP2h_Jj&YLxlTWOz20PBPKF(f%{Qh) z0+NrgkNr+1SuuHCsF!uIiL2`nPw$>T58x!L0s=%EvfbR4JEEDb8)NJfa4+YlD^nTz zD^~|&mNjb$gqyJaUF<^Y!0j6G^Po;lfZPZh%1vK-2q&h$hzHG&e)y7G_i})Vz0<0R zK!2Vw8NSN;<96B2Ac}{;)8g9S@O*%YnICYu9cCMXJe~*=Yt1G3`aH*A-32XaT|68n z^X*;%e>A#eC4feoqk8uH>vc^)M#dwB#BJNU^kn&gPoqWZ1;8FzYmFgg*S#tF~S z+OG}ve16=hKGrPkRM^TWS*6k3Wb0rP=|-QBXjtaOw{P;vcL) zh7Ep5%5V2T!olq+i1_gc7p|a#%ps4@prpmCM+mVTYfSu@!fLX$PYr8rzqekZA*#M+ z)Bt5*+EQy3?6iH$x-B~k(KwO-9!rnmFE{_H`_Dmx?@W7?1r%%dwAOv>W}QN&k#aF9 zpsx%gdfF3EHVF7I`|^2QtyI|{OyYv@!bvg7(e4ZpcDfB^`gJ`A1~vcgu)p_vRJ(dZ zJQ35HmXEo0y=?J*np0!gW$`1foFM>uI-;=Jd@sOsN|qih4OQq4Q1&kXMOsZN)M{3$ z7zDM}*s2#^X9|aeIT%QV%bf}oXCs2KApVQN{qRsq|Dt9QWGE##q(Wap@J&oYNnlBK zJW|2fb-nP3kN`+1CGE)UC{jr=Jh&V_iqezNUoslmy3DAyu*6mSTe^HP8D$=4LIDhs zCV8j>Q8npMtn;!SfUlWTiDVS{@Inwz%uy1l(r+I~#fuWoOR83iK95CC^dAQs z1PoRJlJu$WWu5~I27WEO&>_N=6JIkmP0Oqqs&)){YpBHLcA!gmj zUT+T{ZhV}3sP7^jLLJ60G%?UHP+O8qMe0^(DetMd3a(qJF2Ca7J%S!XWIP^;(Dy4r z3WdEI{Di3oO@m>|kciOpIex^#AS)65R-_iqZ4sgt-D!Pt<9RbI))Y6!NHJ9=3TBv) zPokUfg>tD#0$i$fQXA zt68vexjEDA;JSRGGX83H-NKvp(IkJ+RMM)0pYU34v#Jo;bUW0zq$0eVG+**m`(AL= zH#g;XR4yE1$%#`P=GLT1vy^cVKX0($J0?}=^EUg0Gtb{@Hbl)szlky`HI7}fw(0JV zi2yvz4Oz2*b@!j_(dh6QKC$0-Y46ei=^I8>nmrBR@b7A?0CZV8`Na@4i8kLK1RW|D}&ZpnuU{`Z(+b8UvO@$k`IR-NOQo2lWM$MA$8chzHFz zN1X#D4S^TPWRE{Yau)J_?sRp$-vYGBT&CM*O}Z{>ir83jy8s%u>gCTV?{SSIRU%Xl z7)9F2WHby^ijXelNlVgo>Ja;*+7eTY1W&GG-U9TinsP5*s8IL)2t1{OE?^A{IG`SbCd> zo#nA|sP&e@>~guPH(*uVi{Dp9Hv82cuIqA45hIta6J`stbyZx>EwokSsePEt0XIH4 zQ)7xUr;@b*pZ?lJGh2&I@z7x&tYil#5BII>tudV*md-g7C>cN2^o-mJ!9c0MhYm71 zl3{(GT>unnD5D<$D#0d%STvOp$q)pYJSQvX&mNW^6e#_mJSsbLoQSHV1yVKUHKG_R6 zY?FvWVhDNmI1EKvzNK7m_PENBL3>QwvDKyQT0I~Jd=t2~T3*>%S9PFV5(-G5LqHHP zZmFgpD7(W1n5HsP7uzGYK_()OP|EQy)v28u^{LbYy{lC)Ubx<9%I$TUG+;>eVIvs@ zq77DapjZKYWS0KO>pI~pb_elPBOgJIT|w?|Fee@`J4~<-yd`q^A$CcflM$Yfj$`wk zD16)uZbM%FYxsT6pMDW;pd2VlM=ky;AKY!9x#534kKI0#pZ?J8-)WtI#H;Yp^^*@(yuE&r=d~7g-D`mP^{}G& z@KNN-_6zLwA}6@V=VAS*hNQX#@33Zv|K|{30~H>-ORopu4FB=e@?HrN5gsCZR_mp3 zEEY#&Uply4A*Lb%8G>GiQhy12h9`L==;3;99VGH2G-nNSD6zumi_nv2|3tifumI+~ zgF^RXmsU|K3^PET!;CV`K|H_IAR*3L!R&Qxs9tE!^&vGK4Y_3YKr0#-k2me72LcNq zIM|*rZad>RI$YzRnbmc1xr9|ldc#fjI4abUTUZ+{#h%AsN>9V!w`#;*Tt8#7U)nA! zOZ{VD8iPx-c=##9B9ttsN$SrtUq?@YuEL>u1KZ1ie2h#5V{tvTP0(dYHzV zGzzkn=?OS7)yR%ueA$;{kh2teYR_=|y=%Ljf@mDh{3;HMJP16@uloowbT@>I87x#y zceS$S-v-d!F4UHYUhI^8G1Mxzq+N zmNppV#JbH4*q$Dljb>qX|A3biXtd#)Wg+~i^v)E}G64?ALhB+a_P2H`4yD>C^~htLz5Bcn2a(($-6;Rnzj zg{m@S|BN`Q58(uvNn0RoiVO){z0Nfdn&0K=DX6 znsBm=;7oHXWC233E8=Ra6F=k0*ie)3weAIqPs7F}-14n0tZatEQbSocg8ipE=^e=o zjyYhD$Av^P{MhbdQ=$h@n7fWL}1I3Sq zG!{4^*0N$VmHv>~O+;?j$_B}!Jp=U9 zbxftntS?mbFj}bzp=P74UkBo)xRV0*3YW z?++ZSU9O*J1MokcEiyc=o3SA1OO^OYNlXv@Lig`FdU)Og@(UG!xd4{J@XiAHV|U^m zIMu$C>}6DL=)K*KD3uc9pooH_Qa9jW(E^a;9;GMAUE~9v7e&}$E_CRCB0br#E z8!}&?cDH{g&Ngs+-2N%DENY8g5s9%<^rXj?=K-8b2G5-U*`p1nDFUKXDYj0}8^-ck@D}^_nEoc;g~*bh$D{kOF3!lf)~bYQGMr z83g#GKueD$$#8g%8(5{LUT$ZW2iHV-x`5XYtqNfNdJ<_?qENCc*{pp(oLl6PeMX=j3RmD8^eR#*Q{e<&TBEkCRjEw+!>#SG z`R4C?ijGc_%!)if}po(Qkno;2Ay#Q$3S$BL6?DCY-_z;Afxfl3G{Ko^M)v#(a zzyShEZ2Mmx*#8qqVPrBfVdXM3VKZc6VKp^o=VCE6Gc{u~GGjGkGGbw3rMGgl{jD3r z_j7;|Dfs0pe3T_@e>K{gTu>p*FRrZ}FnHoHT1T>>5{~qpMUGvHb@S=wbn}u|o=Or^ zldSrJ{;REN-dD9ZXt0h01dp4I^X!$d)x`A|(VnSX2*XWFhHxKRFF{Q%5b8DMgy{y! zvT#RrGKe#uQ}jwTOIJLO5T!N0BODJ4Irjo!7Q<_N@Yy1owX7h1b_hf?k z=8u58EEM>av8MC(k1c7_#`DB=Ys9urF_~z)AKTl>*~u@FmZ1Jwl)Q%yY{hA2lkk&_ zJ_e`@X?Q+9|Ar03NYIkk{)Te|{ziEIM|`K@%1i5SLbvC3S(08u2pJqZ#(p zR8jky4%Ebqy(Wix(z+}zY^LWzyzWU_{Il#?rAO0N`&^ju0yu%|f>S7Z~HZ0-X|PPte|b7!8Vmh z$qc1-Sk68`xRP3ydjJty(XIpex*j@X0-)is?%khZ*R>O2O;RS@G1vLJCFGo~>w3(? zujlHzl>4qp_h|ef+U`ae>U0N%^v*!K9Wl5>u3g1kTI-WNNDnxqTAAvz=4aoAG$d$$ zP^R0Q*Bxm)YIwTH{-N;dkD9GnUYMBA*!F#ibBp1pa@@?f@e#8xchjkmB@sh}?mv51xz3y9rh7v1s; z4=LL024OxD;oQEWhDNng$Ypn|S-E=Sajxa-YKF&^*^dlup>X`I+z-QRVgA9ujVyQy z0++{(5Q5L^OoQSWaLS-7_VQrC1?UI+>XFv6XhfVdys?ms(MWVkFzopOugRM_+qXxA zC%&iZGb|?r9=%_zH06W4?Wm|122`o<2t85|DW)kcrJdu3Wj#Msdr63Y*-&61*ddW9 z*7apK`bK+>7`!#FHBcFUzp?WVYncmnTnGFO{fJ`y_kH-U`99<~@*kuAuO*){O9Kqs zkRN{l@oy%Y{NI3OgHM(oFyL?6^8e*I6Bc$3E;bWpc1|N!He+KhRudLhLt_qB zW;QNXE)&y#d2UL>Mwyrk>8rcP$m-+#j<^*jXBxfoKzK2AUl`rwbyA-DU>W>f@W)l#d>)VnrGh9lEy-+Q;GM z(ofpz8!Sf${}q`^=)jz#8jA!bXcNhvc`JTV zsYy@c5x`QUf-s?*APRM};ne=gs&Uj0=nwohsRZY_fnh_m!7q!k$x=v)Qk5Z;8n#;n z=ar@kgBx+3u!}*(RdJV{Z6V)p<}FXQ4LzSis>wGssQ_hH0-q@MN#K4pTS1kwt%l;j zD6-8@wNSdm`+GMt5VaT$Ris6Y4!2$5e#xD{J=<&d!rs|jP`*V3}6< zh}MwXT8$>UHWF^mYl%O8PoaO-`2(E070pG{BBGY@K%{bdOmFFNQ8KLbP1-mu5H`(C zzWZC(Zg-WR%cd!A%{&QhgY^p6V2dt(JstMk+B>E=n*K6j`^f#haI5R|uR4+4G{aD>|Fcgx zcSn++on@{k(X-;iZzU+#hX z&rAB}l6#99?^dC@!xQe3M4clc`Iq%c^HUn(Az9h-@wH641L3|Z;2vN0rf~xE(3?K~ zBqm(~VLDF0)Vi1(U>E3aoF~pd9wR*r&b(tucd{FV_VJN*mSmlUL&DGzVXdleQn8>F zSEvU0uyB#-vXe>d`uykfWv2hne7PH(+wuSzTC0)SXS1fVL-q7ehCg<3As$SKm@*Pu zQ;ie%cWW}qLnk+80RDI$)C;ktBzXDXO}OYGj>OwdnARaAo?92Df_K4EQrTe~#V-|g z9G1NChDr|`B*DVh=9pt2IO(-(Q_SDhg+vW8OJ_Be#UFaeuUn1tH<#?^QLBKmD;caQy>He}gn#(jV@g?(2pkCL@_&XjLH>r_ z|I#$TOu<9=m-D~GdZnXnyTOU!b5ldeiH;YyB$GHL zilQnly$^TX!yqNaPNj&c@85{`l2kE;G3i>vi zNlXGoE7i*k4_z;VYGwbgY3Mie6`Q{V$ld2;y+GlfV4WYVoGwvnBH$y~? zQc7_PLN+`)rh_VxtOmm~=tH^&x=fQdF|-8{K70%9XUvBZoB>%F9l}5`7q7%>0Cejr zOPpamewvhmFUwp7GeN`W#K)!%N|D0-;GvwOqV-UQ#s;p|2zDJqRy)&FMV0fV^5aDd}Mbn8Ou|ZQ7Q^0 zu-_!fa6U{SM&r3yPskTQ%c;~DKjW#C4Ybjc4Tqv8Y@VazM-QB49yQSr(%f}hdzroY za|5R$kxJx>i)3=~pq7T~3V*Zbt_~4(i$J^Jz%U{bd+buEB3#~eIDYF?19p3v#&h#U z>WNnJ;xLUcy=A+?@jR1iR+S28Tc8#)iImfYE=}Pd#Ns78cv;ta@{=MCzHZ;nU-w@R zPA_)P9qhc=-fA}SpJ^X^$+Z7en@N$UM43r}E-*eK>UFjE^l)5vcx88s}19UP+ zM!$@Bz=9nT=>35o{tsK<9Nk&dtQ$KM+nU&RCbp9aCbn(-V%xTD+qRudY#TT4d%ktg zJ!jp2y7%r?d#zr3cUA4Ks^@8!jlE^SM5y^%i@$6@5Fb-*qzuJ$xbWds=Fxut;`(s3 z%TxNH(CKS8ESqDKWyyHZdc7QZwn@6NKPsjtMu4dew1Pm0VZd!3D>Kb~SUM4uI!d*B zrFHY>#Y0+WZD5*5X47heyi4`!)~3~ie7nKdXIuV(oI%2=X~K-@K%O*nUP3US@J`g1 zL6NfGu`T)NH`nKYJFXtO0nyf-DEP}3!Bccpb(WdBJyf_@Q^We4wNyLpMN@;Ouk+4$ zc#8LEQu3-^9~(<+WGNS06RYtKI3E&sA8B#?`jjYYbr;^3^0?MP7k!(Zf+{R+SDyfQf#;-T@s5$oW8c;I<=Ssi0xheqF9y4Rx3qpeo=@i)16^FiGh#Y z-ObvXleMh~>FsZi-Y88Tna0iYwUhX378gy!k*(EIVvpi0E3pI!{NvjIkrSU)xm5Mq zz`5bK%8wV-;@uh~Vt1td2F7Ki9_Th71RE2gxrF{;>O;vCf2=*R1nQtetF9@`phIP9 zSxat#7a}{vf{y8M!ylK1P#%IMu>CYzrAEb5g7*3&!9gh?GNO#}@Nq&Dosje|2S0ZL zUgFqTvL$#Z3k^wEZE)lO`{-xYf;>j1MN@Mey+5$S#7@@Yrp$Jus_sAAkSJ6RwQJQh zrzmOBbK_Zlm8pBUVqx~!w#}d%b)!q*{Um~Yu4wkmGG#KzIzUn7&)#wnKeq|QuWB%A ze3=VP+vIJZ-?+%@JZv#&PIorxesXs~=)JTsgla&BKWQ6!!(p-j6oe;ZZQM*)(!gLN zRLzUqYN0fDv9IG=29DLGD?m4%2}Ht#A$ACMfy#ghuYf++!C%^OfCo!#T0+H%r3_)) z`wfbt%z8SD9&UKiINN?@&kISS<9lANVnl65Daaztdi9C7jT217D9hB%EP;! zBcUI}$xt@c#@8PP9+mp3jaZ|yB&Nz~WNdH4CW3y;@NQ5<5-zrsH!kZmpS_Xpi)NZ; z9JJV6DZH```ddZ&0dJP5>jQcz*RpYm)1h5t!pQE)PY&D+(9bgs(yGchn6pv1n77sz z^an9_B93~cj_8J>-6d|qZAf3BM~$U-LiV;#-cmJF&yB(@)f9_T5~i{uowIC_6!S+7 z@29{UYf*)Hai7E+$={Ww9aj)gbeG_r<@r!C3Pqw1D>CT|wS%GD4xXo=t4=QbYXTo5 zG5^AAtDQASz)fvfVh>8z<=V9Q3St1k@y$o^s5xR)TqreY6ghc9h6<;tliqmgVo?ry zPNLDiGAma>TI_a&jte{aYLFDe_zzJBblu3xpCYCK_<~lp>hnuvn$y^8PCu8YP#ZOt z-W_zF>1Vt_13F0v9PwAKrf?Vnqwx5_&Vfy_s_Qdn0CKb{WvB%U@~aVn6cWvO?;A2| z+*)R_rsp|9+VL4FnPxanxdes?TLmJqD0>cU$R7elxo7uy!5bKn39uP8DJ-(}$3_DX zc9OX0brAg{N9w7H{fS2Eg{~Zj>j@j#7#%uQA<2PEWa)SL!_#T!GH_DA_IXgFc(xXx ze?96v0x;J5M1Z%Kk#>ZzbDlS{#OX1}-4lYEdfCdqh+-6bIoAmU5h7+cW-MdSTNKRq zEi0%tX7>2JT9{1y69q4_9j$&(bimkiox@c0B?<3?^YrVr>z|;m4hHMqX}s7)Uj$hO`w9)z8Oc+(9JEaetSxP6+2hIADuKbz zQh;C)S&R;==h)uX7#eL1zu*u4UxB7w-X|J=0-yEXgLr=zBEM+Z&AJ0EiaXH+&S^*_ zO4j(ix(jG>!=j;p4xqOS0*AU9MeyGEKu!y^3!X7{F0!kGj?}S8DRybpk$r+mEtkJi zCKm|W?UA8T$aIqmsz_i;R1l-ZYcx9xiUQai-86oF=98Mljge8NH5@I5rU`%WoAO?u zR~26&zA$vWt2HLcB95M8#zQbE)d*PUmmiCL;beW<+yOh;<5ItT4c+dB;2I_kqisij|9Qu~EcniztTywV~_+8NTC@&oCKZ>jUx+*QIq_Vb%#`yV-u>RNx zXFfYtVoOTRewv4C6)lO!k;xNeb{)hX$gZt@hH>Z>*Z`EWW|I@2 z+W&3M!@ZiFjFXna(HOSId%D|wG&N%^NC$f;Rb|h(xS={*SHe4$vR25C&95qu(rG7W z!Sq8B-L5+%=+LS?TIGK3d5?GeloX+1TD|()(gr+e$-HQMeMlFA=%y`e zgrm9=vKpOoMGu+D3iXb;zrYn^L%}FS^H2%C*bGKl0jVby6)F4zHo6elm?MTR)n`W0 z4QaCF22QF+2~ix)od!%#Z9u^7s>4cqM#PqYIyLlK+P-vVW!>Q^*Z~56!u%fboL{}I z$5`4Vp}u-yt!xNQ;=mcOc(IVqn&&H|OV}aL1a5?0@FuSO(=vc0ZDoX!Z_+kT6gh`W ziTe^_SuDh88lW#aE)C9rNW>FkJrCh~=H?o-UWgec2&a}~MM$JE)LcNg8DbC5N?Zqq z0ajq492CumqD-q=kBuC53EIxja*fc+{PThho2#WiwN2U1Ab||P2l3?ATA?nhB#Xg` zz5nB5Ol=lS$kCJ;X zets{*&Tt^@;|~cSgKVOLSk4TN4B4)N&^gsP@JCgkmZ)GIqmu5b22vJed#dHHB2-b< z#UO0LvwP1pph1U0Ujt8$%ZJ#_wdQ(PEBirB*1{~z^X#Z5Ea{S^`H=A!e3`?JKqch!%m?jUkxW^hBLotHxCOLqUydX^a<`13EbO zhYgyN%(j0SAX!AcRH<4l36bMOf&n^!ht#M>*b(CRjh!kEoWJx!2WUMX`>IgE7V}+i z)cVn5DWUOoRr3s5s^i{59o@Nkc^~_6o3d#}b_WwUAa1X<(dz3fU5WuMgA&1;PH*`B z7CuFbI~*N>7vnM5Wd`D}^q=;DVcP#Bu#k@~%Xw4KrcKD|=Mx=FD`dFkC|e+N9$^Ys<8zC)@!2eSp;{TX`{ z5@;;?P((e)Ssv7BK7Z;hZ`|t+bf;F8%YRik&Il8k-D;iFh7rt)b2mBX6Cd>rGwFRx zlNllbbU|FTz-Z4}WwqN*h07Z7uf9aG9R`M;Vzj?282eY$wbQ9EwHD0Eaa9v zVUq`qQXby+QJ_cY;&=% zaKB4KKuSWJ0^^`CeS=!dTzW%!iG@C!zNsh|4GYx+U=Kh_z`$g!Z8<2xSXi~7IKvr-NuAz(rFws6m`Rk=(f z>ke1!bvFA?WumNPqF}B@W1LESqHvX&rd5sZ(dhh%eRgifspr$wc@?boepjPdPdUzLV7qX+IX?6rJYr)-c*_XAj zqvFtLUHC7s@yVn34$hpS8p;ou%c_S{L5-~5F6>prqo6M9sGsPKJjw9knS~Jzyg}A} z>)v)-m+dV>j)m0*Z9McW$uYpJBI}(z{fZYlWK4_c99viB|E5O>oe@@l z-Ho<2czIY6a1c!exjNMCu#wsMnp{MDiI4yX(Dfoxsk>eF`Zp6t;E)0i%-az1{{lJ4 zQmL78$PzCR1R%}m@kCJwi-B_C*W?F?4)^Q5@bMoN<$##j#V+)2--R~+75c&MJ&%Pz zS(D!%^U$xyVLZ!t_7p#B%fZES8QE7*x5Q8l{_)BF&*#MM3NCQ{&W5P`k8H?4Op;wg z8~}^odm~GqeBH$Kca4QYE%k>J?h1MZD)K$fZ6*))Dsf@L_RJV)(`jGcRKM-P6LOHA zk}t_rN*4}F*SDsA!-(|dC0J4HXcS;hAHsj(#8*s_+O2gty z!tgjo>Ib#TU5l}7)C43bTE|qu@Is4_V*vj#A|>U-IgDlo8a*uPLm!th=7t|~w-(;s zj3e8e=~{p46pxfo2~t1%JE*v$H?h(TN6+Dvx?2mThrF4JsbCJJC*)L`fq#j<7WIur zlbt3fEB#_}mOKqt+bd;k0?ha?>-x`&OqMofnnkce$HFKc!YQ>CrsPFXzClZ(Q2+|$ zpM4ubh$Cletm#U`W-}B*_GtQ*jlzcgN_4kIbso0~{(UVN2&D6G5}PA5buE& zQBQHVl*oss*!0|({r7|9CE7X=O0{g=l5CJ3q|YFq$_He z8g<-Bs9d47RQr+Y2kZ8bF#a%)R3Kg_3J;^kwi#_pB+eQsMH^m6I|8aOUO zA7xdd)z*a<$%Z)`zWCXmUU_Fv5W@)M39`c&hP(0lX)CJd)2S#^gdi3%97U=;9(nsX zf7*@Pi=i0IMcGD}50DhCE3=@q^y>+)EJB!UOQxIH?fq1aV-c@+&aIle75iz*qyJ=b z(A9DFI}#5gCS$=GuD^z;VOmsX6jVUj*G zB39C6L?0Tk)2Ro3jNxu*5T^oS=UsNPRcIsqRb=AL?%nmS9e`aeRlRN`{4h^mTn~t{ zT4?P3zV6Gb7N;OZ?I-=OpC=`PzJ(yVt57uBn*Hg!ei_wWYk2x8`(!#ej*S|nY}k54K6&mMVMTp14>m$B~)lfSUf z!A*WNlV2#1V*r>en{yh_Q^-3n?QGtwG&2k0%3%bM387=a#6d{6apNdm}5jHe5R~(DAQa-SJfCvaowjO%LwzX zMd#c2?d{DFou^!h)u5roAZ8nJ&!yo z+6cl)>4ZYA%xacR3vs}xLgAI5yQn7qmJ&s-qG_>~gA)mbRivfSW-<*ZZ)JO_sPQLJ z(-uXNJWG+Gg{w=$6Io;0YsqIMSO#@2uCz5*D*!jnR!c&SApxWXXf~NSBgS#-(QAwB z)3}u$q8pg;kC#rfs#{UZy>QGQ*S6SfPsOgpd74&fD8xxZceJ;?*6mtC!6Ph9RwWYv zeor21SE24v&E~rb7p}$vzvjEXIJg3v^#!4i2;P$_YjX()Z4vZeqt2{T;)=zyCG&+3 z7l7%~N{h^(be6>BR|mJWyOOG#+RFPHkq?V+X0PQn_u(~-W{n^vt3)Z<`CN48;=o~U z$0Us-l<{5?^uT3{F=j)BJ~woV71NPwj;Kbt>F%V>Gd#M@NM`%uHbQ3c+bAqD;byQT zlQNcYg-DB9sQO7NbCs7OpB3jyRY~gIF+k6yLZ^E9!gJf-mx@Jmn&>sh&P_|^MA1Zx z`G}g0)r(SYZTx3noVwtR81WDOq;@wBf-}Jg$huksigC>PPw(@?scrs*5(Rv=LR1(? z%!myb3O`p1Hz7>oLv@(qwT|q4FKPzFdsJfD3x)z631AJDej8II2M!`aDc@D z`Tp#Ot6GWy(d)|a{w!Y00YShR|Ml?Yjszc|jR)x}s~Uhy^8Ob*qxFEk@IK=6C9||4 zuj`rDWO@+eg`P475*v4BXT!t?0+OW#gBaY@7QCRh(!L%Qm_;BMG!GJy7bp%$!iV%* zsa`lwZ0-ED=i0EE1=m!(d9kKw0Yy9yZiM-^wM2>vWw|p(p%Im+>zV>ISe(I=WF$0> z)yerZt-V9%tn1R{8eG8!s1#J0!KhVHN{M7W!@v7ab~;>`&*K0^e=lw42qLH3=X*^t z-EdEuSKcp`lJY+1wmZH$eP?4haelf}gU~Wj`@7KoZTBkZU@+tliqS3f0+6ftzJ)q= zx16V-Ja8zfB8fJPCHNJ7_ve=+G68v3vgWVKx~rKG!O=;3+rb2Zs5J}t@*NjHkKp(_<= z#D%y?s*LTP4*X#aBdb^Azvkf@kEl+>8lkemiS=FR|9A_551;~^fjE0q`o{W+33dsB zQiuO3W!ibs0NLI?+=f{Gt*l(`d_PvLkY0c8*Xw8^{Pi-zxMt zjSi`v^ZzxLlu+Ved~Bskwj%Ygr!8Ln4UDKjf4^?$Vpp`dIZ9XA(|ZpIRB$KTs-li+ z;Pgn?Li-x67@PxOq$rWKkpnh$idFZ%>`%gGs5q3IZq!wzNh2B6Q5~n7_Y;zqPamfw zseEhc@(Ki_*qYqM&THEALxl_%$6P6Dod@UG;}uJ32v$mMVX8GM0`k{ykC0_od;WGe zmr)Kav~_->dzbhS!<+g9#Dt^%OKPpU{F(^T?jb#e>LSF_v6imZ@ZE6B&tDKjA`LETEHs8}b}pipm4qtz zTdAs7%@(}4S89~o3dWbu6LNt}1tn{M_O1d=LD;hS)B|V0>xzOhYs5~P{+CSve0$n= z+o_-yJVaqJ0mprVu&99YJz|UnF}|GF5RP-cOwqiW?O$H|SN*xU8^yo(E=bu&Eb(CL z7c@FDU&WtH7c!+z5?z@$qeW~uQYcFkN6-mIb>N3;s;2Q3Er3r+-pcuq!(ssRFR>HM zz2vdP5)43(ssV-^J^f~eh159!V-b8}Ql_tu>zj%l_{m=Z`~UGB%mher|M45ASs^jk z8UQ*u2YeMoB48xs?}lqbduErf25NNY+-#yVi65AlbiBC7{<1pcjZTnQ=l#7D5d3h5 zG8YQT{}%V&@Z_lP_38rfzPByg8V{S05Fm#@iX+ZY@d04K4Rp%Xf^_H#j2VjqYcu#j zVA}M!f{J%RlG>O8k@?h_=2QSt04Ioml7Z%c$)m$3sQhOX_}@_@JOSt&8f*$2AW0yj zS%FnB`AY-}l+UE%bx3qP<6KMDmLqN=Wn}@eb?BnpWcfxU!4H74 zW|V8xxD50ogU;9>%jH?%O<57P3F{yIg!ob&6Gc12H!zy+3_NZaTB};K6PICCmsQ7W z-`!Q!@z7^{i2hsM0({8DSRVh! z=ml>ro?~4;NrzIVFcEpnRBrMlw|iLkvJ6 zFZ=Cwh#$Vxz;Fpz<5j(b!BhUHT;dW z>$^$TngaR37y>ZB*sTCD)YUz+3PU3V1yy7df{F3{cAXBOX*dGN1GT^jK$3{V5c25A z3Ey+bp~0p2g^MGg&LQu|!RAwEn*(NN31qY@0KK;YG}h<){lF8{x8O(9$cyLRiX9*N zKNDsPF)+z|a#m&eclN`m!%-A+!-KV(w;ck2C@7!iU3_vob5m#9PTI@cA9Q8-or>ds_!FGNOCTIEwZ(9g1WK=_Wg>0ju1Y zJ|#ZxvE^5_;xN2dD>A1SR+#1L>dk(x)`h0jpIS!Mo5KGVh{?5Qt%|cj00^QyjKr9A3wAXf3iEz|*6~B&f z=oNzLfBu;10m5bz5%QDDfW@9$?Z1Kqgunn1gCe$S?kult>zH|MhY)2(C43)1?dMz%D*V(?xn*CkEE)iQ>&|{7mE#T)E*h ztk*wwJyGICa9f@=8ECvlN?Wah6q^}FL6U-fFurs=bAXoA0zLqy(d8QcfbR=dN+?I@% z8ZV%2keq#7ZYLAL*)_Cim#<~@TcKTnsCbquyj&W`PUcydpv2x%|8tBZt(q_6NDpj% zKcH(As}pL2U;Y5-AK&)f&3Gbrao21<1z&WL$AGE)05ZA}fG)!Y0{pXRl{tYD0zt`2 z?13m?Atk@1<;n@sr%KyJAT*IJ+fUA%JdRKITIGx!#4gHQvlOLMK9%kMl!l;xH9Oiln~wdB z`W`+_0QfB5PehHtkM$;58G$gK4l;-{w1~qQ3Ro-7Wq2G-=amH_!!FRL zVnwkr(Gdq7fsv^rR&P9cViPeLfIu-C<&d3<7hWqb zk|;>%%qEi_qe%^kA{C@_#J)hr+08y_Wh4<%>g4f3`z{aM zjmR%tRNMJEHb32-@5g?h-r>X@>&(r$3%fN1E5#JkWu-J+yj|Eocv_Uia-?E-5q}O8 zg(Y#yg8jgd`Lq0kvym0!A?H88S%9(^iK_q<0hc4AHg26J+Ub~4Xp(6Va2)s-wBg#a ztV(87M&~~(`Z*xhvM@5s5D!8TRNDzoOBmm;tXv9~_)s zWH)@{@@dL8_w#oqYgYq(>By*%O`6RhVT4;6?t-kdiX4kk+0t9(k`TT*oeBT$rrsrk z42BDMA^Xj2c+Rs{d#C$n9cKt|or?Wu8I;Z){GT6Mri#0-I>dCnI=w?cd8b`vw1^4`h5w-?yfH4j`m)y+5$Tw<^? z8@lF><$X19nnF%c3BdwxM_Py!2)?(iB;X(iMDq9`2flu3eu7X5+d?2z|A`rS(}<(b zg%LD^c5%+X;+myh7(IM;DaLfMTG%+HQmZfZO6R|_?K-mROdDnMO$l2AjO%ZunegCX z6h>DQMEf6w3=Es=(rd5p3*}t*IK-8g>nr9nr^1M>_WtPnK8RHU0E)18gDvBq(g+06 z=k^!yqJlaPV7;zn0z{z^3KVDK(#T zjmSBx(1Nw3Yg3pk+2OhYVVk4%?76IGjeou*11_dl&!U91(Uq_v6TaB>e1|@Cdw{fz zfgp~juwme4l3CC&b9#UtJV5{H;F$&bH64ICvjkv(qfB;ixVT!|`LoYM{lRKJT8Z~WN};MgL}x~(`lod%g=RWUW{C{ zm87$Z!&4&&GfgnWO{@;I26EZpwPsw$$&jtO)<-WEo=rPC=x-{J&7L ze~=gdoM@FSN%xJ#XxLEtFXlv;t@Hm2)5ypF3;C}Y(WwC-aoI9x>s}CTX^-S2BmWN1 zOZD>wVOYh|6r{cHp@n{f{~7SU4~T=Yd{P*!xh(4en*&j`GW?a38U}q)W;`NaxuxFo zM|m0u#9%xo#|mdj0Kh`(gDO;w>zers&0Jm#boFAI&4a1R2I3*H#{0^ei!*+5%XLZH z69#)c=#UN2-Yl~?JFvcVkx9Y}Q5ctdCNC(Tg_ZTL*Li4lc6nIQ=k;K5D&TJ|CM4#c zL=2qB{aYEV@>*mjiDu9de7bBnQvvOr4aWP+LyGLdNlfLVxQFGV_HaUr!?~Ty<*ljw zDOy7XVT&Ugy68CWRQDvx3WwN5Cgz|=c$b?en930#btKS;GHAc>2%D-nN(8$n>#h<{ z4Y?&=R^*K#qc)Rp`U0yG0>0o|R#oNu<1#11yY?ifl>0En*eX|3DgHQdIhY@V(#W2s zQ>^)(yZ_^HhotH-@xi)^4&(QH35rf>9;;NjVg-$S)=Gas-@q6Xn!jqK>%{_$l2WU4 ztV0su#iESGf{a~Fis{6VZd)TLe;j5uR=Xvw1yNm~S*Blb1)NZbX<@+6=0yHIS-HB$ z6WVyRtDkk^ktUa>NT=Jy+{+vGa&J<2Tutz-uSVe*EotBCMq`8l?F4QLO$&M{1%FP~ zKaDD_v`;ZU4~xW+yk^Pz(!W2%VZEC|0h&1p~}@L~g? zrXdR436#=daJ><1C82%NxpVbUQxMNNP5<`}xNkK(_hcJbso57h6W5yMl*BT{xG9Yr zpJwWe%Q|ep#MUg*YDIa~FZ|axC-#V5*4i`Q%V(5*y1a7ntoRB z)hvoTd_k7&o4?|#>`oC_H~M0rpC9^|Jmc%p^OJX9stc9Y)R?i+iH zCc&-YY6!^M({%WSz@o=1IX<~P^MkxHZDk%Di_hwsMj9VV(N^S#CGPU`#=^l z)Rf5Vc&oQCU7tv~U^g=gKNS`UFbay)vmL^6Sf;UTR;cB5b*hm+Sn-#E^GhSka|9y| ziGrzEMDm0%#AuAp0*d+*(umKy6ouZC1)*Qjm{||ZmVTnk^2da;F}VSkM-*8$(U7ZP z4WS?`tp&Go>#%eWPA(zxx_!A^f2UeuCcr~F)mf56!TF1<)f7&e5UbZ6AkuzJko`b@ z)(`=Zp#9#Q&DBQCfcy@032Gec;TWye9|*)i4;HXC^`rqs(R6^|vZpa3sBp399Zosc z!wmZ1#7{}UxU{rpwr1~L`(4dA(hmw#anu>*rAivbT^-NE8WG+AgVEYD9nl&|bMeQw zO#0V$K;Vni`LL*iVk$`qAjCsM02#IwVe=i*t+5;`qmu#mk4ykAx|B-J1eSXu`Y>oh zF5{`SutSNPe+bncgXB*N3JYRSDKaju!7NchR|H}&bPSst z;PfZJK0XCuM$^`=DW+ACYqHWN*smIxtnGY{r~5Nq8#L?_TbAr0fU=$rJk>c<=jI^l zh}Ne<&3pRUH~Gg5NRISosB*PHXvFlaDCJsMdJ-N_}+(EKA|LVFKg3zc)6; zuc04tajCaSwI3Y6p>BpS`6ucFpYIk6VuA_aB8ut@o~h+RD9F^K;G*NnIS7o#uicsL z%;^T_&r_f8&jNd`uBx3LbP>i5LPi9B31?U0U-rIREYa1iCW(U|lEKkt` zt`?`xqFx5PD7qS09n2NRL4$D+49J@0F|&kQtCBFuDl&V5q{g5O&f9;~|ik0id;2s9rR`O?>!EZ&qO; zSI35R$}W+m-fZq^xEf?2re4;6xq@)&YntT8<{|jATv%KwuldDt=(*_qmYPPECu{k~HDa zmaZqB3N|mAI__6-TtQ7rsv=xj9UH-{MQR9HJLfDQVn+s1_|t8lH?<2^swB5{Fhn~$ z>$k;IZ1+IHb`$Cm{rsAC0)h!1+Q#V5kanlC)2tcG0w!lV;2dSCzWi}=%ZhcAz+?2Y zcfPm;P^(IFh4(DwRkgvX%H*VE=Qv6zW?=?|eu)0sW{JH5GT*@7|BL8|8p5l~|4Vo} zJQXbU>m43ihkS4FeLh&n_uA?B0U-VWz^vHZ4ZS-#IlXALJjVFl#Ju9SfyP^E_!~~& zJ$EUT0PwZPQe6SYc^lgmP+*#|REm<#8fpn%c}e#rFLqU4CQ=~=4O2xcQ}O}@q-w^!%}HNQvE zG1hmXdfz%UM}IM0yRS{J{EVH`xm+yl;(@NDR5?Z9)B{K%oJu=7k169fz?%m zp3{RY>wKQkz;q?M3Sb1Eokv)YGq(+-s{EkPfgF{JK5q*8JE+^COwk36NFR3d2(r5_ zbS({}jkaP0g={>f`wfq^d1tVb6cVy2>37jc4n@_4j zhQd%hqzaT2+5~h3+<4lVj_^eAM#PXus1581gQ!*LOtByU=$u7u1KCE_m`tOAxk#JY z4Qy3A3(@NNO)-EGG~X+BF$*CJSi0;YgB6RFj0?^aD1$sF`UNK+Ys>k9H}s=qN$WCK!Iw7#>*n6yNZmfE37F~Y9hTyJaAce}5#-OVQgC2@N6PNnyBwbPO!QhRTUT z^s57yc)XL}W=9}!Q}>^UA-DbGEg!J}hP+0GbVE@kRF8h3j8UlM211E3ZNz3Uag8Bp zX#xOfLAkJk#8zGg#pxtqAdW6i{77}6Yn(WDQTc!?@`wc#$0>2%!Wef${3S4o@JiLr zO&~-T*O`)0p5va@kS_tzQ@sLw>-3ncSa;_owtw$LPhS|7V`JSpzAt{rsi%?lc{nLf zyBJ#;B6%EdK(Z?#elR0S#8dBI3}{%3wvBv#Ms&dkG14zF(R)kK%~EDHV}_HLhI!@r zoJ8RC(O1}K!w1LvOxZ<68n~FpD?RW2wFU99QF#}TISGKAvfX5@J6=E;fstkjRs8^e?|9DgqkQ3`~&pLKw z&&wtE#*B}>GbiCDav0FGCSy|=j9M`(55;}o=(1r-Mb++mVH?` zC1l^En;XlgwF;$wMT;$ptE{>KvohEcZBc0*Yy#b@(@tySj3^K2kaY$u7nZXW`pO(mup`>l5UfH zqyG8y_0LX_5flg+&G82iP;%V=sxOSs{bT@WDXnuMeo&|J1V`ah3W2Etv``9qF`p^j$ZkZ|wwfEtYuF~pZszQjrCeL-;&6LK=H z#>dDu&N$$_m82pEBDFRYd7C!NhF3`U5|ZP>A;zObsnazoIL921c`By!^G(r1#ruAt z0@@W(u_T3*DGPD*TKD^`OzEX_GoTX3&DEO(Hmh_^daMJ4{Ui^@qIeMW3HK|lFFrj~ z00i8RVfk;Z3e;^?neF|BT16 zNqvWzxl->O2^CDD)(&I>jSi22kzY#q1t_G|3-HYxL&<|RBu28Vr2&pjg5jqfeqWKi z=mwUTt}ItdTo_46ok9rJr zepkar7H8!ebJV5^LSt@QImodw{SjuuIqb+Dd;9#@bD7M5lut$fn1U1!-tR(I1~`eW zxo7|QFy}`o>eD#ba0uwht?}#x*6H-;#~Z)gekvyCpIRE=czWg%j8t3~c8%Sdj>X6m zcnduf46X^++m6-`QA=@^*tqFSx$zO4xe~&yf(Gn5lYKG=e|ZLdRWG(+9KC&JaHNji z-8f!kq`Ya0{`o7NBMr~kXKbsb0q|QlZ$eW#5CL@$%CXv9XzW6Nmc?K^b)>yX2=?9q z4j0V%b^NP)TyW?&gaVGa=&a+1Brg4}QM#S$h`;v=bbl4bYBm^;Im(!vKDCiuaDV$= zi}~^2#PBkrSbl{qxi@2VVvIe2s@VEO-J<(wAe~|gvcnx|0)4A{+*DI1FMvjreRCxb zx}?}kRcjNMPtD9JIh{>c@&oc$X7~~8@nra7*!c{4EHP+?uEywDDKE6x+ESwv55qSg zC$iBg%Eo*3=oFOY@$JCXRo=3smf2Wo_#9Fof&ADN+C=%6<*Pqwy8GVe<3G4}LH2wn z$&fByJAIspd@%K~0pvKt^6}fKanZE(b$MlkI8`J8)L#`%+CBDl*zi{Uk*gC z>}uQ4Wy{NYfvhAVKyH{86dd$|td)#H-R2J}!`0(B#FF>7217DCLRjBXX<+&&QkQJL zO)t`y8zsaT=y0)|Xai(N5Iv4+8pz;z+;fImmVJQ@X>l~%eNK4^5wPG?@s*Kpa*ytB za*vA`V5r1V0c@faOmKyt`bFwLLD2nYX!QO=?jhPt0!YO|A~5EOfBu|`ee36he{yGB z19_7({xP0HDa7fKvt)}U87C3ksZ_m0Eesqi?$2tam@9tNE#}w4B9$wr1j|+^sYT9{ zp3{z6!erl%XzS&d;ndF>q-<;mHcTAkfdIC>bF&Mt7;H&V?c=ypUoH>myhfkF#+k39Ogt2M?*R3?=31@k4`efC^}ckplGVkFQc%Qr#= zXNoIE1L%5YL%}O*F`ZQ>BqU^cZK~Mg0W?N?oG+g)qrL`j_Z90x#@Q;0mhmOU^l3D= zFMtXCtDNqsy|4-zOFpxl=2V)tC$8Ke3l8xx2Tx=x*QmabqB2!a{+VWV#D#OLwlo9w152BcXjeOln0V23(pvASjMrR z&L|+zB$6!1?FN1rQX1(GE(;E1L3z^ELnV}WPiq=798}jo;`?OY|qF04d4w#y^2}3e!%Rt5i-G3&9Ec77WiUh5=w2@_Q8ki z5Iw)p-N2N_4D!5tNSq!qm2L)}PA((lP0R*bF|~9YXFk66pWTJm-)#+Eub)w>l^x@Z z4r>>^Hrv}AaMmCrGwl8hE81rJ_`08x+c}E^d>W^IDuwTs#MEAp=5(BRmZ0K>nC(1P z_FQP*#nFrZ#;N}#8|RR}p}IgYwp}`sTKl4zzm((oho)m&w7LIl4evEF6v`{2n+i>6 z|D&Zn%@+gt`VR8xx4n~bM8`S3!=hSz`QOVlRHtZ0ZvVgapXn(3O^?yt{0UKVs)hQ1 zo_sjEP#kV7a>1XrhBq&;e$o3=1Mcchtp4%b zT4IB{ejzSqT7eN4nFcXJ0m~U7=&7y-?%miPnf)Y?KO0;6bSdt=z0)Z#1u4^YY{H^( zuu(AhFlH7m$(POJXNw|wuHMNha{poJs2ZKNi%A8y;s;7# zNZZgp>VQ!8(Z+s*+ohwRvY2HMJMWT{@a^#-;9`nAWR*d8?R-u zpW?al;;+kq&*$mx_u=fXk754LkEia>=f=<5zth{FkNn*qH_7~8pTjo%-X9G&4Y%Xb zU$1Z5-d|@|fX~0f)$KeN0KiM~vzkP7X7NHc0rdsvODn{5;z!0co5u&$3FG@%TQ;w^ zcg0lk!`c67?7f4cY?k(6mbheCU;)XQCFdNMxF9(rA~}O(P=SRd=gcBea#XT_CcWTYb&f!!yX-~PA`P)}r zf<8Ur?cCP~--XZpbBA!T>jHdOF9{hgY^_Gtf;iLp^Q|~0Gf%E;Jk}rr7WdjbTjZss zf}}nB!CwNq+`0FzO+C)ZDcoS~{ILt6bZ=tY^=%L{YKvYjbSD8965H-<%lQrDvpWug z^t-Al2G|z&s%9G7W>{m3{H1XY~TAv)zLbfo5tRJIivZBb!;H>Tqi9I+Qp9%FePS3VQfsZ7Zl`q=mY+@Wt^+A7pR6;@@em zA)^--hgpbUjgxM8Ke7a1EnwmIexhYNx}qw+w*jV&uRMM59Z}afZQ6j}?f16#)ht*zH<{E=vwh-1thnHM&&|GoUcL$8?PK4551=$G@DqRH zzi+#3jne|e#?o#o%4AlyrQlJ@)hPWgxJ+G_mw$5Qe`OuDK4lru<1@)Phpp5cX&`CM zre8CFiXQMS`;1-{4TX{mF8Ce=&EJ^h$xst;-=50tuuupuNwS5 z1n(2x?(+!F{{oKtpHMIc}{UNTq1N(N37nzf@|21@qrCIAQ3Ym)`cOPp$IMf`wXQsc%w>u4`cO; z)C?;j|5gkuk7gK=tr1FTYr8I<0W2g&mK}A|RotH7&W>9$(G{67?0% zx-ODYKSki2T)J!QnZ74STq`Fz`aKJ*aK6(0xjX6QB4PU}+cX9c#see`$t(IiT4NMX zcfuekJ#665aPp=b?SYZgokV3KueCg-&bpX~y-!YXB)?Z-uvRZA}V+( z3gBa0*kShuZQW3sASQeG2UCseD_6j}8?F>z>&2OSa>{-P;NHWHBNGy-cg`N#z3;Mt z*}F}r4~3N_1d}KbgZZm3GkjCs;cqntSMp(3!&)TA?i*ivQs^$1N3X5gYkB*PW33+u zf2=;DImNdjR-yU)u3~w?SSK>tua>8xV4!Gl(Fpa$0!Tb;_lc1@6+_-#P|(6$rF0t^ z*#eyq0O02kG9?uNO*c_>UPBu;$|?L+d@h6}D?(a_x*c7^M;M(UY267G@HTxxn^!Iv zo9U0qv#+YCn8bG91F7Jt&ESNF;B5dmGiFbrdFYkMT{tr88+Is}EP)`Y19ut_tPJ@= zvwp*J5J`7Af|S+tEW+6r;8-IEwKFA_??+4Vjed-?Yz#LZGsD6%B(4W0(u0b9Rw~0Q zFT;;EHWZI^E_mD55aki@aW`OnOzQBy#>{Yoc)5LKGOc=a7oLp&q)3`-zs@-$NW}pP zwlCK5?Y>di;2CYNxd4$Ir3o;=VlK!`w@_O>ycga|0CwOA?JU`!yC`7I zjFIGoO|m>2#c*0qd`~Cxs9HYfwwm=0yUkR&mHN~IW&KthCr-H1m6M7ce7#|l`^m^V znl~|zq@d1at&?pFiD1vtxMFOGa-EW{htp3eZbB*5k_}5yP;dGG*&CLsLMCTQ0h|eY zj!Egjr(+i8ag=au;DYI$EVjDhba@^lRT1L1_h{Lnj9=;3Ww5xqoZkrJ;E#F)S_NLd zdm*Xlm;EgInzoka-d$j(*bg)UK`XwuPjDo%HB^AkdSXF4*8SOE<`9Omvs=Q}UOf2_ z{r+rX21Xc8^tz>MtA!nRF zWjfZ-d|RO(CY{U)2Z8&6#l_A-uQj%%buDL}hBNP!Hf+!IK6?gHQaO5UNIZzGqV8_2 z|EVa7iUt1&ktQwiQl5T+^v-3uC!s-7@CT zyKzee@1+j6!ILCDDsYBPAbw<1wM>CEM7h123T(UYflM|BP1XB8(PXO+Y$AkkHTCnR zD6-G+Sfi=s(KpEK`gQk>DqWTi1MAf6`BL+?M(>IawX_T7St(;)tk*OSBWxpc8{ZL0 zcV%E~`aRW)kjxH@vv|v?*?6chiU*>F-mNk`ZbARN1DB$R8|XB*Lr^9<&xjLMmYrl; zM>MBUkTj;t6;BNdr)`_d~eHkXlqu}iYxK5Er%IqT1%&B0_Xr|<>b4;%9!6{KR@ z4wOodoqZlB;H*&Irbj2i)L-1`?Kj z$L5INgO5!7AalVBdy$eY!MP#=gpo5w@WegZ+!Q#yNyK+j|L_4)Db+}kR?*PLoGFJV z^A+v0+uJO(gs-tL_e83C2d;vx1Thv~ZU@r8HUsFiOorAY$! zIl>oQ{03iXHu$fCxXQ=lX2hL}&=+i-!l0^ZF0DEw_8mO{hg9%IdUYk$qG5|MNYgT+ zSncxSZ3<7+G?mIXW);p#qaVH8x=%ACHbyDMl2+Z*tdof5ue(TYnBzV)Ce0^pOv?#5 z!3FF-(IP+}GfPW53%A0)jl2;AM3mCO2;fKV)D#Q5XyHe)A2IFD&@YY6Dl&alXa>Kk zO)K9~h^Ol2j@?|f*&X6*VZ4>5oAFMwS*R)0E#@@z3Sr;(w{Ya8qJMZr68550;TtR8 zGcNN+!i`0)yDd+%?9dZRXi<5frt)Gz1$bvG_sX675D8xY0C;c=CwNN9ot6+7|M@3V?vl-hOm%#x$0jbQk57X9qMouXNt^^;Cr}}1Oc@g7f>-+IPuuc5Z8jx*Vq89 zv7chBqr?>7K-A=>_U38nh?f`-4-FAIRtCzcX`L(fRcCghWh05-s{(&aDg!6kg4k>o zq*{#A-p~{o-zO=iR!xd!>v0dbHC9NO=DaF=;}uuaEaYb49cFEy#s2?=VJYu}B|j$NZo&&)=w)k*l}9@5xo1J1H}Jp)z0J z%pG7`1fl1#kntE<>D`${L1liUB32In(AB%=g=c<>vcV>crL1O&muKJvSAF+}v~Ay} z!|=n(W=g2=W~?~Gky^5PxEBoH$XT~nn%)R>0XW}P%-c?!XP!$#&=C9EzI$wf+3nE8 zNK^C4yuvCur)=)YqfW}FDo?aiqpjCU^-8fF$!fD&Gbw7}7;&F;Co+U5Q&Jk|Ro4Y6 z#quB;7+kHRsVtN}ZTRi%RbML<5y0H?QrWZJ9@EMqk?+D+WJ@BFPALeu8RIeQ-EXj! z6`ILQR@U%_ruHX&8aX>2rgBUcl9Zp6a)CvJtBWv`+Wm)JX)|Lb0lx zL%jgP7M$UDxvyQ3=IyU&(CMnVk)E%6;OUHMRKC&@NMADtx{6oQ)6}-9whI*_DLSz{ zy%U*qrY5jNkYXkKMeU24aMp>SBpG(enX$YjQ)(VwRIcZ^f=}}-<_o;M| zREaDO%5=FE=S8@DfMKcjSwv26xmg?aO76EjUV%HO}ABZQ|rg!CFeJO`V;R{J?v z52{?cqtXk7Ge(Nezd@{FROJYQ}QcN#AXJ z>=P;72(QVOKmT~qfkRbUxYQiN6L$Z|)PXdteu2y(z~8|fR;Dh(8lQy2EW)1f9fC;p zm8K6D!!w<=>n&G!=n$E>hPQyE}8yY+ejmJ^%<$+Ky@3^?nd=C z7xb@3cw76zP9=H1jh_2&S`DsN=*ktzMUuvS(cb&KeE}I{R4!lIgE{+=o~3bB$vzm} zZwd~|n7(hlX)mooyfn9GG{ZJAC*aF1H&F5exV<;+@S*!trUR@rPAX$Xt4e5b=T*uA z2{}B=qa8qkS8af#Q|ak*@e{gvpkVi=xRelE%;Y>I5IPn-6uV^L>_T|o+yc9_RGo&g z!<_-Rf_37?>*gjw+xm`Jt1?$i@gNg2b-iR_i!51l0LG5WKRPqA-x?)g6CtO$o z(Ob)=(xa<;hR$?q5S%$SOqb+UI8)0yq3*812htMu&CebuScqzuT@;jB(LI750J5i3 zz(W!D@Ny@yh%&CZ7C#xrC|_-*gN*Yk*eYAPcufQ2j5o@%ox;vGR_f2=p5f4ExG~Ql zVik)S;h#SAxv|^VHk-7mXlH8}!Ows6e9Fw{!{e>$eNhMXijzjR`Gq^<1D_H!Jz%e* z(&5+SlJ$BskFHA1}as9lT5tGd$@LT5p)7A zeFpv2I-_0uO@t7uxESPvfAUe!HD0JHJ0@qPbd0`>D%sFqCaVgiB-oe65x%LMZm0w(lk@7OLSjS%wV;cQ4f z$ClUL=M+w%;MC{y>XJ}6hu0f2aZ(558?aw}1F^Y#Ad=OY;+OWHECBOGVz zsW{*ko8`Xu#-c;f2szO`Z?7(0y@)%4lROXeh|Ehj+K2*ei9$H@8R2ixM1-BPwI$@O zUPOPMFR*H>)~|n5KVtIMTaNJXE2aBY&d*K6(T*OdmSQsBc<*)+Fo-9oMTt1B?qW&T z1sWF-jB%fxaO?NAJyvsO$_;#WKgWO)y|D9{wR8H9phU`hF0KRYU0|Vd4YugnhOhgt z7wO65mKW`x+qH4A4;*V zGng?07j2Cp-T|=z zG@J7!7==(L+4&mphctKFldOA0B;8;0^4{RaIh-Gw>(`TC6d{OcjDLe}4e}b?etL+H zWo;f7`d;%C>z%Wvdvk^t7GZ~aKvg{I(tJ)WXA!X&oy}-ISEkPqb03q$q3W$7_Ykp5 zm*r&++Q81}EMOaW6WzO6eoAj+(%M3p!EZNi*R}q7#XVn03Rv@bCUXudw@fXy0 zj=mNt=8ak~it~O$%<`#R!~Xem^9*NG^0La6hUS-V7fxg0632{XUoXIjp2~S${X5W2 zjUm%hMWvV9j-JXdl(MC13+Y%l7HgH`sf))N6Is2q5L<-pNmXC4&ke#zUwwKxg?Ug+ zqyC&?6DpeQd6%85+u{LFo;?ry*OQ<9w$tBM-4M^lAfnXLfCO5%Dy<@TKl6NU{cM$R zGXyuOnPd?Q9#S@Iic#|A%fplo=Q)6YszXU9j1e>Mbz*5yI?+z=1=s+1%&`lbbjKBK zpC|8aCm!PJ;ham!Ns~YliB>|n2NPKe;tW@0xQ(g!>>n3#1Til)=jexDL(#41s$_je z9+i(P7F1Q`ik#IKXH;{yvlX_{KAPYnT#T)C10rd{%EF@H=w#)Fb| z%+OV>m~6DGGtSM%S7sYCu9 zXHi4U)Eiu#b{|6?x+uMZKGHZ$8sl3&Sj&zYzJV#C(RNVThkD%UV9@E2 zy4uDY1x~zyPK(FroF>n*2`+|m1o?eQKAv;ei^H||@$$}-@C1=jz=1lNWt~DFKBsvw z*h|maZ1EszFx>Fjd)>!nU%IL#h{yL-G>uwx`C++=Aon1({JKyh?rnumvNByq1J4w! zW6}cSp7muA7+I<_ShY&;4OAw0nc@95*0WwewaZ)nejj%5&&=}ZB*K|WN5!dBeUnZ_ z9{AOGT#R|@UK!-XkVjdB4?iKx)1CbdZ=T4o`g@!Pugu-EMTTU$yFW`>%$O;jwe?G_ zv&lBw@CR=r+^T0^^k)p_(*)p$w@ZN}(g`P7KDVe_c~ni-?9sB=G#W4)PQZ2J;MtGE zG7S5c%^{{YR`{|_X#t%sNX!GxqL3E~YVdDGRJ_8ef+T62I?_RcOMJ)kgK}$`^J<8C zDUEo{unru>d8uz9M|$Ra)|=Pfo1G2}T2%?nvAu5UleJTdw~}QyJ%l2(d>`BDHiyT* zmWenN0tqwvrukeRHQa<5RtaHA)DLU8W`;dZ9rpfl5Nc(8sK>WE_>|wMzm=k|c>r#Q z5>P}Q`cj`|o6`5peVnuR8ezShSrx9%bIxo`k;6QZ70m%O6>E%eh&uZy+4rcvi)`_axY+hcVb{AE& zSIXF$9V;iRRSzd+iBi$llw(+0w>||~&1t+X|I6~NfnnXwr_!m%ZiY)5D!7#~79xGH zz@+`iks5-vgKWuE!&jDf(eiRr?kO<^m}y|X)Av?$eq>}|fQNgqXkNj$0)?|~C%|0- z`L-`OJV(;G)Y7gMXU#Ky))a<}vaY;U89B+y$8|7pLRhDm9N-#bX1~(dvvRnejM`bR zt{OyR*@L{>pRDxd)Tr4=^ik|eu1#a2sZxwUlh5ypdo7U>lrnoNIJuf(ShCinUO=a! zXWo!{S~+fuMUin~TNcE5VFV`~txYWX99RChr4kgyZB*u}Gk);UxpKI5hM}JmGypo* zVl}vvNkUSHO-J3KJ9s;(J4_>0w&3h6QtaL;Fb;8+aB?(Z7l{R_d{j8MB_we@bnBT_ z+l-k~c_PLtBEgvQxrHLmU%I-yyck%?&mQ=42IkIWA~ksS?p*ObbRT}=xK3uPY^{=o zr6mD^s)v&wiEZhsTk)p`92%M;kLZSb78S}PKl?s>Uj7vl`Z=2k*Ad^JjV?ihkx?kB zr@*skt8Y17`8?P!==K8s564g$XAI0hkA|lB{{N5iLx}oh?QZSi>|pQX`-|G+ zXZYHKR*m2%QuYd!8OT9CJ2zo8hF8+KSUH~YQUq)J+4)EceIg)tR{o-nYl`ymwM}HG=SLNT6GAejtt2MU*Lgv9bbcpO1CFe_sVVsC z+*K~reymJRD{x4J{oo>qfF_&Sv#HmDC4;I+(MQ8+w7ex$Rl$j?R4^$a8$Xg@03w@} zXNcKJr25=V=2?XWHz8U^6&}{nbC()P<}B56!uuYsx+KkVt?gSik+Sq(Pj`dF3wva3 zW=;9l)(YqWA;Ha9Rl-$%M# zdY|Zi#fs)IkrAoN50Dk}Z2hK6)w0NCW~s8W_q^W85+D#O?tmKqkA(S{lJdIt{PX9* zBC99j{y;v5Ca~~(#<&+5!9UGF=pT;cbkO@m-odLb2__lBgN+2D6_4I3@6?s?n_OwN zA`2%TH@xf^`urXApn~ZRS$BF-ehSq_ z@=67LyaR!CTdzwVS_Bu!bvI@Dagkm3LV-jQBV-+wHShn6>STM{e!`A{hE|G77pkiX zKqp5dM*{+ZXsEDGq&_P^^`F2^WG*W}_gCix)nP=9m_(YAcu%0J&6Kz_kj*Z?%>SNO;uYyjb3)4pXBB=Vr97^4cs{6p9KPwOH@YO()D#VcIfIihqr zLDBvGM#+GY&;AcpgXKOdghByOd8q$JT~Mc6GjJg9Z~zE?t%|1X0@@@)l@lWe{0sSn zF8v872eKE1{H5>|2TI|3!Sv@c96bNBh6zHkrdA)N`!VIe*9#Cu%5(nKU4kz}&KQL{ z`7ac$R64Z^2eO^>w^o=2W{&@uaN)m9I3$PM;rwkvQV2?;MFk`u)nJw(NVI+H!&t9FE%d-^Ll!Mlx{$gnw#UZv+2X_3dwwJU(b>HUc)*!nR^| z!lLQGU>f8JN|9fCxaLCb0X-0Thx_-Y^0`q16G7==X-vo^?%$}7{|s)1BXM|sqhxtd z1Fg~NZuxYm=gnV!Z}Mk3qrVlAjQxiq^*DvV*B(0I(cmN!~T<_0xwSUiG>PO1+{&wR(qsjk99Sx^X4s#$0_H{MV2Y zd;rL=1<>i7dh<}eU5Sc7_GWIp|8>Xz ziEQ}4z=pp?6CWd)_V|-^#(={5~wl%SB+qN~a{f}+i=ESz`WMbPB`|Z|ZKtSK|>A z(Z&`_$fg|Zp_74}dEB|9ZR&y`wAkMyp=7_jH5w8*<6#3z@pp$44!0UD+~ddu{9r(s z&F=t6500{d@u7-M93Oo4>W znB&EvC_;sjBhsx>Bm9SnSY@!r40+~gLu|nl1J+~h%9n}*2?{p~rlP|US#qVCnq3dS z9OMVPbK}_izmh5j*^DO?X9&t&l|xfZ7lr}z6&e@lh5jPN{h90)ipBRkq(adc5_zQ< z9?~ft@*eEs?mraG4m0<5-@slkLTTVCrpBOR#o(R^pnCcbMBp+=@WzwPkqbS^m`IRe z=#u1x+XG>cDTcw3&n&HOEylo7l3uF=lS%x?Ml1)3IkZo5wB^J&I8~+(f30v>h2H}F zWXn>@`l&H7D84aG=+-ZLkH=1l`!V#9DG_Ko;mx4mPgQh ze^T51EE2y8t?Y-pqt+I0;Wi{y`(<+;wA7E-nLBZM9O-1D^hOa`QF^p(B$6P-X(Vmb zW>=%l=~94J6~+ID_qA{J;C#kE+anEt^;pdphb6&Ytra|>HNkqudLH{L8)4pOkbhxM zabV8%1AM{t$0f6I)GyWp5u2%T{pE**1QaDbniw--4CcFRpYP7YzItD$^(*4WS?V7x zQcFpgau}~Z=JoD#24;>@>c{MPtaBT(7+c;sii2#KrRlTq%8DzY--GYsNjM7tJhJ5$ z8jjJ+Bz0fRR?S+sn~7dob=9?XSy^Pgd7R-DF*3dKFv13>(G33vLB7OZlGw+9#oxDT znJSlG)>;IMv=I8uzB6ZZs+}*l=!EiJAus{RPyKxnq0J|Lx#MtWD{zr3TC-u8x%%UM zhqCMH=A;)?5a?2=KPerD5KMmn%#6oZb%%1HeCQjYk}J`#BC|=esM4O$f@n|h!?>U2 zd0Ne17@_AuY0l`&h;Ik#gLwu`EBy3VAOtQJcadX956;`p`mUBPV%B>p4Pa4Pk$BDt z>yMsz!Y=~HSjz=>1a}i4^j!jJ9S5N~X#GNVPdbNaiiI)mZ*RaWu9zzTTkYr5D~N?t z^C7m(ZM-)*4{w;O7AIvE-S<&9b!CPHh4y5G-Wlft6Wu8%ebSPB!C6$9ev1#^i#+cz zI~Wf)$!7xfSg|nJ8?qo1SuD@N+#^_;z|=&8wvUPYVWc3kHqwg)kAub%^eT%&AcZ1RglBL=;l z`?^+A=^3k$g_HlPmrKa*=l9FI$k~gj8Z`v(#BL%~o3Z(4sg_D*?TiA$t3yJVIu|0Q z3}yQ?>*SxaIl@?4et^(z!e)jhLuIYGgHzQ-IcGNN9eqtzd_p(C8O|yEHWPK81l3;l zhQp-J+2gRU7()XKE@XSwj%8Sn%B=B1?#@v}#EuYmQ9w&>xSs2_b5LC7#M{Hc)1!wf z$GqL87N!?>>m;=f=w{>Wa_y5(V{a{BTS-XA*7Az|>FG>=N&0;JOTN3AaCkbN-QE4n zuc}Kw2Q$>dJz~uy_}LB`<`=$s<_8{RhW6YOs35e+tFs|j_MaCv=L<o6>^F&!x=%ES@`_TJM*6nBB-aT@)TEPT)WontX<42F zk+(V=L>GQOU~L-tLu(|3hL($WDgfADq|S-+i9NCg!b8Q3z|IsK+GWA(YztB$M3C95 zZhvBg%4UF!;(H{!Ii!xILin40vaHYQbI5q(KFjC!1S~OPfQolOIZKb|5gwKkI$d~6 zmT+TC=*%4Z$U4cAYZ!YhLQ`m}IIlN-Kya+GKzH>Nhr>qlA2~Oj6X2CUVgVSpmbl)( z=EpQ{8Ks{Q8E~R`+a4_UJTM=4lTU5FxU2AL{6bmLKXoUMJ=GI4TFkV6s3fI2OzHGH zl8Q>)qaM_1XV>2AGYBG7FkS{h=F#upF~kv`+QB4%$L(?Mx%KzLmSZ|(_C0`NhKiZ| zqQHls7MuLJ+m}u(-XslFGzIYC9{jDiGElzbXPFRQhWNzQ|y)#!vfWR(+yUM*aIG_4T-+mNgIFRM=aITtzi-g*%Fdin`jK`xt zwSXZB+nJ9tJnVHe=xzp__0dSLaK!D%qsnzrW9ZJXs}A)9EhS++*xD<;7(D5qXSbQ{iS|bn^-{S zeF+PDl!_6Bp|O0c4#H5psJC>w53#Yh6I`24(xSyHhJ_rJw~(~Cn)~qmRGe4ctDp0A zdJgthR8@9bchp0Ds{}*KZLL)T5Hq?j4pRBmr=GVuEodvSz$@NC;d1XwzRCU05o*=) zyPQlXK5KEfM`q90%95FiRp7(qlmC;p3Zdksa_$D!&O*Jk-W-|N1xvkeZIDB!h&l=- zw=;6Mzo_!*$TDg3X=C$g(^O)St0$vWAYHkVTvSlaTH#88X^~BdFg_9)AhX?4ZTe?b zqzg3-DO8nM5IzP533)fyPEo(h;OObbEwhiD2{FL5UsamxeYN(3!eC?^Y{>Eb&^TWo zvrE59Am4WfcFSSTtvi6wrL<}BVm`ovkh;}4WjyAJ6tfVMv^PtFe&AL;zy2JL>4c^+ zsu_ZA_U1XzuWsY1E9wh~DX?di0PfBAdB8bH-;T~miRAH9;GcMUs4WPi`x{G|=>HW@ zjZzq`{}HXAIDw%5zoONM!sYoRNi=KnVdz@ zT*}K`RBMj}Z+=OPKW(#=F{WKNe-N#_&FO5hB8H{ozi2*b_e+Mg5*xzv6~YLskLPaPbyS};aC%W z&_b4+H|PDb-J(0W2KbA@!9^8#Gp#PkA2Y9Prr2oCMu35JaAR_Y>mjyWz9@+l8X5lq z{d|9l!=$8Wi#ZIf&d-5+!`3AFCTSy8729&)2C2n&XhmKPJdcsEgRdVAI`8uihbYjC zUDi(1I&3A^*t~oMSIp_kHLKX&lu2Cn^Gh*&ZLcS5%lx3FoK%dyjFyoR4H7oa??I=; zWVu!gf`G^d(U_#{PvE;Cgzj)QUP$@m#^*`=vrg2AoYPvyu8%qNKSihFxKRZpgo>bY zY5_N6gv6tlgXra!u9-^7t=t$$`Bo!}ujduf{;N6R4ql*-{C=x zPah^q&{&5jf2{an%=l`sG;?XnP;IX9#PUUk8vwd&&_B=}CRepfXjXDmEu=&9T}f9# zhVYSHHHo^yT~_XuEJ7ByW8`}1EKUQ|U|`EwcH2$B4d_(R`3W#`ja#bWJ%gi$3wtcz zcM&qD)em;|!tjPxYki`E+mhe0`yPcPLAe=Mk9%KW++&Dix4SA(LzjKlhtpzM%tT=A zRiHK9g5tdT_t7lL0ZIblLo1huKS+1c^|YC!MXHI(qQ6e|Zayw-we*Cd<6?R%&Z?@y zMAV3hO-zlNMiIPD4ZaQh8;|5UVtn4XA+Hy^*w@?r`|9ij`eKC#n8(&2IkCg^C15db z8kPKHarh;Y5|@Bmjex$@uJfIXeuLw5LapI+CNjsTIbqFIZ*c$cq9<(M6n-emS}0~p zZ;)f0Xo!HNmLrO_WkBGGybqzn3OhQr zo0ihvf%alvZ*%wQchS{IBqynkbDgGsS!rJ%s_N=Lj zNDwa6KPt=D{(1GUj2=p(;K!XwYQW57VtV0<`x#6_0;l?XbGt4|q*o&uBZ^5t*2E?= zL`6E0KPKY)4Hzr?fIvaaERba0leb|PCt>9bZ%Ur z(`q#n4?kd7r?JzM1D+rzs4}<};e?jWm~~6a+I3MJ3|tn_>j*-UXqR$ojRcdX3MzCM z6Fp)^bOXuMfD)0Vjz8_cM^yT>JV36r&9(`ZIlS|mdO;&7me2u2Qj@s({t{!OG>f#( z!W}rmI}k5fmRR0y*z(^d{*5jrs2>YI;8He-lPt?zy*Tn%pOOs1L3sg{`|<87N@1GK-OA0NshM?kHg;za@T*fWk%BN!)CVTt3X?NV1x zojB4din9fNCS<9!MURL9*AQLVbaLs5kX_Mxh_E=vq953(q83xRNxfzP&X8gR6prKTIIPuxmpprbxoXwSY0PqIR0uh<77#01Psj!@&~H6Ho<|*WyYS zFa;$AP427Ea%QBIQ-3cNt2pG`PGauOd=nWY;!|gLIErlR!F-3s8~N*z&#W(pHwPYq zt*6n&cZVR+kT3>Ld(sM)J3gxP^TKJ{UE_KxI_u(qWv6zhKdaNt@L7m~#UPDH2^NM# z{e1ux&#=_iA+KY>hF#I1Y^v}X$A$4@(5C|((CbQoH~hCO=q9{1d{A1*G%@9Y!u%K= zmJ%`aQ)OZd_s4t?Qq_%vqee;F27){3Weq4J&n!{L zi)|DGC@3wXvGNo;(ol#i5YZc$aX}U_6Y(iG^yXR z4JIN*j|BM^fKg73l~KT8`U)9gC4hor=i{+c5l1mv>5j0lIF^_OIK{{tp=;xge244vhUdJl|iRveGiQ|*Y_Q{9UA`( z&KMnGp%)lGIw9lZb1CfO)1(tf`vln43Fwn^AL&KL7WZrn4)Seu^AMI9T}DxBF>n5X zU~3hSZ$l7^H@D!e^j5jL(m1cVP0cqH*4itoWI%n`Qd*;Spw845QHjWGngoT{gGFII zN~KTCwX1jr%w+cQ`IimN&Ef0+Q|kQs?l7NeR}%7%Lw`(*Z^(#xwImjjEnHu|Zv? zAs*NUsw2&aVyft7>R-Do$Rr1t>z-EflEk=zF9_~xx{bxpn}A>MmeV^0B`SXSFi{e}bYZww zNyiwp22sL*(SppXO%5jB+B1!fB9oeE@B7H2_Kq4 z*`ZI?xIlnyLKhcBBT?%Y`3-e4v6xlR6cCU-B2(&@M-EaAEkZx@sQ}0c&PRq87+>SL zRnMY&dYuZT#LKYCAYbs}G1p=eEU`hw6e;Ie=i|k&as&5T_!Ba9gVHwx`#WEaGPSA? zxw8))fWj7cOZWm3;OqyaOijtcj+vde`9C^h5dy5bT8fyzk8B)$ckw@Idpq)0KdUOp z@jV3W>BfQHes+458UPy8wk~TiSe4PW!N_f#7)7LV%o~;HtFHm_zIs-?zvMMMulBWa zk9n(T+MZ-f`KB5nQ5SwZErY#Fd+~+n&K9nyL_8AJ5MlEmkIa}D~6ltx|Arne;o}y}!&$4OP`T+p#Q@i-(H^ELljk5~G zHV0wbLWhXSP5Ojj zJ0yH1K>sso?_Lv=DW)eY&rUa05Cr06%F)46|te|5U(!+Acb02-oaW5{#ytt>fnn!8h#viQqtf~U1G zhW-yBDv?5sVFfyEbKoQJ`!Owjb6|=3uO*mN?S5sN-!=d$Wg1Ou@b{lu{pKjAo&yP) zgSDcxY+)tGzn1Wx@--Z-5oD%~b}|RUE3XdlLURtC;oHVHa0l0ilS^xxSE)2@`rH^3 z5PsSAkEjQRZm|&JCIp4qBje0%j~mgf^{=l~d5kL4HxcZkWuGMjwM|Qk=4TiAFuwl8Sq`#iocR90_!b^SKXk^R?~! z)w?I|d`kMA^G8-Pr>$!s`mBP)VG8kn97*QzN;o!`{eyl;NOLJqB$$gNI29+8mf)S$ z18gS$0sroGNJJ~eCOZ||PbY{kf3cb>nvW4#MB-cBo3t=SVT(diyi3TcGF474GmpqN zE3#u4tIMJg&z4L7_?-=i3E+STs>V;z_x&Mx4Jf`=tst}FW~(X9A&niQO0JN&?@FO;@W3@j*rka zujG*Z(w;2!bI-7ptYu%|{U^A+ra|3FM9qr^eGOD~7>gPvpfVD=n5iWjFo%zlk(|1E z{xnjsz&q_urJDIu7NrNnjMkCJFaYJ1s>MxgVKpiRBYd-QW6ZM4x*i4YW=vkUeo5~A zQ(S7Y>9(MM{sWGcbA5(eI;hBYK@A5l213GFA_zjFsDFN2&Vkh$P9~_x)B3IdaWXy1 za`YZHHq~ja^`1b=vdN_z063+olyqO6d?sLo_tSw9EW0>iIF)tyW^TXHy4lVUyv~V8 zWks^@nI4Ji=Qx)Y1TDoM&%B(6f7A5+|VrIk)UAly-Bgc*M z5X_(pD?pdh*g&y||9pIin`f+=98_N&ao_C?rl-r&}>aGmWH(-{hU5>^Hh2G-$7x z)5yjU)+T?rVV^Nk4%K$durqy2vW$}HuwhrbE7ZQ)!>#<-9;-EHg$v|L3G-}=N5K^O zh7T;-MKuu`@P-}Qg;^@ysus|iI1kbTEnsf&V@hc7kg*wRYmS7~m^ecim~hjGSp3Ue zxz`h^_vc*CYc>^%U2N74F6!B~PaM`ft_eM4bj{_?J&0QLuAb1%vFLTJ*cAa;OC_4l zg)xozer>)32f4#)fqm<+V(rpZ>5wgnZ5G42aq`vOAf5P9t<0jG!h)Un{Pq1)H{dI9 zWfOhK&4m!45@y3JEN2Tr-fu*brc@$8n;{ZdGv_w`uwZE&1H@QNFa2=VduQzJ{nt_q3IG{!S^kv2 zb5`qb#_M+26Nv`6v<&CI5}K}|U~X!~potiX1~v`f+_Y?SRn2NLl})KeDiDRInu|Ga zxpJ295RFc(x~B|KOb$L?SdG=c%7^O6GZ1g}BVH1^OLJ8G2!0x^3O50ARV+q`Z0~X# zYSH#-U$aS5*!ZPgmBLl94&XeJ*ZHLe4$m+8p#&*$zAK53hqx`D$jzzzKdXu$6Lz$U zAW~O{VuaYy20E4hYd;`h6354@2s+@u`*${}MTk|JvAj_*>%P0kmzp&LUsE-w&g@^M zRSu#4k`2TDa_Y9=&W=kX|S<+20xp62wNAkTwY&J9?8`P+g5%_ap(a@6~Q zGCsu@7`Pz+LYeaViiv7*;j?Cf6&JV-=GV_j^PH6dwcfXD;bGZ%n(xhLI%X7`)6k^?Pue@{L9`=thR^LT*RO9al0)wguV>oL)ajrh48om}JiW(nyV-3h z5u7Z)n5k;LFRP*y^DEqV1u&d;uzZlv&XAZ>-^{t5yuP|USn=aM9+d?Q(Ep|C>$+=~ z(T?6Po7arwz@*?<)@KtnX@&E7Xxp~P>baL+Ah>Qh{=o|YM{?aNsO4F54ePj8T+Oke zQeMSB?-0>*k2TXN{eSFy#?c+uAIh~nkW%Yn%U|BlfSxws%+MI>?A{wR7g(>F1Ut8k zj9kp^i5XqPgL|8M-3=69Ce(Ip_5rp8Nh~?nAc7iZcQ*Vmq_yNfBd-j@)r0IS8`a;Vp2GH1zYIrF?UvHsq2qVZxL zE7J+gS~#aYyrI>Vp>;{%iNJIMhbPjFTh@807tIvhuL-6IF(#btT2^WsM>u;~a~TOK zqP6xiwrz$dlZ{8_+rr?}Yil!C1+YAV9u@siqy=y+P-M>R#I1_T7h`T0RJ`FIZ&_v@ z#L3^U|Mqo;Ks`WqP=SC%(SZMVYrL_WY3M(FonW>?uzwq*Ke$W(1%JEdjraU_!2cRg z1mpkHKJ^mUg8J8jsVexN7gyx@|J_Q`*7#d++#hTBTW~Cp5!iGlS#Q#`4d+6|+?dm6 zYy)l`%}sYmE>29KBWuR6@iG2-uUP}`TmSCa)MZiPcS*3 zGMEC4e;=lOADEf`7C2J!P3+rc>Yu0*GjwB?<>gOajSz}wU(hP4BXXJ;K|go zfo-2a8quEPnL+H(+m@!lMS79z)b`cpJt%R)#kRNc&)o6 zr0h4@GA~BzUfr@0u&2F zB1t)eXX&eSsq~0zX@9y$u@QboYHS8mVvW`Y#GqU{$Yi{6t}L?WZ#-!j6(jLP;|$Zx z?pSHlVvY`3o(j!|%dbe*>73BUfV{gyFSRyfeCr^qZoM~Fy> zZG$j#i;Nfw>i zt*Ak@miZ2W1yHLDQEQ#j61Q!eGjc#>361M_lATHM7B@kXwY-+^%SZ6AL8G|t*v!fg zm?gms$mzZ~VpE6-^E4>G6d zYWg7}uh#A(t!-+ss8Ytq>ix`yT6jsa2!XfIz4&s|ISUZHuJ#Nt*r$3PFpx#vXL1kn zj^f7=Q3+MV5+r49ko8yr_BTCZqN1iG;0;o<6eJXXhT@}{QPzZocB5?SHF*wi=auTI zf7!^<78N!0K{sN5TTs~hMOan5L1j4pDTLiOEHrW-CCDsQ|9*( z4%Stsz?dTNNHBeqEZjCGFx}0>u#>2WS>U;`AZx}%-YHZ_ElQ_=1asEUN5~;n) zya=%PQ=g3|DC|NX@Z7P6y9v%C%8K_PeSvWhiozH8Q9^Lth0xR0b!Z^%1{p=G^YV0} zwgEhcsidBe0UN=>9F8J}`51a>SASEFUfmPwDV40tw^YL(biEoEy1jgV`{+#r?WI?! zlQ`d7d~ls@^JeM~=E)!;i&VP7$dd5KhNi3um=yn~^`&!)(T%GKJ&wXGG}8OY)(kH#2781Uvv?)+4JF$0XaTREeBi#n zY_d_J`)pVt!2NgTHtEa}H-3V-&pWoQ*P(pG8PqZ8RrMOD?bC5V^cLBKsjCWBloI@z z)MNR1Qu>9JNA+QYEJkYiucw+)VxkyH=c(b9g%a1=Gem9z$PRwBB4>zZ{adN?^L=I$ zj)NNCugJ~Waev;kcBQdgwu@N4x^6Noh)&iFdMB?e0FyIMQd3?F`Gjf)y@lZxQrsuo=BKq1RN-iq5s+ug>mNAG9yyG~~~Q#YpPPqK2!q1tNF7G$=EdLKG@i zC2L(~y_MC`gyXLyg#L=Md~tB1Udg+j4H5WUpPDlEsSO^v1QnVy#MyA(S;6A;LG5(f zVV58M{9P+rDzKC?H=nYOnFj@@rsq}ktkNC^fQEBfg|lc)MbFjY9s&KZHitd)tP!uP z6!1$&0(Yn= zKv6eACTTlyQm6H1yrof8-zt-b*d!bFok#fu*qZpxLb)xiqd7@tjDn#=;-AGVKK7f% z>2i2SZDpe%v(N}OZ-eQ^+|#QF*%V{bNbBCIni#Fpm=p=;v5%@a&%#OUZ++E#xHEX~ zR@po_#aHI+(uE~c;} zA<@@dgBNzyt(L$B^Dy!$RR*OQ$5h%wa;9+AqZ_c_B1)7>w}t2@gfPobYx$D%@p{g@5?7>v+0xZzrko%aL#0j%6tYe) zv0B|9L_NBDQM9vZOd1Ds#5Ac6fC@#P>J*rgvo$=+y^+3HrsH3_RIn+eQ)y90P8q0* zF*Wg!Q6bh5b@gJ7ZVf8)SJSfGf*Wfh>+<>Eox|WrbdQH$BrjtR%Bb}LWz`L&eZ*xV zzxB^lwfm14N2`#|BvWI9%k4RC(OwX`Vw90fBxDdbAe>VNs+Rb$yKUv<03LE;bE+g> zN~LAi87dPdyEFH|xE2Sa#mo5pBd^e}u@eW+d7}ruyF3J(SA;L?0=FyIyVqtU+d0-_ zr*7We7g^+OF^vXJcj$a(J(`>_%1}?)M_Aj3y(5AIP*H-KU;`xaZvIW6#W`SlER`N% z=%(vO%RhMJSzb|js;e&S0gERXnuE=COJE?o)avx1Jt4KZ$yYTgs~00ob^ zcEN;b1)Qf?0~h7|N-~Q%{3r#QW`sDWueLEr!#cE4mGq31BBD+FfDvfv2Um`+x{gP% zIs%bg^Y{a9wqNpFm3Yj*`r=7iufEx^$db&GruL`?iA1)q$D2rB%kHSY_q&im5Li0> z6_&oPn!zw{6+D2${6(NRgZ)L?dIvx8uWu#=5kU}$cacC4(!{aA@UDT;`rV*gCgXnT zh1Q)RIh;b^RZfEA0pv|!u><<#n94IKL%!>Nd-VyK_lHVdnc+JBK6A^wAuxIAzaw=_ z2wjz=gq31onH_(@YFh{5gC%nwu-q2$JeKvslTWJle4|$4`h2{H+p;-_J0oiUJO|V8 zpe43IPjWQtJ>2zV5}Y28{_WFl{*9mT?$WMU-K~-yk*}Q{4G41BN})bfv=ed>1k}8VoSHkW6 zOG)<;=rj>bHDId?PxDV|97`6}FO%-+95#M2wDkPuTnW%{kRU3?a1b3Tm?;3Oy-_yi zFLI)ppVqK;Us$&a#9yLrj{4B0BxUr$-d9COZr_95Jv(2ok;s>MdGWRs26-)ZBJ!JC zrdcJS-p!9$BUg1iAp*Wi2l8~Ig0dbILqz<>^{x#1QxJ3&m)e~=q~q#&lr zQx5&p9u}@HhmJy>6qZbwI=7$4&!txJt2jQ^=YGb=JuGZJUf1j4X`^7~5+E`j1e6}v z4_F;s;E3rZPS-PmtaZg$y_zSH{y$nN*CTOx-S@@C?%07ACOp#?;D6NuiQe@n z4|1vm@fGKu{J*`&s+-wY&;EGdn=-4^`(HeGw#h%gynpJAje+Y@?sC`UD!>*=Lt`QX z3~1D8hK&n!Yks}No5_?bA4ExzK)yEl6Ez=)aLWro1fn4o|Kp!{kblrW{)spCCjtli zvD*VA1S8mRMFbqUbgit*kH;$*zi#wkLoP&pY4~!LxtG7;Nb2gwTk=K9=o zQ+8Pf@f=`81)GCqo9&fH5c`5=dTRvw^^%G9z zyD!R~&rPjn%K`Lr?cU0KYyg%VmhP8+W=ul-1-O+R58`y6PKc;z=e4+tc63cbb@5*g zQgQsn!r5y6s^Pe}RK>!&=H>A)$jZcCjldO1#OV77CBk4{xPKWqt-05s0#js@mP7ju zHq=AAW@{A*c7W!@E$eR<5(J%7AFz#63sY$K^_q=iqL<$U4Z%0_7}A>9C}covo*I7?)uDH2d^Q7B@i z{nCbPeD}^P^P+pfoAnr>RtfBT%B`#!!>38+jM@E#NL#Jr#wS-9{M|RyQDX(*2y^}_ z-d}Hdx$oR`_Ze9vbeXTw)yym7+T*e^i7Lu@As0+#JuufS7Z#kTS1s^aP&FR*XrTB( z)#g9%(ft6r`fv;uS;V*K{D=m7Z`f7t1vgtD2EZ>cKTX-H@YU{!M;itT`qYrQD^nE< zf~AE6j)qA72JN)};je%T%6PoLbBP0JBIv*9LJ=$x6qF2-h|9+fvp>uPOcDVIg^0^P z3r7;cKi5_iF&?kw!(m-IQRFxH$%^T?R~pahn1tzosr1M=pyY|2?SYM$>GyFNRouC
ThNLoEa+9*;6FlOiQDb3<(|4a}rwzn@@l{4(Ll?(tj z(WfkacJDi2%aVZaI?U@+Ci-Rwuw8>Gd{XviGxW3{S1fOu({I1&-EYj%gLuP%O1aMB zjv|2i?K!H?I@9yr5py;CZMqOuqKsAB+u7_A4f(P>@pOiwEB;HuhPwW5sD;{sdWH^t+1HVNk? zm0>Sw$vUI{eNw=ch}%%zGXx)w(E?S7x9Z!Zn}i&9Mr*uv>iy#f>M^;Nw;oO7F^FtK z_jIY%Kl-rm#IKd{)fi)qm6EdVS%FfAf9`LtBDtyuP}sb3HjbCBb$#qHk}K8yGJ!g@SJ~YQTEdk)F04i$+7ge94~FvH)R?^ z7>vR7d|R=Oj>;9#^?$uW4=Uqq1vp}o;M^E#PTZ|6%T;+ZICnqoswWZCf-hLw1=WHe zQ#eW^ilz$&kEag6lgJVc0KiCO|0XpgqXEHSXwh^ZH^1Y*pACsD5E+sY2ouQP;dD*> z;U7Msyv~_6tasA(kCl)76w6 zpDl~ey*jqj3seKDA1bShg234|A1@_a;Z3V5#{o4og2t@jsWUU>I|heH&~&gN2S0zR z1JSM_aNa&|+`jlngw*y>+lt=9v6en9y3)~YzHV(nkW&RMp2KjWN8h}GQpy2!NFl>( zrhV|5BUsRvC?Fr2UJ4a%{urezR3}ZAYo8(ef^KR-gL75oB~~l_gv-{LFSzQ^On;Ln zT`KiB<#b-FpJpFb_8F@70#SDew=E@}+7?E6{^IaDh)=sm<)k%y)LsqE?EFe+ zWfk+{Y!bsBnPKO8kZyk?>tIc1zOFT1gCT30W~Hb#86d#W7>7oCIX?Li1DgD z@1uZf$*HHxbCWHtzLA?nU)$mx9$EE?5j%A^yUfj1L*c&4Zf4}fG&BD>(_!ojW=G{z zX5v0D51>r+_S875@3`6n@Z+r_Y^kMKJQ)}XkiObe?s*`iIHG|m32V)IPiu>#DnEwf zhdvJc8I?qCGDakRw`>kZlHT=00ZXOXf?2Vg7~J~@kNRf^NDdO|&DKqh$M5v(0Sok% zy0BP;+$l=F zFaWm5;O{g^`=a(D;gvT0Y5eBj7OR zBLdUWw0tJVQ8_gUByX^6;za%R_rC|5m?k(?#Qo;UhsHVSGN=fz&x}#-I-f={aX$>w zh0;}xUciMVGRel0>P+ztF`ZBln7(bE-2tNNXYvIQF0bA@kw_w8pCK*MA`;Tv^zCD(J~w3cz|N_hlAS!x&@>x3S#*LKkMAR4jgj0TcTCb$=MI| z*A@Q?6f7nL2;P(Y)_bO=gJ@ZT9iX$Y7P@yYh~T{Dxcjn6O0x&B(N{{c4=e$OOp5{= zd2h)Vs|${p4Fisvq&uzF`4s=#My>%w%6*Xp^eA2$)yZ=0!(f;&j~-2GG{7Wztt#jM zB9b2pn=8?W4ci`MgRXF@%$QR<>j2T@5rH7`SnO0!621VQN&JzMYoAXlSZMqaiXey< zJ+T6@X*<}%Wu!ObrJ={Oe+KHYC4-NI9hl=ho?TAZEdcXL8M^B&+Ge4ZudY%~di>0$J9mNXXtTw|b!pkB9mOg1 zn>bH$M3OWt`U`{V(hF(9ah>-Ul`6z65h+QsSV;ez_?0^?$#PsOf5{?Yv@2-xg{&sO+G z2HPN>gkW@N8zz!-$2;**NsotaTeg=AxgcDFaO&>G&FzIud58wF`s)PBNi6gZe918! z?0s|T?&+f9>(d%=Q*khAp}|pe-97cV9;71&asF~#eo#1e7dEhmtRsrYumpx+5h79wM*QpYn^=!zX6#x-`{FV*srtInkM|AKVBG|&F z@w2n54nH4o14wA4T11NN=bpryxCWH>sd0mkX+m)qHu5OpzJogiz*mwB*iPSkkyN6O8L&CotvZ|$>& zcSc9$%G4UR_rUY8Tw42Cv8E8XZh5@99$`|~|DVbYMAV_4PYfOR^=I~Ru0G|ADnyBe z_BjVCBsCmU;@@jrJyz@V_E+5A!q-A57y?K^jUTh$p#R*Fr?JFXH^2b`N^bw}?iZJ{ zHZb7yDFWCknF4!44#kEdJudw{LM^sK^)k5-ghoyI=l%Tlwh#Z!6eRxCf`0GD)z#RRyDCQ(tkEkM{pE3oa#n;%fU~`J(*>`}Lhg?o zCGSQ7%w(ZTQMmQ!C|-^A?aD1q$Pv_;Q)+;{UFi1y#)U-VyEt?S1Lr&3o7G*n$Zq7W zK4?E>vTv@n+8EYapW?=k+)eAP@Z0sStLYp0Mqpq#=cBZfgYNU3hr*!p$7<#U`?0Z* zW9(%aV@H(^8TmhSPcd3Q@YiSdp#L}>3(V3m1ci1*_uJ+^k4LYa&!=Zi991;1VC4cX zB}Nrea{%oS67Zg$h!GG;D0P&v3j7er)5}kns!zJ98O+xgyhpU;D92Cg#yL?Hv%o3o&9C`29@`Kp!3gCYQdOCFuO2Kj5V+(9*xpX%@QtB zMo=sGT$YNO`KX;^C&*3%n7$Z^+i1WBq|t`&-c#Pu6Wz2kZ%CcXD^a}zZ|eFL6OB0{ zPP#9qp)6$m#!~>#L&j*t#uog1c*QcefAs;1DFZyE~zR zTW|~R?hxF9ySux)J9N(Z@92BGd-O}yu2nBJ_SjW5*IskZHPG>zm{?UWGLWLNWbcbi z^-WTzkRQL#LvZ_?8PB)HdYan(i#Dg`pc0f70#aFF3c3VLSNOL%Gu&N#b}W}wFh}*| z6EJ;(D-X|7XEA+lNumhZ%(B$J`D2OH zb>W5h6(5WB)7G|rmy#-DzI3c(xxpW)WSG||aVx>a{7P5V2`gWP3w_`RT6HN6MUmiV z&CcIibb%7&hN6WAKVzA6w5xlQaa&nUKiIRM9}?6MpLBnGR_ouI3@EabFtS5^D=0hk zB?cI!e*O9QDuWPt|C#TU2KO)IINW1S|$0k3fD8P20#s6K(MyWl6ksRqJS5|58`+ zeIfYgO|)rOW)J$SFO{g}ZIo-_89aOC(D~sMTsFcT-n2j#nMLcOM5Y-Aq*kf|A?#5H z4AS9qC}8z=c>s6q60S>vQB>1&_ZeYn@M;1nXWH3Y8QPe3v9+c3B@h&J4O7#ckD;0L z$ZrLUXB_8oE=&NISfum-mjSuEYAj2*j$0iTu+$@+H%qB!D6iS<3;T)}M=yeaI~lT$ z{3pr|8pf^gk5oeh%`Id&m9SG7+m3gB%#(@*-iT|GOvZ(g|fNzx1DR<&{O6@iEL(WOY*~-yC|L4V4xy5 zoa;OXD?2vA#m0ze_=YU*$@_r!$zWpLryX~GEX3pJgK2ScsWyj>fN68lQPQXH1!F;MGgkjDf80A z#BLHp_jYWmC9F{Arz0F_zfok>{cZLfZ6_NBO_NPeCNx%+-(y2i9^ic^u*Lc`Ey;ZJ ze1l*1#YL9b+QwmQlta%{537Y##vN<&r29-0ixcp8Hf!)`;Nt{Y`q3%aJCOqfFw$>G>wGWIWYTmk> zdDTrqPI*ITr~j?=`dIAx+W~k-iikv=l4H(`WF#VvcwpYzNo$VA+`GI=Wu&z6!`rf_ zQANCKwaI|Hy-QI^|3$U(%Y@h&H9uoA!UFj`|C6_DG141{Zi!)kM9}Zh&p1{_@Emx3 zE?m;ctoni;L(GlD)T0MYIeqfmE5BV7x_VWc`;PTO?Q`!uYGxIde7^$}#C;uQ;*pd&Das+y{r{l9=^aBUv3c#%tC3$1}|1!y+4oQ z*W66EduNt?k`URMYQP83Dhamd-S_XhlFAr}GG&U_Jcf!%QM#;mwUwlV0|kGy+Ft&6 z!{doME)K^v7y4c(t%XRBKcF=`J{JQ#3ke$%7cPl^`MNH*8ml~1g#3wJe= zqymQZ2G)=qd?tQAgh--9N;sbyjdr)5v}R>jd8+&PSH4rf4K3T5Ko z`vO$khXfZ{q~d9;xsi3h6E~&qs&AkZZLg5nV+$12rM>jK^>s`~DlV|LuP%jJ@ z;U={H)>G4&i;)A!FtwbJbhs#p3mz2Wc$qa3KjB6c{#uf8LzH+5D>w9{@x-#kqfXe> z*5Y)I(}*`XG<3dBx~G?4%Fl43K8yZotmC&sd#ky67N9>-gq%YIcVusEXcbIn9ddn~ z!OrJgTK?k$f`K2Np>G++?i*@{$z#&8a8=8XvZ|tBJ zR)7Xp!%uBfcq=$UePmxo3RftUV%Pj^c zS|Y8(yTd7QwXA)(We*V)+_-@ctTL8;1-rIM+(J78Y-oz`HMoD}Fw3`qFx?YP@e9Q%#>tQ_lLdkzxN z;_#TVTK+Oq9tlO-{;A1eawq9GQpXk)Og~&Jd*v|Li0A2%eA8b*p@%(;zLZWP=&NC3 zFRJN8b`YyM*z+X=)uglbV-cI_^06Zd3`YeeNJ>i_@Ztqc#ambq*wj7S3({hx*SxX1 z{DERb9D}j^u_7M%Gcq3D+UdM*!1}w88vjF_(hK$786106KstOYVHrzuC}FfY4~I^A z&Q`T4a%Y&9biE7t1QuOFr8L&oioqDYFdMT1eblVlFGp`63`2?j>El)XJd7dhP>*uP zzV;jo&<5evvSwL-cHnF_^-)-u5Vw;pIaN~$PZX|Q&b8?HTaZJZ`LcWNop3)2#Z(dx z2l|Y%+$?aY3V&ewD3+)M<6EFsaR{{Xx^88E`o6?!*EK`gUDo}RSR?lGaiJ&{%$AOrjveEs34Y~DomzXd-!J_ZY_7GOTf zI!>8^sY|<-2Tn`MB&t*kU*G+xb;GBlf(fN{3xYtu8ph?{21m*Cn-(i$ZCB;i0w2uf zkW=f>tEGIU5t%DHrcEvu_1&h#rjhRy7d4f^l_{sd!q91S5|!j~anz=IO_m-PPef1w zI2YF43KCBL+jN{|+*9&f>Z|D<1<33o;WQ5Eqm}u8YoKI4YUF&+X){|&Twq=FV zDYbV>y(+@hO;qSGkygYFW%yhQN!Yo$4K&@(Gn|N?|Hc%~w2eEsS*{Ruqu49D*94|* zqN9#y8w=eC|B<=A9xgS>bj|2?Tb9uvmT1PP1sUg%0rk*4o$?JAo%Rt6vW^#^5fQEl zeWeSCSR_npE$Fn)ObwuLuT0XwwzzhAmp+C9TGf%!rM*(dJdF3)2MQjuKi-gX)8kQ! zUPt{OcSCU40`bD3SbFoojZ5yt4y~_+|B0-jM<`VJD#;2*Vh$QqT`5j ztX#ju+kE;BaY_yge+=!v^iq;G-MWJ#>ykg)@h!Y9bSFj$mgGe&7;vVwiF<2$g$pimT3PctZ5IRI*tfKVRulRC2F+B^JP^ zg~*;>7iC(l5su#1?R-bQuWaq)Sglx%OxF?GXuD~K3##JXGo~lbq7w4we8DK^%2K@E z|AF6Kc*|YWI$wrh=?U{9Ya*6T@Z7?isyTc8jf=regKhdAy9LhfrOUJRVjF)Zu_Nl} zx@q#8D9kLTDI@Sf(QJFw0*i$rSN}b6P)%{$qrHq$zF5T1f3e*db`0la`u?omb~BKN zV0&!HebL2N`!Ri@h1u$p9m#n@8&f<%^yC!PeKJ2n7~<&;s;im9NVvAAo%$ZwLpZy#@Ix4 zz92lLki4FqbsBj(Yor_P$qV4$?Uu*#nthMINuJvONb>$&0RMAR!T#|%G~zNfGchzY zV`Dcl<1pl8Gh$=;YZzn1X~@FD#c9UI@oxgC8!f2V!vdfNKfH$zvWF2;yBSkKe1gjf z4;nv=3sj-S}qhx~mCluxjf(oKPLIo^b zI=!X%h~2zs_66rzXZlFvU6?=YgA0V`FPc0GSxPvyrAU^93RKq;<%WVT<=p)i>+CY2 zozsa?-bEnbZDO%qsI3ijZ~vz5@Ww@y?7T@9?MI4sZ#idO(3ml zo(x%d;*ka@fFsrI;q`alkMOqiDoBjD>iOnIy@gm25%2+aXRG033ZgI*_K5Jt@ef~q zdM$8Hvh9lq_2~=+W<`5Nkm5n-M{aR=5R!>{G1DFQo&GiGY3~CXT5DYqYpt#1GbEhq zw>ldP^0^o!n>jVzUfHvL@&4a#p*Ajd#}Ew+Yp0eEK+6vstpz&$*WPM>_3|abDY*%@ z7P2t=z^gqP-v<{j-!A&K4ksUj5R{0PV?j4-yzsp11^Jz4e<7lvF8@kP&FUJSsW%7) zviT}JM}PX+3)0eHwNpx024jhQ$;G#>pX&jPT?t6c8+Q3t&(-LS*>6t(i>T}RzfxxnyN(+U`X0Bminq?Py0rNy{4M>|FxPHVo-LOo~t zb=GVdO(>Gn05A?wC9XS)Fk!JSt$O6ohHE`__Ano|vC?2|5~`+CNuLn55+7NEO2svq zh_^$f`^SGV?CF`O@FR9YTKhf3VtC?T z3FPCyrUWQl#%Yttuye>15!D;MA7bqFecE<^QEX4c^=%vQP|Y&D5pO)TSpC&(FV|n| zDu#``w$2n{OUOJO0neGFF4h&VHmn~vMAqdNvn_!i_(U%a0<-?Th~O|N5)ZyBGelsX-tZk*|Xiu$q&7IcWW!>{*PCafkn&vT~(cGXWvH* zCec!&8j5(5u~&tIjBv(FrguJ%hmC<6@KnsCEL~AF0tBq>A$}UKg%X4UfZ^CsD zJ)&&>$*q+xF06AIJ6|EOumEO&lQjuS?MKBhg?vFRrV&OhD;D95%R|mo1Z`D|Mm96( zE!lus+xe06sDW=O#;_3zNKE`Az`M*ZfZu+iR&;1mc1;yCs-+%V{20tY<#g|MR2!E; zWvN;FeA58sO~y9(PH+D8@Yl8VebWL}hoXs~wx0%rdn+?$#qIosksh1j%EI{IeiA0l zDSI+L8_rCDepMbBE>#^zG`^>2Dz9tnp(QZ}=F0WKEladPj!lLv5W`Tz=r~(3D0Gr( zl8uk;hBimqcZHW@ljE;|XF`jv^!B$S!wZ0z%p+TRUIRh6GMw1o|&r?lbkF<-^GFEtnZD;&61cdUw9$c$$2 z`GZ@nnaWGH{k&P9W4Wl<#gri2Z8foZPavjhyi)U{Yi#4`06A84Ec(&!Ooc{~}>C!iYb!v#@CULpVx317cq$^&wBI;KI?>$FJIJd3O z$4;5Vchpg}dwT-zm|G!&#?{%vODudJ-@qeFcL>6vZnxT!+KQ*U4)0i6#$x z5?GNtDSWiefcjU59=Vh)3T8qSn!>=Z7~S+on-FXscv#=0p$05BJ-i3zRmz%H(SNN{ zwCTlV77W8Pv5O2zhJ)I36jchY`*29*M|Sj~0`*FkX@M{I%appWH{= z*I}@#Gm;ba3E83Zr2VG7s2|$c#7E7wthtFBwc~;23LHun%^4nl(Kwv^`TN(>S|z_W z!@-ukGwcKh#?y!907bykU_!Wbk$RvR+FY&I!^r?s*23s+F=9W>!6DiqDF`x^VuMEn zqaTVgit6y()77mL3k^yt)#5O}(X@}b#aIeGrkCr0s9#nhMRw4y<{IM|L~P!^q^e?c zC2~ii4uIaQ7~ZTF-R4#ThSXmA6eljC0r`S5a|=Q2PPJ?D;1l=4b%o5&XHCcCf`h=2 zpTHouaK{!1@){||UI2rZbYoHUslV1Z$rcQ0kVm*5oGof?t+A-Fbm_ad7jS0wv`2;v zN?E25*dpwYk0eSyu=9JnnTUyRtD`*i4U{us?i3Dlb`Y9wV(G7uf674N8j~`=6wxlCoXQk%yvzgqIU=c zOe6ImrTVCjmf>9)=-p}-=!v5FeoB1G^lbN*yPj?kF#Unup)6~1dRC#M{~9-on4G&L zL9ih4@$$P<^8q~a!PBB`>Zrt*S4IeigLu-Tiq&4mWJurM(I`F^O53K9z$l}#aoM(# zmIJzw@`oqFBFNz5#~b9meOU~|Daj8Q;Gck7?3>($LsxJ8Y%dmvqeJ{e_YW~a`I@i* z62W;X6fNoD)MMnZe&cWxx!4-%BW=da3{1EZUb^Tpt3T=;>yPRQ>((~<%`@{li=9SV zS6h!>4+}~?VkO^B7N#kZpF1F;ShmX-LiFHG?=hE}m2^m5;r4G&Uy{4Na9;yYccY@i z(TnxZ<6%VlB8(PuAPhopuz++p>i7duc5!8@M})Umh2e?bPVOWG$4jv+t>)&(iGDUm zkk_AS77#{SSvaI|KgsUbzD@+^n$2pt;okM3#@4b``B!~fbuK;R-ZaxmmJvRRYw@)1f9cP zmFz3sLsn`22>=uxj;H#1_8x?OW@Rbe-`8>X9H8(sd$(d1?9?q;Tt)z?Yj6*w-jEN+ zT;=M*oiGsbt~C(PoWjFi(%^6SKVWXHv-MZ{{=NWZEuSB(vKa10*ebpHhMu|Ch#);j zI_wn5UkiVQ-u=uPXa{D7rVh0#Cj{j7lA47ce1%HicFwz)eF)>cwHBz|$AoG|trpBJ zP{vw>aF&C_Y+hPgE=^0iPOQS~e_3@=eEBkjP04$1*yt}2P3r`R1aFmsx=lTX%>M2x z7(g;cqF@Aym2@s9fs@>OK32D8JvVmg{|N~SgCx24BA}V54+5}P>^OMzY~~4mnL$U{ zOOHhj?jSS%?t+2mz@M}b&I6BZP?rYBM-qno=ekuoufV;@01}$ukZW0ZW83=2ChS@h zi5l^#;5|miFZauU_j*wE@79O=fVd8xxWbE5*foCK^Ra|id7IHNUJ(9mp|%}W_*wSe zi!kszd6N(7}G#>1tXx>cv`q7TGG+xHPVVs-oR(k~X3E+(l`1AM#XX=3B0W2z}9J(vP z417GU^LM_k$9D*hfAQbc3?~hM)F~!`ytT;&%vbQc;0~9BCt$p|ChPn%8DWF6%~yV8 zo~;ek45WDzpWztV@c!1=q!x(1Z3mhHDOHf8?p<}eq;=r(xG6ouV|!qiUIg+LQx6tn ziaaK6f|8EunAQgp))lkXBEUy#^xQa26cMhm$ zJ5nHh+^($;>g}Vi^}YAkZqt4Pe$ZWDX9P{djfNEvWL!!qRhx0M+r-BXTE;Y=Gur zcY1nQ?3N|QXa6Q(=-nN^PQO|7LmZG`)x9hGJurL8cs1w6<93hESoRZ(!SC(eAndWn zn)K!wjab85l3@XMlcKCwbYh;TjRmJia-&HKV8kHY8A1u!(EVvTliu{k0UhvDXoWKM9CIOW7il>n-SBL;ycd%jkfiUuNcoMmEA z2;!U;Jh7AX_=6ZEq=hC95*}Y2CdV$uuM5~vKCoOc)B@E+`p{vV=>+T8ggqNQXSiYW zsd$24Nh-Z2B`=HVXI4f7@eC{ITth^*F&|>(bFDo~r?SXlxsMI*LrH9_dm6{;9cu>o z^6g_R-+*{SxYtyM5Q!vP_@?pC^EwhCt(*1S2~R6B%mVFs6a+FuIwo<&Cl_>Uf?~_3 z5B?Dw{k2>=H{;y3Nf~`jkglXz$9dybJ9} zF5ckP{uR&7J@mDl1*ipmMyg~-E&dgwv^o#R0sxu?DN z3?HL<=e2U?tfWJa{(QG5P1G?L)2!yu@8DrJ)@d4t|DM75%=HOYm=0E23x$?65pwc} z8ZwaYM1mMcnz+K?B$TDb^d;Knwf2vD$2!eL_a7cd=`SWaT24L60zSca^Ne z#vwZ{l_TizHEJ8TrR38dDJRg*G_{PK>xVu1U5V~vo8Tqf{*guo#LW()aSL3YhLO)D z{0Toe!krl8`^r*OcJT_|FYRz#{9Z#wevkvox9Hd5GDqk^G@ZkP%!NNapqX1=RHP4F z+M_Ouu1MS&F$aV^ovY{FKPM5zu z%{?m8w$m<=&mYoU@q^90QDEHX+Qmtm9(c>FOSl?qITE}Qrqwd30A;oJtxW?>4&(r< z$(%Cn$1^OB<1WrXKX#w-3wWzOwAUmpge3w(RI8WVEz?NnZw$0@?cMefub{oXaw`vB zZ@Z1+8G=->Rhy08#Vr&*NP!psR?g@Hw|ifH>+RKVl$Gvl-6xa7O&fOq`#;_N<~G=b zmldj`H|})aNN@+xyxiRZ08wn`p7Z*KOEow@~mbG$WE{SX5V zgaZ-9V%&Tc$g1|Wq9JDaeWM-U8#nyopzS&%LN~YEcMfDef?%~J#4YD(af5*vf(xf! zsy}Pbcpee0XDVFN>jq97_@@~yx!qk3)BNW|r~kmmoEjG-U5hY4pU$`5pnhs`U@Isd zuZvDjUw>hiNOYPkxjW{{;XsseeNPhdr~oYda{3#x3rRk#}7e{MP!!e1S={NE5S4OAE1Ck>Im z@xLLJR)9(qDLFS=gR!_-cYf=;S-lmM5AUO_yGEsU-ng-oI@(LLI3;qw9YSCU|IBCM zU+~>(sD=J4cUsWUhR4{67=b0E^3aA>$Zh}LQY!z!g7r^m?Yp6s=tnbFw;G2p+r5|W zd))a37MvgC6OQSz(2A5 zY*eUX0@Q3fN>JkZmfbfo56Omx^CywZkAmRQuP4e$Ma^m;+&hlr#Y7dxuepycr6DB@ z^1AI|Us?hrKGUtFT|)(nq+8EToO(T@J3B73-WP+`Ka3pvBF84OTR;wJ?xf#{XA`} zq;8DIVurx;ZOb|tQz)A$bCh+_u7M05I&OM3)+x=)rRVSiW|^dr~jMslni3~dy8WK?%(Q2JmHx!pl@Q%ep`rB zT8&L2b3mAJaaeaf0q|5BiD4{aRStaLdhhz!q5g^&3%8}{kH0)CKpE|u+(l_8b!68`v7zAB-6wPUV z-d(dY*SylG+YZc@dR_K=in2%~tHH{-+pM5ATl+J>7Q%0A@v7wjI()FD8FWc`4f=x# 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 J!mkYQe*j2whhqQ$ From e06b1e230c466b5038232cda3b59bc9e471d9097 Mon Sep 17 00:00:00 2001 From: Cccccrystall Date: Mon, 23 Oct 2023 23:33:32 +0800 Subject: [PATCH 7/9] Adjust the data explorer name --- ... Smart Factory Monitoring and Analysis.zip | Bin 78819 -> 78596 bytes 1 file changed, 0 insertions(+), 0 deletions(-) diff --git a/installer/compose/quickstart/zip_folder/Example Asset - Smart Factory Monitoring and Analysis.zip b/installer/compose/quickstart/zip_folder/Example Asset - Smart Factory Monitoring and Analysis.zip index c3399044917984f4e3b0a0d5553abaa670242928..4c0895a6148bf545f78033cdd8926ce1cf1795fa 100644 GIT binary patch delta 13863 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 QLF+7FM9^teuf75NKX2!9{Qv*} From 9c3ed34fe534ae9c7392042a8f8420ba54248204 Mon Sep 17 00:00:00 2001 From: Cccccrystall Date: Tue, 24 Oct 2023 23:06:40 +0800 Subject: [PATCH 8/9] change the installer.xml to let example asset zip file not do the line ending transformations --- tools/maven/installer.xml | 1 + 1 file changed, 1 insertion(+) diff --git a/tools/maven/installer.xml b/tools/maven/installer.xml index cca59a5e52..2579ab2df6 100644 --- a/tools/maven/installer.xml +++ b/tools/maven/installer.xml @@ -30,6 +30,7 @@ true %regex[(?!((?!${project.build.directory}/)[^/]+/)*src/)(.*/)?\.gitignore] + /compose/quickstart/zip_folder/*.zip ${project.basedir}/installer . From ca551c58721e6df0beeba25df9228da44c0b43d4 Mon Sep 17 00:00:00 2001 From: Cccccrystall Date: Wed, 25 Oct 2023 16:20:53 +0800 Subject: [PATCH 9/9] Change the exclude path of asset file --- tools/maven/installer.xml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/tools/maven/installer.xml b/tools/maven/installer.xml index 2579ab2df6..b88b2300ac 100644 --- a/tools/maven/installer.xml +++ b/tools/maven/installer.xml @@ -30,7 +30,7 @@ true %regex[(?!((?!${project.build.directory}/)[^/]+/)*src/)(.*/)?\.gitignore] - /compose/quickstart/zip_folder/*.zip + ${project.basedir}/compose/quickstart/zip_folder/*.zip ${project.basedir}/installer .