From 95e7dcf44d499bd07ea8cd65bfedd89cb52b7fd6 Mon Sep 17 00:00:00 2001 From: Christopher Myers Date: Mon, 15 Sep 2025 06:49:51 -0400 Subject: [PATCH 1/2] Add support for SRSHub and remove QwiicLEDStick because it is officially supported --- build.gradle | 2 +- gradle/wrapper/gradle-wrapper.jar | Bin 53636 -> 59536 bytes gradle/wrapper/gradle-wrapper.properties | 4 +- gradlew | 290 ++-- gradlew.bat | 53 +- i2cdrivers/build.gradle | 13 +- .../org/openftc/i2cdrivers/QwiicLEDStick.java | 190 --- .../java/org/openftc/i2cdrivers/SRSHub.java | 1410 +++++++++++++++++ 8 files changed, 1628 insertions(+), 334 deletions(-) delete mode 100644 i2cdrivers/src/main/java/org/openftc/i2cdrivers/QwiicLEDStick.java create mode 100644 i2cdrivers/src/main/java/org/openftc/i2cdrivers/SRSHub.java diff --git a/build.gradle b/build.gradle index 2deb66d..c0e9e69 100644 --- a/build.gradle +++ b/build.gradle @@ -7,7 +7,7 @@ buildscript { jcenter() } dependencies { - classpath 'com.android.tools.build:gradle:4.0.1' + classpath 'com.android.tools.build:gradle:7.2.0' // NOTE: Do not place your application dependencies here; they belong diff --git a/gradle/wrapper/gradle-wrapper.jar b/gradle/wrapper/gradle-wrapper.jar index 13372aef5e24af05341d49695ee84e5f9b594659..7454180f2ae8848c63b8b4dea2cb829da983f2fa 100644 GIT binary patch literal 59536 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 QuEJmfE|#`Dqx|px0L@K;Y5)KL literal 53636 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ⅅ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 H-+%o-(+5aQ diff --git a/gradle/wrapper/gradle-wrapper.properties b/gradle/wrapper/gradle-wrapper.properties index 9ad7d5f..04d577a 100644 --- a/gradle/wrapper/gradle-wrapper.properties +++ b/gradle/wrapper/gradle-wrapper.properties @@ -1,6 +1,6 @@ -#Fri Sep 18 10:38:36 EDT 2020 +#Sun Sep 14 17:54:27 EDT 2025 distributionBase=GRADLE_USER_HOME distributionPath=wrapper/dists +distributionUrl=https\://services.gradle.org/distributions/gradle-7.3.3-bin.zip zipStoreBase=GRADLE_USER_HOME zipStorePath=wrapper/dists -distributionUrl=https\://services.gradle.org/distributions/gradle-6.1.1-all.zip diff --git a/gradlew b/gradlew index 9d82f78..1b6c787 100755 --- a/gradlew +++ b/gradlew @@ -1,74 +1,129 @@ -#!/usr/bin/env bash +#!/bin/sh + +# +# Copyright © 2015-2021 the original authors. +# +# Licensed 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 +# +# https://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. +# ############################################################################## -## -## Gradle start up script for UN*X -## +# +# Gradle start up script for POSIX generated by Gradle. +# +# Important for running: +# +# (1) You need a POSIX-compliant shell to run this script. If your /bin/sh is +# noncompliant, but you have some other compliant shell such as ksh or +# bash, then to run this script, type that shell name before the whole +# command line, like: +# +# ksh Gradle +# +# Busybox and similar reduced shells will NOT work, because this script +# requires all of these POSIX shell features: +# * functions; +# * expansions «$var», «${var}», «${var:-default}», «${var+SET}», +# «${var#prefix}», «${var%suffix}», and «$( cmd )»; +# * compound commands having a testable exit status, especially «case»; +# * various built-in commands including «command», «set», and «ulimit». +# +# Important for patching: +# +# (2) This script targets any POSIX shell, so it avoids extensions provided +# by Bash, Ksh, etc; in particular arrays are avoided. +# +# The "traditional" practice of packing multiple parameters into a +# space-separated string is a well documented source of bugs and security +# problems, so this is (mostly) avoided, by progressively accumulating +# options in "$@", and eventually passing that to Java. +# +# Where the inherited environment variables (DEFAULT_JVM_OPTS, JAVA_OPTS, +# and GRADLE_OPTS) rely on word-splitting, this is performed explicitly; +# see the in-line comments for details. +# +# There are tweaks for specific operating systems such as AIX, CygWin, +# Darwin, MinGW, and NonStop. +# +# (3) This script is generated from the Groovy template +# https://github.com/gradle/gradle/blob/master/subprojects/plugins/src/main/resources/org/gradle/api/internal/plugins/unixStartScript.txt +# within the Gradle project. +# +# You can find Gradle at https://github.com/gradle/gradle/. +# ############################################################################## -# Add default JVM options here. You can also use JAVA_OPTS and GRADLE_OPTS to pass JVM options to this script. -DEFAULT_JVM_OPTS="" +# Attempt to set APP_HOME + +# Resolve links: $0 may be a link +app_path=$0 + +# Need this for daisy-chained symlinks. +while + APP_HOME=${app_path%"${app_path##*/}"} # leaves a trailing /; empty if no leading path + [ -h "$app_path" ] +do + ls=$( ls -ld "$app_path" ) + link=${ls#*' -> '} + case $link in #( + /*) app_path=$link ;; #( + *) app_path=$APP_HOME$link ;; + esac +done + +APP_HOME=$( cd "${APP_HOME:-./}" && pwd -P ) || exit APP_NAME="Gradle" -APP_BASE_NAME=`basename "$0"` +APP_BASE_NAME=${0##*/} + +# Add default JVM options here. You can also use JAVA_OPTS and GRADLE_OPTS to pass JVM options to this script. +DEFAULT_JVM_OPTS='"-Xmx64m" "-Xms64m"' # Use the maximum available, or set MAX_FD != -1 to use that value. -MAX_FD="maximum" +MAX_FD=maximum -warn ( ) { +warn () { echo "$*" -} +} >&2 -die ( ) { +die () { echo echo "$*" echo exit 1 -} +} >&2 # OS specific support (must be 'true' or 'false'). cygwin=false msys=false darwin=false -case "`uname`" in - CYGWIN* ) - cygwin=true - ;; - Darwin* ) - darwin=true - ;; - MINGW* ) - msys=true - ;; +nonstop=false +case "$( uname )" in #( + CYGWIN* ) cygwin=true ;; #( + Darwin* ) darwin=true ;; #( + MSYS* | MINGW* ) msys=true ;; #( + NONSTOP* ) nonstop=true ;; esac -# Attempt to set APP_HOME -# Resolve links: $0 may be a link -PRG="$0" -# Need this for relative symlinks. -while [ -h "$PRG" ] ; do - ls=`ls -ld "$PRG"` - link=`expr "$ls" : '.*-> \(.*\)$'` - if expr "$link" : '/.*' > /dev/null; then - PRG="$link" - else - PRG=`dirname "$PRG"`"/$link" - fi -done -SAVED="`pwd`" -cd "`dirname \"$PRG\"`/" >/dev/null -APP_HOME="`pwd -P`" -cd "$SAVED" >/dev/null - CLASSPATH=$APP_HOME/gradle/wrapper/gradle-wrapper.jar + # Determine the Java command to use to start the JVM. if [ -n "$JAVA_HOME" ] ; then if [ -x "$JAVA_HOME/jre/sh/java" ] ; then # IBM's JDK on AIX uses strange locations for the executables - JAVACMD="$JAVA_HOME/jre/sh/java" + JAVACMD=$JAVA_HOME/jre/sh/java else - JAVACMD="$JAVA_HOME/bin/java" + JAVACMD=$JAVA_HOME/bin/java fi if [ ! -x "$JAVACMD" ] ; then die "ERROR: JAVA_HOME is set to an invalid directory: $JAVA_HOME @@ -77,7 +132,7 @@ Please set the JAVA_HOME variable in your environment to match the location of your Java installation." fi else - JAVACMD="java" + JAVACMD=java which java >/dev/null 2>&1 || die "ERROR: JAVA_HOME is not set and no 'java' command could be found in your PATH. Please set the JAVA_HOME variable in your environment to match the @@ -85,76 +140,95 @@ location of your Java installation." fi # Increase the maximum file descriptors if we can. -if [ "$cygwin" = "false" -a "$darwin" = "false" ] ; then - MAX_FD_LIMIT=`ulimit -H -n` - if [ $? -eq 0 ] ; then - if [ "$MAX_FD" = "maximum" -o "$MAX_FD" = "max" ] ; then - MAX_FD="$MAX_FD_LIMIT" - fi - ulimit -n $MAX_FD - if [ $? -ne 0 ] ; then - warn "Could not set maximum file descriptor limit: $MAX_FD" - fi - else - warn "Could not query maximum file descriptor limit: $MAX_FD_LIMIT" - fi +if ! "$cygwin" && ! "$darwin" && ! "$nonstop" ; then + case $MAX_FD in #( + max*) + MAX_FD=$( ulimit -H -n ) || + warn "Could not query maximum file descriptor limit" + esac + case $MAX_FD in #( + '' | soft) :;; #( + *) + ulimit -n "$MAX_FD" || + warn "Could not set maximum file descriptor limit to $MAX_FD" + esac fi -# For Darwin, add options to specify how the application appears in the dock -if $darwin; then - GRADLE_OPTS="$GRADLE_OPTS \"-Xdock:name=$APP_NAME\" \"-Xdock:icon=$APP_HOME/media/gradle.icns\"" -fi +# Collect all arguments for the java command, stacking in reverse order: +# * args from the command line +# * the main class name +# * -classpath +# * -D...appname settings +# * --module-path (only if needed) +# * DEFAULT_JVM_OPTS, JAVA_OPTS, and GRADLE_OPTS environment variables. + +# For Cygwin or MSYS, switch paths to Windows format before running java +if "$cygwin" || "$msys" ; then + APP_HOME=$( cygpath --path --mixed "$APP_HOME" ) + CLASSPATH=$( cygpath --path --mixed "$CLASSPATH" ) + + JAVACMD=$( cygpath --unix "$JAVACMD" ) -# For Cygwin, switch paths to Windows format before running java -if $cygwin ; then - APP_HOME=`cygpath --path --mixed "$APP_HOME"` - CLASSPATH=`cygpath --path --mixed "$CLASSPATH"` - JAVACMD=`cygpath --unix "$JAVACMD"` - - # We build the pattern for arguments to be converted via cygpath - ROOTDIRSRAW=`find -L / -maxdepth 1 -mindepth 1 -type d 2>/dev/null` - SEP="" - for dir in $ROOTDIRSRAW ; do - ROOTDIRS="$ROOTDIRS$SEP$dir" - SEP="|" - done - OURCYGPATTERN="(^($ROOTDIRS))" - # Add a user-defined pattern to the cygpath arguments - if [ "$GRADLE_CYGPATTERN" != "" ] ; then - OURCYGPATTERN="$OURCYGPATTERN|($GRADLE_CYGPATTERN)" - fi # Now convert the arguments - kludge to limit ourselves to /bin/sh - i=0 - for arg in "$@" ; do - CHECK=`echo "$arg"|egrep -c "$OURCYGPATTERN" -` - CHECK2=`echo "$arg"|egrep -c "^-"` ### Determine if an option - - if [ $CHECK -ne 0 ] && [ $CHECK2 -eq 0 ] ; then ### Added a condition - eval `echo args$i`=`cygpath --path --ignore --mixed "$arg"` - else - eval `echo args$i`="\"$arg\"" + for arg do + if + case $arg in #( + -*) false ;; # don't mess with options #( + /?*) t=${arg#/} t=/${t%%/*} # looks like a POSIX filepath + [ -e "$t" ] ;; #( + *) false ;; + esac + then + arg=$( cygpath --path --ignore --mixed "$arg" ) fi - i=$((i+1)) + # Roll the args list around exactly as many times as the number of + # args, so each arg winds up back in the position where it started, but + # possibly modified. + # + # NB: a `for` loop captures its iteration list before it begins, so + # changing the positional parameters here affects neither the number of + # iterations, nor the values presented in `arg`. + shift # remove old arg + set -- "$@" "$arg" # push replacement arg done - case $i in - (0) set -- ;; - (1) set -- "$args0" ;; - (2) set -- "$args0" "$args1" ;; - (3) set -- "$args0" "$args1" "$args2" ;; - (4) set -- "$args0" "$args1" "$args2" "$args3" ;; - (5) set -- "$args0" "$args1" "$args2" "$args3" "$args4" ;; - (6) set -- "$args0" "$args1" "$args2" "$args3" "$args4" "$args5" ;; - (7) set -- "$args0" "$args1" "$args2" "$args3" "$args4" "$args5" "$args6" ;; - (8) set -- "$args0" "$args1" "$args2" "$args3" "$args4" "$args5" "$args6" "$args7" ;; - (9) set -- "$args0" "$args1" "$args2" "$args3" "$args4" "$args5" "$args6" "$args7" "$args8" ;; - esac fi -# Split up the JVM_OPTS And GRADLE_OPTS values into an array, following the shell quoting and substitution rules -function splitJvmOpts() { - JVM_OPTS=("$@") -} -eval splitJvmOpts $DEFAULT_JVM_OPTS $JAVA_OPTS $GRADLE_OPTS -JVM_OPTS[${#JVM_OPTS[*]}]="-Dorg.gradle.appname=$APP_BASE_NAME" - -exec "$JAVACMD" "${JVM_OPTS[@]}" -classpath "$CLASSPATH" org.gradle.wrapper.GradleWrapperMain "$@" +# Collect all arguments for the java command; +# * $DEFAULT_JVM_OPTS, $JAVA_OPTS, and $GRADLE_OPTS can contain fragments of +# shell script including quotes and variable substitutions, so put them in +# double quotes to make sure that they get re-expanded; and +# * put everything else in single quotes, so that it's not re-expanded. + +set -- \ + "-Dorg.gradle.appname=$APP_BASE_NAME" \ + -classpath "$CLASSPATH" \ + org.gradle.wrapper.GradleWrapperMain \ + "$@" + +# Use "xargs" to parse quoted args. +# +# With -n1 it outputs one arg per line, with the quotes and backslashes removed. +# +# In Bash we could simply go: +# +# readarray ARGS < <( xargs -n1 <<<"$var" ) && +# set -- "${ARGS[@]}" "$@" +# +# but POSIX shell has neither arrays nor command substitution, so instead we +# post-process each arg (as a line of input to sed) to backslash-escape any +# character that might be a shell metacharacter, then use eval to reverse +# that process (while maintaining the separation between arguments), and wrap +# the whole thing up as a single "set" statement. +# +# This will of course break if any of these variables contains a newline or +# an unmatched quote. +# + +eval "set -- $( + printf '%s\n' "$DEFAULT_JVM_OPTS $JAVA_OPTS $GRADLE_OPTS" | + xargs -n1 | + sed ' s~[^-[:alnum:]+,./:=@_]~\\&~g; ' | + tr '\n' ' ' + )" '"$@"' + +exec "$JAVACMD" "$@" diff --git a/gradlew.bat b/gradlew.bat index 8a0b282..107acd3 100644 --- a/gradlew.bat +++ b/gradlew.bat @@ -1,3 +1,19 @@ +@rem +@rem Copyright 2015 the original author or authors. +@rem +@rem Licensed under the Apache License, Version 2.0 (the "License"); +@rem you may not use this file except in compliance with the License. +@rem You may obtain a copy of the License at +@rem +@rem https://www.apache.org/licenses/LICENSE-2.0 +@rem +@rem Unless required by applicable law or agreed to in writing, software +@rem distributed under the License is distributed on an "AS IS" BASIS, +@rem WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +@rem See the License for the specific language governing permissions and +@rem limitations under the License. +@rem + @if "%DEBUG%" == "" @echo off @rem ########################################################################## @rem @@ -8,20 +24,23 @@ @rem Set local scope for the variables with windows NT shell if "%OS%"=="Windows_NT" setlocal -@rem Add default JVM options here. You can also use JAVA_OPTS and GRADLE_OPTS to pass JVM options to this script. -set DEFAULT_JVM_OPTS= - set DIRNAME=%~dp0 if "%DIRNAME%" == "" set DIRNAME=. set APP_BASE_NAME=%~n0 set APP_HOME=%DIRNAME% +@rem Resolve any "." and ".." in APP_HOME to make it shorter. +for %%i in ("%APP_HOME%") do set APP_HOME=%%~fi + +@rem Add default JVM options here. You can also use JAVA_OPTS and GRADLE_OPTS to pass JVM options to this script. +set DEFAULT_JVM_OPTS="-Xmx64m" "-Xms64m" + @rem Find java.exe if defined JAVA_HOME goto findJavaFromJavaHome set JAVA_EXE=java.exe %JAVA_EXE% -version >NUL 2>&1 -if "%ERRORLEVEL%" == "0" goto init +if "%ERRORLEVEL%" == "0" goto execute echo. echo ERROR: JAVA_HOME is not set and no 'java' command could be found in your PATH. @@ -35,7 +54,7 @@ goto fail set JAVA_HOME=%JAVA_HOME:"=% set JAVA_EXE=%JAVA_HOME%/bin/java.exe -if exist "%JAVA_EXE%" goto init +if exist "%JAVA_EXE%" goto execute echo. echo ERROR: JAVA_HOME is set to an invalid directory: %JAVA_HOME% @@ -45,34 +64,14 @@ echo location of your Java installation. goto fail -:init -@rem Get command-line arguments, handling Windowz variants - -if not "%OS%" == "Windows_NT" goto win9xME_args -if "%@eval[2+2]" == "4" goto 4NT_args - -:win9xME_args -@rem Slurp the command line arguments. -set CMD_LINE_ARGS= -set _SKIP=2 - -:win9xME_args_slurp -if "x%~1" == "x" goto execute - -set CMD_LINE_ARGS=%* -goto execute - -:4NT_args -@rem Get arguments from the 4NT Shell from JP Software -set CMD_LINE_ARGS=%$ - :execute @rem Setup the command line set CLASSPATH=%APP_HOME%\gradle\wrapper\gradle-wrapper.jar + @rem Execute Gradle -"%JAVA_EXE%" %DEFAULT_JVM_OPTS% %JAVA_OPTS% %GRADLE_OPTS% "-Dorg.gradle.appname=%APP_BASE_NAME%" -classpath "%CLASSPATH%" org.gradle.wrapper.GradleWrapperMain %CMD_LINE_ARGS% +"%JAVA_EXE%" %DEFAULT_JVM_OPTS% %JAVA_OPTS% %GRADLE_OPTS% "-Dorg.gradle.appname=%APP_BASE_NAME%" -classpath "%CLASSPATH%" org.gradle.wrapper.GradleWrapperMain %* :end @rem End local scope for the variables with windows NT shell diff --git a/i2cdrivers/build.gradle b/i2cdrivers/build.gradle index 4fdfd60..b2d9488 100644 --- a/i2cdrivers/build.gradle +++ b/i2cdrivers/build.gradle @@ -12,13 +12,13 @@ ext { } android { - compileSdkVersion 28 + compileSdkVersion 30 defaultConfig { - minSdkVersion 23 + minSdkVersion 24 targetSdkVersion 28 versionCode 1 - versionName "0.1" + versionName "0.2" } buildTypes { @@ -32,14 +32,15 @@ android { abortOnError false } compileOptions { - sourceCompatibility JavaVersion.VERSION_1_7 - targetCompatibility JavaVersion.VERSION_1_7 + sourceCompatibility JavaVersion.VERSION_1_8 + targetCompatibility JavaVersion.VERSION_1_8 } } dependencies { //compileOnly fileTree(include: ['*.aar'], dir: '../libs') - compileOnly 'org.firstinspires.ftc:RobotCore:7.0.0' + compileOnly 'org.firstinspires.ftc:RobotCore:11.0.0' + compileOnly 'org.firstinspires.ftc:Hardware:11.0.0' compileOnly 'androidx.appcompat:appcompat:1.2.0' } diff --git a/i2cdrivers/src/main/java/org/openftc/i2cdrivers/QwiicLEDStick.java b/i2cdrivers/src/main/java/org/openftc/i2cdrivers/QwiicLEDStick.java deleted file mode 100644 index a24d10c..0000000 --- a/i2cdrivers/src/main/java/org/openftc/i2cdrivers/QwiicLEDStick.java +++ /dev/null @@ -1,190 +0,0 @@ -package org.openftc.i2cdrivers; - -import android.graphics.Color; -import androidx.annotation.ColorInt; - -import com.qualcomm.robotcore.hardware.I2cAddr; -import com.qualcomm.robotcore.hardware.I2cDeviceSynchDevice; -import com.qualcomm.robotcore.hardware.I2cDeviceSynchSimple; -import com.qualcomm.robotcore.hardware.I2cWaitControl; -import com.qualcomm.robotcore.hardware.configuration.annotations.DeviceProperties; -import com.qualcomm.robotcore.hardware.configuration.annotations.I2cDeviceType; - -@I2cDeviceType() -@DeviceProperties(name = "QWIIC LED Stick", description = "Sparkfun QWIIC LED Stick", xmlTag = "QWIIC_LED_STICK") -public class QwiicLEDStick extends I2cDeviceSynchDevice { - - private enum Commands { - CHANGE_LED_LENGTH(0x70), - WRITE_SINGLE_LED_COLOR(0x71), - WRITE_ALL_LED_COLOR(0x72), - WRITE_RED_ARRAY(0x73), - WRITE_GREEN_ARRAY(0x74), - WRITE_BLUE_ARRAY(0x75), - WRITE_SINGLE_LED_BRIGHTNESS(0x76), - WRITE_ALL_LED_BRIGHTNESS(0x77), - WRITE_ALL_LED_OFF(0x78); - int bVal; - - Commands(int bVal) { - this.bVal = bVal; - } - } - - /** - * Change the color of a specific LED - * - * @param position which LED to change (1 - 255) - * @param color what color to set it to - */ - public void setColor(int position, @ColorInt int color) { - byte[] data = new byte[4]; - data[0] = (byte) position; - data[1] = (byte) Color.red(color); - data[2] = (byte) Color.green(color); - data[3] = (byte) Color.blue(color); - writeI2C(Commands.WRITE_SINGLE_LED_COLOR, data); - } - - /** - * Change the color of all LEDs to a single color - * - * @param color what the color should be - */ - public void setColor(@ColorInt int color) { - byte[] data = new byte[3]; - data[0] = (byte) Color.red(color); - data[1] = (byte) Color.green(color); - data[2] = (byte) Color.blue(color); - writeI2C(Commands.WRITE_ALL_LED_COLOR, data); - } - - /** - * Send a segment of the LED array - * - * @param cmd command to send - * @param array the values (limited from 0..255) - * @param offset the starting value (LED only, array starts at 0) - * @param length the length to send - */ - private void sendSegment(Commands cmd, int[] array, int offset, int length) { - byte[] data = new byte[length + 2]; - data[0] = (byte) length; - data[1] = (byte) offset; - - for (int i = 0; i < length; i++) { - data[2 + i] = (byte) array[i]; - } - writeI2C(cmd, data); - } - - /** - * Change the color of an LED color segment - * - * @param colors what the colors should be - * @param offset where in the array to start - * @param length length to send (limited to 12) - */ - private void setLEDColorSegment(@ColorInt int[] colors, int offset, int length) { - int[] redArray = new int[length]; - int[] greenArray = new int[length]; - int[] blueArray = new int[length]; - - for (int i = 0; i < colors.length; i++) { - redArray[i] = Color.red(colors[i + offset]); - greenArray[i] = Color.green(colors[i + offset]); - blueArray[i] = Color.blue(colors[i + offset]); - } - sendSegment(Commands.WRITE_RED_ARRAY, redArray, offset, length); - sendSegment(Commands.WRITE_GREEN_ARRAY, greenArray, offset, length); - sendSegment(Commands.WRITE_BLUE_ARRAY, blueArray, offset, length); - } - - /** - * Change the color of all LEDs using arrays - * - * @param colors array of colors to set lights to - */ - public void setColors(@ColorInt int[] colors) { - int length = colors.length; - - int numInLastSegment = length % 12; - int numSegments = length / 12; - for (int i = 0; i < numSegments; i++) { - setLEDColorSegment(colors, i * 12, 12); - } - setLEDColorSegment(colors, numSegments * 12, numInLastSegment); - } - - /** - * Set the brightness of an individual LED - * - * @param number which LED to change (1-255) - * @param brightness brightness level (0-31) - */ - public void setBrightness(int number, int brightness) { - byte[] data = new byte[2]; - data[0] = (byte) number; - data[1] = (byte) brightness; - writeI2C(Commands.WRITE_SINGLE_LED_BRIGHTNESS, data); - } - - /** - * Set the brightness of all LEDs - * - * @param brightness brightness level (0-31) - */ - public void setBrightness(int brightness) { - byte[] data = new byte[1]; - data[0] = (byte) brightness; - writeI2C(Commands.WRITE_ALL_LED_BRIGHTNESS, data); - } - - /** - * Turn all LEDS off... - */ - public void turnAllOff() { - setColor(0); - } - - /** - * Change the length of the LED strip - * - * @param newLength 1 to 100 (longer than 100 not supported) - */ - public void changeLength(int newLength) { - byte[] data = new byte[1]; - data[0] = (byte) newLength; - writeI2C(Commands.CHANGE_LED_LENGTH, data); - } - - private void writeI2C(Commands cmd, byte[] data) { - deviceClient.write(cmd.bVal, data, I2cWaitControl.WRITTEN); - } - - - @Override - public Manufacturer getManufacturer() { - return Manufacturer.Other; - } - - @Override - protected synchronized boolean doInitialize() { - return true; - } - - @Override - public String getDeviceName() { - return "Qwiic LED Strip"; - } - - private final static I2cAddr ADDRESS_I2C_DEFAULT = I2cAddr.create7bit(0x23); - - public QwiicLEDStick(I2cDeviceSynchSimple deviceClient, boolean deviceClientIsOwned) { - super(deviceClient, deviceClientIsOwned); - - this.deviceClient.setI2cAddress(ADDRESS_I2C_DEFAULT); - super.registerArmingStateCallback(false); - } - -} diff --git a/i2cdrivers/src/main/java/org/openftc/i2cdrivers/SRSHub.java b/i2cdrivers/src/main/java/org/openftc/i2cdrivers/SRSHub.java new file mode 100644 index 0000000..aaef70f --- /dev/null +++ b/i2cdrivers/src/main/java/org/openftc/i2cdrivers/SRSHub.java @@ -0,0 +1,1410 @@ +package org.openftc.i2cdrivers; + +import static java.lang.Thread.sleep; + +import com.qualcomm.hardware.lynx.LynxI2cDeviceSynch; +import com.qualcomm.robotcore.hardware.I2cAddr; +import com.qualcomm.robotcore.hardware.I2cDeviceSynchDevice; +import com.qualcomm.robotcore.hardware.I2cDeviceSynchSimple; +import com.qualcomm.robotcore.hardware.configuration.annotations.DeviceProperties; +import com.qualcomm.robotcore.hardware.configuration.annotations.I2cDeviceType; +import com.qualcomm.robotcore.util.RobotLog; + +import java.nio.ByteBuffer; +import java.nio.ByteOrder; +import java.util.ArrayList; +import java.util.Arrays; +import java.util.BitSet; +import java.util.Set; + +@I2cDeviceType +@DeviceProperties(xmlTag = "SRSHub", name = "SRSHub") +public class SRSHub extends I2cDeviceSynchDevice { + private static final int I2C_ADDRESS = 0x57; + + private static final int DEVICE_ID = 0x61; + + private static final int DEVICE_MAJOR_VERSION = 1; + private static final int DEVICE_MINOR_VERSION = 1; + private static final int DEVICE_PATCH_VERSION = 1; + + private static final int BITS_PER_ANALOG_DIGITAL_DEVICE = 2; + private static final int BITS_PER_ENCODER = 2; + private static final int MIN_BITS_PER_I2C_BUS = 16; + private static final int BITS_PER_I2C_DEVICE = 4; + + private static final ByteOrder BYTE_ORDER = ByteOrder.LITTLE_ENDIAN; + + private Config config; + + private int updateLength = 8; + + private boolean ready = false; + private boolean disconnected = false; + + private final double[] analogDigitalValues = + new double[12]; + + private final PosVel[] encoderValues = new PosVel[6]; + + public enum AnalogDigitalDevice { + ANALOG(0), + DIGITAL(1), + NONE(2); + + final int value; + + AnalogDigitalDevice(int value) { + this.value = value; + } + } + + public enum Encoder { + QUADRATURE(0), + PWM(1), + NONE(2); + + final int value; + + Encoder(int value) { + this.value = value; + } + } + + public static class PosVel { + public int position = 0; + public int velocity = 0; + } + + public static abstract class I2CDevice { + protected abstract int getValue(); + + protected abstract int getInitLength(); + + protected abstract int getUpdateLength(); + + protected abstract int getAddress(); + + protected abstract BitSet getConfig(); + + protected abstract void parseUpdate(BitSet data, int start); + } + + public static class APDS9151 extends I2CDevice { + private final BitSet config = new BitSet(0); + + public boolean disconnected = false; + + public short proximity; + public int infrared; + public int red; + public int green; + public int blue; + + protected int getValue() { + return 0; + } + + protected int getInitLength() { + return 0; + } + + protected int getUpdateLength() { + return 92; + } + + protected int getAddress() { + return 0x52; + } + + protected BitSet getConfig() { + return config; + } + + protected void parseUpdate(BitSet data, int start) { + int index = start; + + disconnected = data.get(index++); + + byte[] proximityChunk = data + .get( + index, + index + 11 + ) + .toByteArray(); + + byte[] paddedProximityChunk = new byte[2]; + + System.arraycopy( + proximityChunk, + 0, + paddedProximityChunk, + 0, + proximityChunk.length + ); + + proximity = ByteBuffer + .wrap(paddedProximityChunk) + .order(BYTE_ORDER) + .getShort(); + + index += 11; + + byte[] infraredChunk = data + .get( + index, + index + 20 + ) + .toByteArray(); + + byte[] paddedInfraredChunk = new byte[4]; + + System.arraycopy( + infraredChunk, + 0, + paddedInfraredChunk, + 0, + infraredChunk.length + ); + + infrared = ByteBuffer + .wrap(paddedInfraredChunk) + .order(BYTE_ORDER) + .getInt(); + + index += 20; + + byte[] redChunk = data + .get( + index, + index + 20 + ) + .toByteArray(); + + byte[] paddedRedChunk = new byte[4]; + + System.arraycopy( + redChunk, + 0, + paddedRedChunk, + 0, + redChunk.length + ); + + red = ByteBuffer + .wrap(paddedRedChunk) + .order(BYTE_ORDER) + .getInt(); + + index += 20; + + byte[] greenChunk = data + .get( + index, + index + 20 + ) + .toByteArray(); + + byte[] paddedGreenChunk = new byte[4]; + + System.arraycopy( + greenChunk, + 0, + paddedGreenChunk, + 0, + greenChunk.length + ); + + green = ByteBuffer + .wrap(paddedGreenChunk) + .order(BYTE_ORDER) + .getInt(); + + index += 20; + + byte[] blueChunk = data + .get( + index, + index + 20 + ) + .toByteArray(); + + byte[] paddedBlueChunk = new byte[4]; + + System.arraycopy( + blueChunk, + 0, + paddedBlueChunk, + 0, + blueChunk.length + ); + + blue = ByteBuffer + .wrap(paddedBlueChunk) + .order(BYTE_ORDER) + .getInt(); + } + } + + public static class VL53L5CX extends I2CDevice { + public enum Resolution { + GRID_4x4(0), + GRID_8x8(1); + + final byte value; + + Resolution(int value) { + this.value = (byte) value; + } + } + + private final BitSet config = new BitSet(1); + + public boolean disconnected = false; + + public final short[] distances; + + public VL53L5CX(Resolution resolution) { + config.set( + 0, + resolution.value == 1 + ); + + distances = resolution.value == 0 ? new short[16] : new short[64]; + } + + protected int getValue() { + return 1; + } + + protected int getInitLength() { + return 1; + } + + protected int getUpdateLength() { + return config.get(0) ? 705 : 177; + } + + protected int getAddress() { + return 0x29; + } + + protected BitSet getConfig() { + return config; + } + + protected void parseUpdate(BitSet data, int start) { + int index = start; + + disconnected = data.get(index++); + + for (int k = 0; k < (getUpdateLength() - 1) / 11; k++) { + byte[] chunk = data + .get( + index, + index + 11 + ) + .toByteArray(); + + index += 11; + + byte[] paddedChunk = new byte[2]; + + System.arraycopy( + chunk, + 0, + paddedChunk, + 0, + chunk.length + ); + + distances[k] = ByteBuffer + .wrap(paddedChunk) + .order(BYTE_ORDER) + .getShort(); + } + } + } + + public static class VL53L0X extends I2CDevice { + private final BitSet config = new BitSet(0); + + public boolean disconnected = false; + + public float distance; + + protected int getValue() { + return 2; + } + + protected int getInitLength() { + return 0; + } + + protected int getUpdateLength() { + return 17; + } + + protected int getAddress() { + return 0x29; + } + + protected BitSet getConfig() { + return config; + } + + protected void parseUpdate(BitSet data, int start) { + int index = start; + + disconnected = data.get(index++); + + byte[] chunk = data + .get( + index, + index + 16 + ) + .toByteArray(); + + byte[] paddedChunk = new byte[4]; + + System.arraycopy( + chunk, + 0, + paddedChunk, + 0, + chunk.length + ); + + distance = ByteBuffer + .wrap(paddedChunk) + .order(BYTE_ORDER) + .getShort() & 0xFFFF; + } + } + + public static class GoBildaPinpoint extends I2CDevice { + public enum EncoderDirection { + FORWARD, + REVERSED + } + + private final BitSet config; + + public boolean disconnected = false; + + public short deviceStatus; + + public float xPosition; + public float yPosition; + public float hOrientation; + + public float xVelocity; + public float yVelocity; + public float hVelocity; + + private void packConfigFloat(int start, float data) { + int bits = Float.floatToIntBits(data); + + for (int i = 0; i < 32; i++) { + config.set(start + i, ((bits >> (31 - i)) & 1) == 1); + } + } + + /** + * @param xPodOffset the offset of your forward tracking pod from the tracking center in millimeters + * @param yPodOffset the offset of your strafe tracking pod from the tracking center in millimeters + * @param encoderResolution the millimeters traveled per encoder tick + * @param xEncoderDirection the direction of the forward encoder + * @param yEncoderDirection the direction of the strafe encoder + */ + public GoBildaPinpoint( + float xPodOffset, + float yPodOffset, + float encoderResolution, + EncoderDirection xEncoderDirection, + EncoderDirection yEncoderDirection + ) { + ByteBuffer buffer = ByteBuffer.allocate(13); + + buffer.putFloat(xPodOffset); + buffer.putFloat(yPodOffset); + buffer.putFloat(encoderResolution); + + int directionBits = 0; + + if (xEncoderDirection == EncoderDirection.REVERSED) { + directionBits |= 1; + } + + if (yEncoderDirection == EncoderDirection.REVERSED) { + directionBits |= 2; + } + + buffer.put((byte) directionBits); + + config = BitSet.valueOf(buffer.array()); + } + + protected int getValue() { + return 3; + } + + protected int getInitLength() { + return 98; + } + + protected int getUpdateLength() { + return 201; + } + + protected int getAddress() { + return 0x31; + } + + protected BitSet getConfig() { + return config; + } + + protected void parseUpdate(BitSet data, int start) { + int index = start; + + disconnected = data.get(index++); + + byte[] deviceStatusChunk = data + .get( + index, + index + 8 + ) + .toByteArray(); + + byte[] paddedDeviceStatusChunk = new byte[2]; + + System.arraycopy( + deviceStatusChunk, + 0, + paddedDeviceStatusChunk, + 0, + deviceStatusChunk.length + ); + + deviceStatus = ByteBuffer + .wrap(paddedDeviceStatusChunk) + .order(BYTE_ORDER) + .getShort(); + + index += 8; + + byte[] xPositionChunk = data + .get( + index, + index + 32 + ) + .toByteArray(); + + byte[] paddedXPositionChunk = new byte[4]; + + System.arraycopy( + xPositionChunk, + 0, + paddedXPositionChunk, + 0, + xPositionChunk.length + ); + + xPosition = ByteBuffer + .wrap(paddedXPositionChunk) + .order(BYTE_ORDER) + .getFloat(); + + index += 32; + + byte[] yPositionChunk = data + .get( + index, + index + 32 + ) + .toByteArray(); + + byte[] paddedYPositionChunk = new byte[4]; + + System.arraycopy( + yPositionChunk, + 0, + paddedYPositionChunk, + 0, + yPositionChunk.length + ); + + yPosition = ByteBuffer + .wrap(paddedYPositionChunk) + .order(BYTE_ORDER) + .getFloat(); + + index += 32; + + byte[] hOrientationChunk = data + .get( + index, + index + 32 + ) + .toByteArray(); + + byte[] paddedHOrientationChunk = new byte[4]; + + System.arraycopy( + hOrientationChunk, + 0, + paddedHOrientationChunk, + 0, + hOrientationChunk.length + ); + + hOrientation = ByteBuffer + .wrap(paddedHOrientationChunk) + .order(BYTE_ORDER) + .getFloat(); + + index += 32; + + byte[] xVelocityChunk = data + .get( + index, + index + 32 + ) + .toByteArray(); + + byte[] paddedXVelocityChunk = new byte[4]; + + System.arraycopy( + xVelocityChunk, + 0, + paddedXVelocityChunk, + 0, + xVelocityChunk.length + ); + + xVelocity = ByteBuffer + .wrap(paddedXVelocityChunk) + .order(BYTE_ORDER) + .getFloat(); + + index += 32; + + byte[] yVelocityChunk = data + .get( + index, + index + 32 + ) + .toByteArray(); + + byte[] paddedYVelocityChunk = new byte[4]; + + System.arraycopy( + yVelocityChunk, + 0, + paddedYVelocityChunk, + 0, + yVelocityChunk.length + ); + + yVelocity = ByteBuffer + .wrap(paddedYVelocityChunk) + .order(BYTE_ORDER) + .getFloat(); + + index += 32; + + byte[] hVelocityChunk = data + .get( + index, + index + 32 + ) + .toByteArray(); + + byte[] paddedHVelocityChunk = new byte[4]; + + System.arraycopy( + hVelocityChunk, + 0, + paddedHVelocityChunk, + 0, + hVelocityChunk.length + ); + + hVelocity = ByteBuffer + .wrap(paddedHVelocityChunk) + .order(BYTE_ORDER) + .getFloat(); + } + } + + public static class Config { + private boolean locked = false; + + protected final AnalogDigitalDevice[] analogDigitalDevices = + new AnalogDigitalDevice[12]; + + protected final Encoder[] encoders = new Encoder[6]; + + protected final ArrayList[] i2cBuses = new ArrayList[]{ + new ArrayList(), + new ArrayList(), + new ArrayList() + }; + + public Config() { + Arrays.fill( + analogDigitalDevices, + AnalogDigitalDevice.NONE + ); + + Arrays.fill( + encoders, + Encoder.NONE + ); + } + + /** + * configures an analog-digital pin to be analog, digital, or none + * + * @param pin the pin being configured, from 1 to 12 + * @param device the type of device on the pin + * + * @throws IndexOutOfBoundsException if the pin is not between 1 and 12, inclusive + * @throws IllegalStateException if init has already been called + */ + public void setAnalogDigitalDevice( + int pin, + AnalogDigitalDevice device + ) { + if (pin < 1 || pin > 12) { + throwException( + IndexOutOfBoundsException.class, + "AnalogDigitalDevice pin " + + "must be from 1 to 12" + ); + } + + if (locked) { + throwException( + IllegalStateException.class, + "Config has already been " + + "passed to the SRSHub; changes cannot be made" + ); + } + + analogDigitalDevices[pin - 1] = device; + } + + /** + * configures an encoder port to be quadrature, pwm, or none + * + * @param port the port being configured, from 1 to 6 + * @param device the type of device on the port + * + * @throws IndexOutOfBoundsException if the port is not between 1 and 6, inclusive + * @throws IllegalStateException if init has already been called + */ + public void setEncoder(int port, Encoder device) { + if (port < 1 || port > 6) { + throwException( + IndexOutOfBoundsException.class, + "Encoder port must " + + "be from 1 to 6" + ); + } + + if (locked) { + throwException( + IllegalStateException.class, + "Config has already been " + + "passed to the SRSHub; changes cannot be made" + ); + } + + encoders[port - 1] = device; + } + + /** + * adds a device to an I2C bus + * + * @param bus the bus to which the device is being added, from 1 to 3 + * @param device the (unique) type of the device on the bus + * + * @throws IndexOutOfBoundsException if the bus is not between 1 and 3, inclusive + * @throws IllegalStateException if init has already been called or if a device of the same I2C address has been configured on the bus + */ + public void addI2CDevice(int bus, I2CDevice device) { + if (bus < 1 || bus > 3) { + throwException( + IndexOutOfBoundsException.class, + "I2C bus must be from 1 to" + + " 3" + ); + } + + if (locked) { + throwException( + IllegalStateException.class, + "Config has already been " + + "passed to the SRSHub; changes cannot be made" + ); + } + + for (I2CDevice i2cDevice : i2cBuses[bus - 1]) { + if (i2cDevice.getClass() == device.getClass()) { + throwException( + IllegalStateException.class, + "I2C Bus #" + bus + " " + + "already has a device of type " + device + .getClass() + .getName() + ); + } + + if (i2cDevice.getAddress() == device.getAddress()) { + throwException( + IllegalStateException.class, + "I2C Bus #" + bus + " " + + "already has a bus of type " + i2cDevice + .getClass() + .getName() + " which has an I2C address conflicting " + + "with the " + device + .getClass() + .getName() + ); + } + } + + i2cBuses[bus - 1].add(device); + } + + protected void lock() { + locked = true; + } + } + + public SRSHub( + I2cDeviceSynchSimple deviceClient, + boolean deviceClientIsOwned + ) { + super( + deviceClient, + deviceClientIsOwned + ); + + this.deviceClient.setI2cAddress(I2cAddr.create7bit(I2C_ADDRESS)); + super.registerArmingStateCallback(false); + } + + protected boolean doInitialize() { + ((LynxI2cDeviceSynch) this.deviceClient).setBusSpeed(LynxI2cDeviceSynch.BusSpeed.FAST_400K); + + isInitialized = false; + + verifyInitialization(); + + return true; + } + + public Manufacturer getManufacturer() { + return Manufacturer.Other; + } + + public String getDeviceName() { + return "SRSHub"; + } + + enum Register { + DEVICE_INFO( + 0x00, + 4 + ), + + RESTART( + 0x01, + 1 + ), + + INIT( + 0x02, + -1 + ), + + READ( + 0x03, + -1 + ); + + public final byte address; + public final int length; + + Register(int address, int length) { + this.address = (byte) address; + this.length = length; + } + } + + private void verifyInitialization() { + if (!isInitialized) { + byte[] deviceInfo = ByteBuffer.wrap(deviceClient.read( + Register.DEVICE_INFO.address, + Register.DEVICE_INFO.length + )).order(BYTE_ORDER).array(); + + int deviceId = deviceInfo[0]; + + if (deviceId != DEVICE_ID) { + RobotLog.addGlobalWarningMessage( + "SRSHub initialization failed" + ); + + disconnected = true; + + return; + } + + int deviceMajorVersion = deviceInfo[1]; + int deviceMinorVersion = deviceInfo[2]; + int devicePatchVersion = deviceInfo[3]; + + if (deviceMajorVersion != DEVICE_MAJOR_VERSION || + deviceMinorVersion != DEVICE_MINOR_VERSION || + devicePatchVersion != DEVICE_PATCH_VERSION) { + throwException( + RuntimeException.class, + "SRSHub does not report correct firmware version; " + + "received v" + deviceMajorVersion + "." + + deviceMinorVersion + "." + + devicePatchVersion + ", expected v" + + DEVICE_MAJOR_VERSION + "." + + DEVICE_MINOR_VERSION + "." + + DEVICE_PATCH_VERSION + ); + } + + isInitialized = true; + } + } + + private static void throwException(Class exception, String message) { + RobotLog.setGlobalErrorMsg(message); + + try { + throw (exception.getConstructor(String.class).newInstance(message)); + } + catch (Exception e) { + throw new RuntimeException(e); + } + } + + private int computeCRC16(byte[] data) { + int crc = 0x0000; + + for (int i = 0; i < data.length - 2; i++) { + crc ^= (data[i] & 0xFF) << 8; + + for (int j = 0; j < 8; j++) { + if ((crc & 0x8000) != 0) { + crc = (crc << 1) ^ 0x1021; + } + else { + crc <<= 1; + } + + crc &= 0xFFFF; + } + } + + return crc & 0xFFFF; + } + + /** + * passes the configuration to the SRSHub + * + * @param config the configuration details that will be passed to the SRSHub + */ + public void init( + Config config + ) { + config.lock(); + this.config = config; + + ready = false; + disconnected = false; + + updateLength = 8; + + deviceClient.write( + Register.RESTART.address, + new byte[Register.RESTART.length] + ); + + isInitialized = false; + + Arrays.fill( + analogDigitalValues, + 0 + ); + + for (int i = 0; i < encoderValues.length; i++) { + encoderValues[i] = new PosVel(); + } + + int initLength = + config.analogDigitalDevices.length * BITS_PER_ANALOG_DIGITAL_DEVICE + config.encoders.length * BITS_PER_ENCODER + config.i2cBuses.length * MIN_BITS_PER_I2C_BUS; + + int[] busLengths = new int[config.i2cBuses.length]; + + for (int i = 0; i < config.i2cBuses.length; i++) { + for (int j = 0; j < config.i2cBuses[i].size(); j++) { + busLengths[i] += BITS_PER_I2C_DEVICE + config.i2cBuses[i] + .get(j) + .getInitLength(); + } + + initLength += busLengths[i]; + } + + BitSet init = new BitSet(initLength); + + int index = 0; + + for (int i = 0; i < config.analogDigitalDevices.length; i++) { + switch (config.analogDigitalDevices[i]) { + case ANALOG: + updateLength += 12; + + break; + case DIGITAL: + updateLength += 1; + + break; + case NONE: + break; + } + + for (int j = 0; j < BITS_PER_ANALOG_DIGITAL_DEVICE; j++) { + init.set( + index++, + (config.analogDigitalDevices[i].value >> j & 1) == 1 + ); + } + } + + for (int i = 0; i < config.encoders.length; i++) { + if (config.encoders[i] != Encoder.NONE) { + updateLength += 48; + } + + for (int j = 0; j < BITS_PER_ENCODER; j++) { + init.set( + index++, + (config.encoders[i].value >> j & 1) == 1 + ); + } + } + + for (int i = 0; i < config.i2cBuses.length; i++) { + for (int j = 0; j < MIN_BITS_PER_I2C_BUS; j++) { + init.set( + index++, + (busLengths[i] >> j & 1) == 1 + ); + } + + for (int j = 0; j < config.i2cBuses[i].size(); j++) { + I2CDevice device = config.i2cBuses[i].get(j); + + updateLength += device.getUpdateLength(); + + for (int k = 0; k < BITS_PER_I2C_DEVICE; k++) { + init.set( + index++, + (device.getValue() >> k & 1) == 1 + ); + } + + for (int k = 0; k < device.getInitLength(); k++) { + init.set( + index++, + device.getConfig().get(k) + ); + } + } + } + + updateLength = 2 + (updateLength + 7) / 8; + + if (updateLength > 100) { + throwException( + IllegalStateException.class, + "Maximum bulk-read length of 100 bytes exceeded" + ); + } + + byte[] data = new byte[(initLength + 7) / 8]; + + System.arraycopy( + ByteBuffer + .wrap(init.toByteArray()) + .array(), + 0, + data, + 0, + init.toByteArray().length + ); + + try { + sleep(2500); + } + catch (InterruptedException e) { + throw new RuntimeException(e); + } + + verifyInitialization(); + + deviceClient.write( + Register.INIT.address, + data + ); + + update(); + + ready = true; + } + + /** + * bulk-reads data from the SRSHub as specified in the configuration + * + * @throws IllegalStateException if the SRSHub has not yet been initialized + * @throws RuntimeException if the SRSHub is unable to update according to the provided configuration + */ + public void update() { + if (config == null) { + throwException( + IllegalStateException.class, + "The SRSHub must be initialized " + + "before updating" + ); + } + + byte[] rawData = deviceClient.read( + Register.READ.address, + updateLength + ); + + if (rawData == null || rawData.length == 0 || rawData[0] != DEVICE_ID) { + disconnected = true; + + return; + } + + int receivedCRC = ((rawData[rawData.length - 2] & 0xFF) << 8) | (rawData[rawData.length - 1] & 0xFF); + + int computedCRC = computeCRC16( + rawData + ); + + if (receivedCRC != computedCRC) { + return; + } + + disconnected = false; + + BitSet data = BitSet.valueOf(rawData); + + int index = 8; + + for (int i = 0; i < config.analogDigitalDevices.length; i++) { + switch (config.analogDigitalDevices[i]) { + case ANALOG: + byte[] chunk = data + .get( + index, + index + 12 + ) + .toByteArray(); + + byte[] paddedChunk = new byte[2]; + + System.arraycopy( + chunk, + 0, + paddedChunk, + 0, + chunk.length + ); + + analogDigitalValues[i] = ByteBuffer + .wrap(paddedChunk) + .order(BYTE_ORDER) + .getShort() / (double) 4095; + + index += 12; + + break; + case DIGITAL: + analogDigitalValues[i] = data.get(index++) ? 1 : 0; + + break; + case NONE: + break; + } + } + + for (int i = 0; i < config.encoders.length; i++) { + switch (config.encoders[i]) { + case QUADRATURE: + int lastPosition = encoderValues[i].position; + + encoderValues[i] = new PosVel(); + + byte[] quadratureChunk = data + .get( + index, + index + 16 + ).toByteArray(); + + byte[] paddedQuadratureChunk = new byte[2]; + + System.arraycopy( + quadratureChunk, + 0, + paddedQuadratureChunk, + 0, + quadratureChunk.length + ); + + encoderValues[i].position = lastPosition + ByteBuffer + .wrap(paddedQuadratureChunk) + .order(BYTE_ORDER) + .getShort(); + + index += 16; + + byte[] quadratureVelocityChunk = data + .get( + index, + index + 32 + ).toByteArray(); + + byte[] paddedQuadratureVelocityChunk = new byte[4]; + + System.arraycopy( + quadratureVelocityChunk, + 0, + paddedQuadratureVelocityChunk, + 0, + quadratureVelocityChunk.length + ); + + encoderValues[i].velocity = ByteBuffer + .wrap(paddedQuadratureVelocityChunk) + .order(BYTE_ORDER) + .getInt(); + + index += 32; + + break; + case PWM: + encoderValues[i] = new PosVel(); + + byte[] pwmChunk = data + .get( + index, + index + 16 + ).toByteArray(); + + byte[] paddedPWMChunk = new byte[2]; + + System.arraycopy( + pwmChunk, + 0, + paddedPWMChunk, + 0, + pwmChunk.length + ); + + encoderValues[i].position = ByteBuffer + .wrap(paddedPWMChunk) + .order(BYTE_ORDER) + .getShort(); + + index += 16; + + byte[] pwmVelocityChunk = data + .get( + index, + index + 32 + ).toByteArray(); + + byte[] paddedPWMVelocityChunk = new byte[4]; + + System.arraycopy( + pwmVelocityChunk, + 0, + paddedPWMVelocityChunk, + 0, + pwmVelocityChunk.length + ); + + encoderValues[i].velocity = ByteBuffer + .wrap(paddedPWMVelocityChunk) + .order(BYTE_ORDER) + .getInt(); + + index += 32; + + break; + case NONE: + break; + } + } + + for (int i = 0; i < config.i2cBuses.length; i++) { + for (int j = 0; j < config.i2cBuses[i].size(); j++) { + I2CDevice device = config.i2cBuses[i] + .get(j); + + device.parseUpdate(data, index); + index += device.getUpdateLength(); + } + } + } + + /** + * @return whether the SRSHub is done initializing + */ + public boolean ready() { + return ready; + } + + /** + * @return whether the most recent update failed + */ + public boolean disconnected() { + return disconnected; + } + + /** + * gets the current value of the AnalogDigitalDevice at the specified pin + * + * @param pin the pin being read, from 1 to 12 + * + * @return the current value read from the AnalogDigitalDevice; from 0 to 1 for analog devices and 0 or 1 for digital devices + * + * @throws IndexOutOfBoundsException if the pin is not between 1 and 12, inclusive + * @throws IllegalStateException if the SRSHub has not yet been initialized + * @throws IllegalStateException if the pin was not configured + */ + public double readAnalogDigitalDevice(int pin) { + if (pin < 1 || pin > 12) { + throwException( + IndexOutOfBoundsException.class, + "AnalogDigitalDevice pin " + + "must be from 1 to 12" + ); + } + + if (config == null) { + throwException( + IllegalStateException.class, + "The SRSHub must be initialized " + + "before reading" + ); + } + + if (config.analogDigitalDevices[pin - 1] == AnalogDigitalDevice.NONE) { + throwException( + IllegalStateException.class, + "AnalogDigitalDevice pin #" + pin + + " was not configured" + ); + } + + return analogDigitalValues[pin - 1]; + } + + /** + * gets the current position and velocity of the encoder at the specified port + * + * @param port the port being read, from 1 to 6 + * + * @return the current position and velocity of the encoder; for quadrature encoders this is in ticks/ticks per second; for PWM encoders this is in pulse + * width (microseconds/microseconds per second) + * + * @throws IndexOutOfBoundsException if the port is not between 1 and 6, inclusive + * @throws IllegalStateException if the SRSHub has not yet been initialized + * @throws IllegalStateException if the port was not configured + */ + public PosVel readEncoder(int port) { + if (port < 1 || port > 6) { + throwException( + IndexOutOfBoundsException.class, + "Encoder port " + + "must be from 1 to 6" + ); + } + + if (config == null) { + throwException( + IllegalStateException.class, + "The SRSHub must be initialized " + + "before reading" + ); + } + + if (config.encoders[port - 1] == Encoder.NONE) { + throwException( + IllegalStateException.class, + "Encoder port #" + port + + " was not configured" + ); + } + + return encoderValues[port - 1]; + } + + /** + * gets the current value(s) read from the specified I2C device at the specified bus + * + * @param bus the bus from which the device is being read, from 1 to 3 + * @param deviceClass the type of device being read + * + * @return a wrapper for the current value(s) returned by the I2C device + * + * @throws IndexOutOfBoundsException if the bus is not between 1 and 3, inclusive + * @throws IllegalStateException if the SRSHub has not yet been initialized + * @throws IllegalStateException if the device was not configured on the bus + */ + public T getI2CDevice(int bus, Class deviceClass) { + if (bus < 1 || bus > 3) { + throwException( + IndexOutOfBoundsException.class, + "I2C bus must be from 1 to 3" + ); + } + + if (config == null) { + throwException( + IllegalStateException.class, + "The SRSHub must be initialized before reading" + ); + } + + for (I2CDevice device : config.i2cBuses[bus - 1]) { + if (deviceClass.isInstance(device)) { + return deviceClass.cast(device); + } + } + + throwException( + IllegalStateException.class, + "I2C device " + deviceClass.getName() + + " was not configured on bus #" + bus + ); + + return null; + } +} \ No newline at end of file From b292ab97741a6cc30b23033302fb577714687598 Mon Sep 17 00:00:00 2001 From: Christopher Myers Date: Mon, 15 Sep 2025 07:59:47 -0400 Subject: [PATCH 2/2] Update documentation to support OnBot Java teams and add 1.0.1 Release Notes. --- doc/HubTest.java | 96 ++++++++++++++++++++++++++++++++++ doc/images/build-output.png | Bin 0 -> 111875 bytes doc/images/onbot-external.png | Bin 0 -> 22096 bytes doc/images/onbot-upload.png | Bin 0 -> 31728 bytes i2cdrivers/build.gradle | 2 +- readme.md | 59 +++++++++++++++++++-- 6 files changed, 151 insertions(+), 6 deletions(-) create mode 100644 doc/HubTest.java create mode 100644 doc/images/build-output.png create mode 100644 doc/images/onbot-external.png create mode 100644 doc/images/onbot-upload.png diff --git a/doc/HubTest.java b/doc/HubTest.java new file mode 100644 index 0000000..ecd7c5d --- /dev/null +++ b/doc/HubTest.java @@ -0,0 +1,96 @@ +package org.firstinspires.ftc.teamcode; + +import com.qualcomm.robotcore.eventloop.opmode.LinearOpMode; +import com.qualcomm.robotcore.eventloop.opmode.TeleOp; +import com.qualcomm.robotcore.util.RobotLog; + +import org.openftc.i2cdrivers.SRSHub; + +@TeleOp(name = "HubTest") +public class HubTest extends LinearOpMode { + public void runOpMode() throws InterruptedException { + // All ports default to NONE, buses default to empty + SRSHub.Config config = new SRSHub.Config(); + + config.setEncoder( + 1, + SRSHub.Encoder.PWM + ); + + config.setEncoder( + 2, + SRSHub.Encoder.QUADRATURE + ); + + config.addI2CDevice( + 1, + new SRSHub.GoBildaPinpoint( + -50, + -75, + 19.89f, + SRSHub.GoBildaPinpoint.EncoderDirection.FORWARD, + SRSHub.GoBildaPinpoint.EncoderDirection.FORWARD + ) + ); + + RobotLog.clearGlobalWarningMsg(); + + SRSHub hub = hardwareMap.get( + SRSHub.class, + "srshub" + ); + + hub.init(config); + + while (!hub.ready()); + + waitForStart(); + + while (opModeIsActive() && !isStopRequested()) { + hub.update(); + + if (hub.disconnected()) { + telemetry.addLine("srshub disconnected"); + } else { + telemetry.addData( + "encoder 1 position", + hub.readEncoder(1).position + ); + + telemetry.addData( + "encoder 2 position", + hub.readEncoder(2).position + ); + + telemetry.addData( + "encoder 2 velocity", + hub.readEncoder(2).velocity + ); + + SRSHub.GoBildaPinpoint pinpoint = hub.getI2CDevice( + 1, + SRSHub.GoBildaPinpoint.class + ); + + if (!pinpoint.disconnected) { + telemetry.addData( + "pose x (mm)", + pinpoint.xPosition + ); + + telemetry.addData( + "pose y (mm)", + pinpoint.yPosition + ); + + telemetry.addData( + "pose heading (rad)", + pinpoint.hOrientation + ); + } + } + + telemetry.update(); + } + } +} \ No newline at end of file diff --git a/doc/images/build-output.png b/doc/images/build-output.png new file mode 100644 index 0000000000000000000000000000000000000000..f35e8faaf0206e931ea2fec2a9e81cdd7d94708b GIT binary patch literal 111875 zcmeFZWmr^Q7cfi+NQt6?f`lR>t>Az(iqfHU_kiTkJ*0(5mo!LscPpLJ3@zP5&cF-| z-{FquvA*m5^Zt6T2d`lcXPv$GT6@J_b@YEBFF{H~MTCWgMJgrvOc4v~LLn9wZrDY9 z;7*Ce{!J__5@|Cru@_QeV)QTUASPy(U@R<2|420gb)`;%m0p#*97--K zeUaV!;Ldw#Nu1Z@Mo(W9rv?xe=sYX>oJ;?K=5n!t8b#~2CIvAI>xN--K^-Bs15B-f zcb3-~gYJ*<>f__CB*8jxYEX{#Gsg*G?F?_dfG%xgWGt0T@Fw|GG>G+uvLih{E6WC} zTNI7l+rB3nu>~SX9~D8LSqzYWSj52!x&MCXwcQhr76R<1xC@FJv{=uW7ke|8r6OHG zE&N=o^ermV@hM;Aq~kNbsG%(94XZATV0-8Ft#or?eOrAi$f_5D?YR0tbMEey4~&=5 zPd3Bj1T-%0YQMKiCXEj-7&gs3O%C7X?JavECoE!gIoEKFbrGvrJN9c5#w%mND|+fy zYtyaKq8!t%r-l&^zt#zLCf>?uS-zkF4*_qW2-zKiYUjVIcSVFYc6$@mbt zpqrnNCN&?s*H)7D!BFA*hmFi73w$h4SplV%jj{Gy#9RyHw=*+ zQoT`5`pG?B!zS^J_b=NFv5RHz5+c;rjMCRil0SK(6RP)o#*44U80tO~X^4%!N%^_! zI^tOqe4nn(*D>I3{1G-ysE78EDBIJQqRA{y@oZr&?Kv*m3b8A6sZ;@zQud!wTee;= z<%`02{T|CF(g{4^5h1gdj}+Fu+Z*sf>DWKobXP1@88hep|_EYyjRu5*UniEs@?Y%l0E>{?cu@^rd$KJf< zL|*F+GC1^pL(@)GM6sDgPPSde1QoE>ulOYFRg%*8O=uqqj*N*A75>5NnKM>hFcN{F zJ??u$OQ4@5;K6tc(+4a1p81^Ad;c9Ckw(LZuaT5E9`@h94`q^l^x-S=*?o-5JBN27 zN`DbAl>X9PAOCM?*{Xi9KFcS`Um4yM$8Dxh@la7B#uEA4+b_ zs2F7VBqtQwVX%1D4%=O|6AyN>ZN3ZSGV}Fdqp#o@m6sh zm^I(3ey;t-e{k20u->O4mGc`diN5)btK6-(9`Lla-YGU_qX{=CEjG-%mfK=pEMC<& zR^*gNjDCOB7QgQc&D^C+%?q~J!gxu6oXy?4EOnPe0`6Mg-q6C}wHu%CaG_ReX-3gT{yI1qo^r8Q!=kZUppH7KRi3vWjWDvfG2$8%C z4HN2&yCyXsz9;!S%`r_UZ6Pf;?b0AY2^H-1rtGCVOyP`+PwkjpnT~H9vmD<%=6)V- zD7BmRO!0NZS_C-4Dnh&qEKRV)trB1^cbL)kvNUTy3p}j3esf)Dof-rJaf8UpUxA7z zw9C25>&;h2Xmg;-W2%)(D><22ti#bc@E0N}o)V{|f#Ri~j|alcT+7nS%qN&9a3=^z z-@Z-7R}jm3D3SU!Rem9-O@{xCwbaTtra|J>^aI?3?gI|F4;hj7)WQq-v`U}u7cH~* z(z3rDy`L|cubt1RDNxSwN@(n!nU)!WIdM7VE69j&`spX1hdnp7-+DhxDh{-LJCGta zTs-=H&3G+hb#v5gWNmb0)Nw%WTSA6bio0@Ug8#$(Pl6_w>~GqO?BClTdXQ=mZ}8b5 z;N8fjTK>)Y85JDFsgiRe(*53=MjRtk4x9eqo-=kR#YC(DcL5esF#Yuop?UZ$iHNq~afwk%iJYzk}|gkyR5 zUme5`kf!QYkJrA}=Bb%-0#^k&>a0#|qDFeB<(5@9M%S#rC$2ZloKk4LqiNOsA`E}B zvxEG!FtE5gFx1Q4Z{N70r+Y~krYlgN7+g%tKvinhV+7%bG$1M9PIOTUIsGO{PI^ju z4Ulv=gNVII%B)kP=`AgJ3RB9J^v3YUp0kiM_W~wo3gj~^ip#fN-1n zgY7;;*1ar&agdAnj{oJSlIk5FLbL=K61~-WH!eAnC0uvomla~;$rIdsS*26OR%gq` z&*QL}Q;fXB#&Gw_VJLkVWi`v5XN2Q$L>9w9%WBr@ht80X_Lu94pC1(<+xP@&_Vs~kn z3z(lX^D?O`eB$~3<(Z#9-_>CG&kFMj{2|hka+lJgfV3?o!OXmvL3ZMBt7wKj!o9bGG)JkkpNn3eq`7>8 zhwFu&8JK?=#vLllkjf~Rt&D4ML6!O@`|6p@abMt$HI40y=iUF#)|ba#8VWNjja&KD zukj$$$a-fg$932hw(rUAz@n{jRz2&iaG%n-6?uHUP8m`qnggJQ@gL%gINQuj3$C~4(r|aG@Hsx$6Uuar{7l%IB{c^ zx3rimCm_TSk;ZWQl@Z8sBeX#PN&8)Q7ut(XCnKR###p1#iB6S>R5D!J3c(Lh2W0Ww zZUECBlO8{XV7d@H)MPIYRlUET(U;uE>hYoH>q^0Ak#dao+2Hb0bK?ode2sQ& zdRH2egFFo5MM0eE99<`;u8!=_>1@~b!vjQCy|Pdp7?*9O`ApNKOwZd;X0$oFd{=9{ z(!IXAzFx86<1CWZ8+&Qs9*y^y09G<1c9Zvt_`1u;aZw?C4!0E@&KY5DUkJ37)LZjN zfo>Y_%-R~e$e9{T^+i%5j_5T~@5f}`L9{~Z1bueU6?yROFQv`PtA%FOW^=RGMq&;K z8sAljX0PMCtvJJ(f%&ebY7El@!9^5UUCKmG4vPi2zKDf~O^$^NTww$Mu&}AH@cz2S z!ji_O{?D}{_WggJ!NJ0MXNGm*pJz0I@AID!-~){Q=NmWdEfxXr7dh~Gos9GE(-#Vp zasR!>4Fh0UPn5)@q=0WFBReqI+Wr;9A!`OD0Nfz7k<_rq!lGb2|6ofg-rd2%!WlPH zR(DXBljS#pSaBE_Lkz(jE>7URGdAH@d?xRI zoVht5cBY&U`S|!aA8>JUaj^qWu-m&@I~cgITiY}IJ;}fGJOkSs*_qimm_e-R&*wET zgg80~-MMqV(0_jZ#uMyf_TQDP?f)SQAdvGM!ugQn0q38FIhdLJ{|q~a{5|Y1y8d2H z@O(1<7iKPCOZ8`FR=`#Rs0lxO#Kj}{*E+v}{)_3~Lsjg-c481KV5Ecaf0^~q;2(j% z4*Y9PjsLF6_wdn=Oa1`)VdOat{EA?Eh^6EC9;#TIIS6wJa{lS|ucI{nI}D%?SnIDr zKi>Uyg!&&x{CM}*5ejx@z&;q9qbB_DpA~+*_s{c!oaem%K^FcNw7>2Gk|sR!t+jefBXq~W>v1CY)H$o*g=@i;`3l0p8w-$G!ZRH^G^!05oYZ(Q%ZPD)1C?Mq zhRYV|+9b`2oM0-wOivm?YiF3@(a{>OvrU18Mj3yI>b%e=%Bf04f#{{<#cmz>y;;R1 zQ%7HPv(cu26&Th9jT`E&7RDeFb~?R8_I6J#tgW3g6Zq^+`p=kTJu^=ak1&TA42_`6 zH;vx-hhII%l^W?vPETS}4{wT`onT7gK4-^=B6=8f=oUJ>FsV_fx7K)nCJ%AJz zdTHxdJUmNhTj1Mptar)N;ut}E$0aZFcoBKZsg?wT>vOC4Wqqh{F0UP5+IBekA9WZwhBIyCR&P7E9SlG@h9FH)jb(Jf6S?FP)*)&LRgn zYbDtdkK9{@kGxbpL@Zo-Pba}pNaxDX+0yJ;gGfGSz8*AbV)V@Yd$%@l)8j1sOmEmr z?F9J+!1Vqh&7f~H=Bz(94pKkTI(XW-DZzGKtCDz9q$7&*s03vv&~|E9GOMp@eKXb# zQ&@`D8M7B=FXfNpwJb6pd~6XknZa^b_^=LH6JmlUJ{XqN?%5mK&`gj$WEWBA9Ww1M zy_QEgr4Vs%2HG%-TCnUsyehs1f5OTtbGErbubf(oU%jREMdW)3hPJGvd^}F zs9U3>b`&0`H4^0Kv7MF{()EySqxa^Do9!kmUweJIeJb<{3|>oup6Ywr%tjLglSWN8 zFrHk!^nZth>)Uh)~QEx2wn5xXg5{Icb^_N6 zBbP<7urK`bE9WJ>b|7!B5Q8@s&PDp4e?`2*YR=tTWzzKj9j2TPz;ZU7tf_vR^74H$ zY+tpd0fjR1-(gwO089n8HTCGX<>+6~;#?@~N=M(VZMYl)vhopEvq^-&L3a7)xzJocQld>JsywQ*k}G zn*Z!~SdJn9Q*jdD4g8%+|6}0)82Fn?{2w$Bv^3B|ZVeXHt!jJo^te&Ax>7_f^y!Rq zffXB&8rp?+A11CAZrY^}E5Nj*2!B%4kW#=Vqztan4Nw$(n4}x(JWWY7e0+G-EA#E$ zGy#qX(6EShcl~Mg{Pp7odn>2nU}^-CeT+J}@$Fr;GEXW+*6fcz$uP+i`W@%n&AGR$ zTg#jzmwRH^?N|CD->waTH^+;~FHxExz-nsIWfc`&p{Ww-+1XNvt;s^{vQPLW_|B(Q zqwFgPvXopm6?Oy^X)b#cdSe?{O)I_e?LD){^i>-rS7LBSBTgR z?1P?(@`BcVN)B3&?f~^6aSfP7-zKcYq?hU@$ULIVxlG1XBD3WY{i3+R^<*f|1PghP z!&8^>Y`INqxYa>OTyCG+xiWV>WXMgmr4QLmI0;!Efl}>GrQ<~Fc^-H zJ+VS)CD&@%sFxx!eNg>IdFP==W_uB`t&EYTF1c#?VQm_LcAMi5{l!xmhlDL;WMl$l z6Zl8u^eh2?o}tK>lnsd>fP?R&(>-Rzs)H4C1U|vF3bxW4?IJharz8&uKk;=@ zBDt}Vn4nT!(R1RZlc|5Zp>@vO$D7=X!`VuVlb#lFuQys}2mVo@{Czez*^Q{5t>E(t&WB2=Wgqx!`N5-k8YLop>_dp|;!}c4<7I;{`l^;jA$+s1LdgzhD;3uZ zHwtUzz3{0V6Kd|tqsBT`EQ+@>OawLv&S0(i+^~siZN|{;0_)=e1Vns-15V^(A3c;Y^DNymGvFBf^lnH#{&BMq^qag&7Gfm@ zmaU|YWMbCJ{CHfZM6X5pU&M!~1~ghm0_->UB;BO_quUIj$f z%hW|3xW_v-?IKakLV%t$Ucy^@CyP?D*Gsvl`zyWSH4hyJhszW+wY1(1)nNydR(Lga z-DJ7;d6rAN!n{;EzY(*Wbf$4n_EX3v8C~R{)dQ;74<;JbjC9`zr=`Jb&q(yN@>T1W9o4(-CRd>QZ;*) zGVv!m&s3K0;&gP=lro-FOu8NELWAmG3Fod_h(sYGp; zJ*4=)(~)PYr^c%}v%f81-0XY2y-p^45Mnt~$0sB6HY(v&X}Pf1R;Bky-SK|fJw=B7 zB>SO#Z$!gBqaRpTYT5v+`=#guVwCRtQoBtk9=*r-BxSk z;J}gMB!K{Nl&t_p_hdz10Gc@B|2%cCp6*0c*TtZ|P?2I%akDU6DWk(7VQ|Hh;#xJ3 zJpf|X+D_|fJbPQn$$Fn^m}25j}IZ9;kx;0B9jg|)9#4Xi+RV2 z77Rs?E}AOf3%Zu<;i~gE4(i5`Td;u@ndKAnX-rQY`sP^gxt+lLG7 zwO8!oK$l(5aLLlv*$4C^@d`ca2|FEEM}-d~)F1R@R#fm*Z`V{_pm>X9{0+aS$)=bg z$@m0&er&WK3JP~GeAH(?+@vDud9sicp)=RzoKCF2=DVb$qvOVOJ4VQz$E(HtR>gD5 zA~R@ASlsnbYzG!<>0_k?G{!m69b4H}hb20hnH26nDk^Z^9+T6%L~?ert;9Sq@U5H0 zQR6nL!3*}>`AXLX_dG+hm3K2t;;8Z9cuijdGD|V7>q4>AA@XAOY-268yoTO zMjo2kDF~f96!I^jn(>MpE=1+~fTStel0X(wTFAAd-GwDLnd>9lAdAt}YgOrcb;9*F z8>9KBGjT$4@UQ?qM!A}cXIB*jVUTG>&NAkBQdC-VfZibsFaNg*0V8q07SQN$jsjuX zu%SZN@W)hj=c1iW5bVoJgDEAk*_mxl6auqpF%2-2L-PiT+FuLWXrYemVDzNo6*ssX*xh-a~ zX_SoDp9E_4rb+~N6zJ4?sP;{oZ)L_eKfe6qse2w)ja+m@)4&_1@e1Zq68n{n_R)gK zlYIt<^!db59CdfgE6${IA8Ca&sZ9H>xpNt$vm1JTJsgut!1puRxL8`QAjA%w>$W?P zvv846F#nfMMYkrFNz?AiE(&d_?HbXsQ!>H(WI`u4ckDmGc@#T*)uOCNMT620UaB-V zMdl_$DsH&)F}YvSn_lOhD%94gtuV5IJ(@c)zbAYE~h-{?MB<~j~ekp z2MDjlvl>$eUKuV1ir+UkXH9}(iYkqLZfbq2860eYqQPr}jCS*jQpKSH!ujsoe1v8p zEz|Y&Yx$GY0+%Yo^J4Dqf~^N2xe+~;p=zA<2Vo*xMU}Hhqm_ybIh)2~y7qE~FIAKr zpC!}TE^(SLlzF`9TZvq7nnY|F7GlCqJ*>y8iW^x9^6Kk#66u_NyO?<3`(gYPh$ zNIDf}MK!Ob+_R<8TJu+*I4WoC0)VsJ)oyFzPPxe%P@A>$K*r1Jc`TxY%|iVK+|1HliZvoIi$M%` zuvxtFQX&p;V-Tx58ZR~ie-^&m97cQ%QR*0p18GJ@C0uMr2nQEhGh8C06W$bAuFD_w z?7I08_eXo1e4cy=d{LP+e1-pPx0SQTyID3t+Ie4&SL!Y~Gn$DMznaYkOk6QJn%Gm} zb%tGxE@&|(9$v9GR=)kQ1W!C@m0#X|xknz9qKKpBBu0nsZVW-8P{Z|y{`$w{fy%Hu z+flwxSk7PsCE9NmwdU9S8YG}1KZQY;T6UO%C>Rnbxkzo@-dRuk^C=J3W0Pwl28 zy^?;KBCeWA@pkpfVP|xphC17hu|f7TBC~Op-E5}*=tE0)x`lnKMV0+#Kg>c=<;bYQ zSNw$wKgpWPxvW*yDkNEla(e8_*sZv4e;eSiUwpe!5FRTTD2T|_3*3p6*gl}BD!HNt zqNo}?%tvg^&RWo9h1PPJ_C2Q;dNAMrQi`GAMCf#LMFd$3uFTKyWU1{-Y5r*;WuKOX zst*&dyBe#6T;Vb`qc4<{!fRo?dgy!A>p5!COM#PD@hI6=3AI6M6VlCiJ>7d5_^?-6 zi&Gh%QAT?{SI!#&}9oe&_zlAEy7(k&6Q*W_z`h&grEwW8Y3=Jv<14 zc%%k3edzEb6VgtmAUWd#h{*P(Xez#<<_@|sHaN(2ay7d7Cg#Wr5)PO~HN=MR!5N~u zKR_tIZ}7u)R^#6Fk?l2KL`dtR7-e}H(t(@zA-lTu%}y3uq5Byt=#fG%_IH)i{#Cr?he zapCD!Fe1naR%TWzc-q6AJ*iRlDpcEJ;5nD|$>S}p1e2^oO-=dkAq5cztx7AIk?s|F z(1DV0{bR}>iC1m_VtpKht-Jd>k7JR>JMe~6CylySDcYx~u?@QME7fN{1VrN>rZ`m8 z)R=%c0B~c}1((G`%gf4^ol3X_%}2UQr%;lmroCaz;Y{5ri{Z<1l+CU-!Q(HQ6ESqWzAS%gGo*G;Myvg2(a;ZLi9Dy(Y!tL?Pt zNaCmUD?!e+o(B(Go;s_n9Uj|ukW!1u~Gn?3No-DP! znlqpAAk{WYW~T_KzM{r+y(D&!Ay_y^NvLozlrK)vhqd+$ezx#B;}wT#2WQi_Or~%OrMx|X>H-i2FuDG%2cR@y1S@eHvZd&D84*^k$JRJS*f*>UB`3UXXO z#p~D?_UM~Ba%JCls#IFBj7bXX^!1$uLOfWNi0%4H&7i_SP>Nyp$J8-Y1A%DA81sup z(rTUS9-`TYYRZjgJR_W+HcQz%Xh+H?*jmFy7@+GTcY^|2$pdyJ94%}MHV@rAN2mN{ zj;z#AmA@dL5B<1!at|KQD73`hp?8{d8SC{243u9;N# zE`=r9qLK7aSSGyzIxC&sX!&6_uTA{8JJ?fMg4l^K0|kMZ^}{9Sc^n< zAp@O$^x{O92+yOm3{sN~XVS#7Rfh&UnN0ZvyJFUW(+CSRbcdY@&9zk-zg>ReQVCp( z`EV@Q^TbG}Hb=vx=T(SnjcQzdTQD6HU=yPCFnbS~M)Q^Q8_&MdRlS)u?T-agbByaF zqoW=B{X$Ir!nJ)PrTcJTO>{83F{^)Ua zDd=DJYUkc#k*U<&S?LI6;DVwK*g(?UlM}ay7!AXgCNWc1-Q}}(jSKU%F-HwcGjBbR zV}J*@M0d89L}2-?#5C;+vC04BhOSrMf(wkfvmg$AZ#k>F;o`2b=bAn?(ZIfEb%=mkki;(pAFfaxT{K^0nG39UST{A&080FFoM!UFsslmR!5lCfjp`$EnR|~b5P$C?&r^9C>_n-e%qOha9u?m0c zt9A;jp$}njNR8E$uk1KN?J8<%P0qf=W3{lb2)ELz?DWAUxO*#Tl{G$=W0mUVd5*56 z1>nOZ3&IxH6Uh3}pJ)Br7R2+CxO4+$f3hd^WH`7dIyd;wz7Q|CR>_)|_3QT?o~Ldn zPTm9%DAlhz&hJ*WEIjmYH7sC1kI&79GNho;dcbq9ac+8bLCa#Rs5N@482OHj&PhS+ z+LjQtE!h6qDZkp9+bGBb!B)SVqR#Bg>$~guI1@ej4(ml0R&#wH)TW@}190^;< z);YDflhss&qQr)4GJfjT7NMypuQB*AqWlcpW(O5k$}A#A3C&|r0ZKrsy0Wp+eWNhX zc)PYyJjzZZ2*^i5{4rfG3z|+Nj9B?depHalH(t;W&AtKQ(muyyn!|ZkLphdWi73g6 zY%6w9np=(3oz$5jD9Us6Cz^2f@d;CdX$D0Fl9L=Qoy^*TXTg($ya^EK4&f zRzFK-2l4pqoA05GBx*l<{Qp>3dS0MxSY2&!+gS-?KGssErM$wz=L zf0!jG``0M^h!uSRU|HB682{+e{7ct0JwTUt(cTn4SRx?H`8RIHR{+a`_tx@H24bEV zFc6+}-*El}WCO4%X$twdPWq35@Bj=%D;!tzKdbz(a>#Q48;TnxKjuRIrRW1EU?7g5 zqQpOv_AjsmFjrkTVmyB`bGtw;<$5F8E9^f3DFAFV^gI60J8}7bgQ(nYoG9^!+n0&n z7*AE%ZVy^nS&;)T`S7F`6v&&Ko2R9wiq+KAl#HhSi^mVRbyNbo?hz2xc^t)|aff%- zCDmeUs9%^BsO7vEjcVMWfrp$|R|2ScI{M)a0v19KyBh31%>2EB!p@IGR3d4pLk7*+!*21{w(?jr(F4fP@ z;`z3Z+-@psUSD0ohL?DrxVSEisC5T>p@y(G@L9(%7BKUt+f0<1k&il-U83c`3*;n2 z)!8WWmJxvWpJQSAyzC^4^*reu7vutzdHHPSyd9Xvrl|_8%;Ncm@P;nY3a<9Wta)H? zRJ~^Ess~{(W_Kh{bw1}W1-NrWme>L2)}c8I^F@qWi8SiXBlEm=Tc0F2cZRjv^-|B= zr#K?YaMBq+%@jF{0gCwCkwR_u??h0c@#)82 zHl2**gh*Kn!Rf&}XZs28s$}(btm)znJ=fOjTt;qUECN&kT|k0z$+Yq4O+3FNOJx7g zh3<0^jmX3r!tXAf-J4i<->y|K+-;G}9;-)`1BLV!?0ylT;8lH?5r@7|u-U{=9ouUm(cPGxL0unKR_a29=O?LJ))mvrC7~L;+Ro6z zrpW7>-z+e7u5PE)V4&SJ8}&;b9neQnSE2`dIf7{R!hBC4^j;imbk#1XJF%m5aqBLJ zgh6Hxr#~v4oxI_!oAYP{r0k@KIv?EpdB2ZO0<%Mg5zV~(wl(op6=b$Sxqhzis>N6r z#0x2qotqmTH{<5l6aSF=dRfg`Gr`iE!wqmeem>j9(Ff2P+1STY_vB*lwg=NiQzhiM zlr9J7r=32pvnWkk)+5r2eEpUZcf?_^3h z^Sblx5oBAiddHU-W%U)Pnz&aAk2*J?bzD&~rfFiCL=%td+d=drgA?;X3HcV9U}^U_ zL|1C#NxHyti~rTVZoN}}mEH_C;oKpj+S=OIu1ybNxiQCbHqfI-Y2qHI%ay^k8yXx;#W(6uOn!P@WH6qZL%VPVoZwJ_nSVO4mBU*CL@nE@*fq11gsdoh)vh zg%Z8HT0Gj;CZ5E&Th(zMVWTVsM)75M40AIw+VH+;<3oNk{V$vVi`iAsEnd*fW4CrY z!Pj{UG*-pz0jWmx?j4?C;2$aTMws0Ty{0X6=CUg8J%n-^wUWf-=jYekEl~JKXY}=P zG;UN3EMC3n7sG9G!1m4aI6WFa0JS-(sag1lN!;*|`7Z8n2ZyvSU~fB}Um8%qvXFym zs<1|JIx|EUe7m9^6PEwHTpx3y94dER(DUSVS$Sn=*z*9TV}|0Z0f!fA5$lrqE_0}zAU7KSD z(<&AgaZ^yZkVgMQmCX4!Pj9O=nD*21viB1dnDl*m_!-Ekt@=dk$(L`<2cYoBRP(i& zAs$~x_F{8&6U9pm52!2Cy6iL$D~l)fQ~bv9E*Wn#zoij9 zR|_i%Q`2>A9i955ofYEqE(ueSvubKE*tOYB31mWBm-m6tn zrR0ELa3!F%1xI>qrMTaThPpE{y9Y-FbJDy|GseU)b65}Wd@D!2JqQ)R*7=EBvmz;>j|tKk+o-JK^iE1~)T_ zYsa45v0EQzUK`a{dN>FaIMXXK#N`u&w|os+U*V4Z*4*fGa(--{WvDocQ@;d1$u-Oz zqAI)dW9PwN9uAP$dSF$whl&vRO|q~ru!sYy(dxj+>-(=a^j|+kIT1M8yEc@zFaEZ_ zm$PmF9>w*c$f=9J5lsKW70_~)LWOFE-%f1NWJAEaQ;}7(WBAQDcms$6J*9QROF_R$ zDVEO%z)4eisM8tvU;O@a70Cn~tN$bLPaG7Ldk8U`Z}D%f6CC@a_h;+#8NVP`b|V7408Hp%)N^oN8pX^B+W^1@KrS zT?hsQ{{V{xU@G=-d-xy3#Q)qU-@WwN^$#!*0LxjPS(*7AQy=p4sAHby+5R8I%bWs$ z_15>-|8}lp;V^Ol;?*MXe)%`m0$fWr02b?>&{zgx|V%B7-mpxG12S#(*p61X>Z1XuSSZGe=Pdu`pGbm^n5Nv7%P zX7`kV?08O^yPxh1-{X@dj2S|52|4-`+&&)3765KFmxb!W#fpzgf7rwG)^79H zXy#j&WHO@h3Vn}-JHW?4i$PSSu2(`&oPhIdt@gD)@N5v^3+T(~)xiNZm@Y+KNs0dD zZp5i%-bSH&DbQ1=|5~f#kHgLzl)ga2*=-`3MTFji8H#51mU%k|(`Ce~BI9X)m-G8_ z*c6tWc8%(nSwHz=vx&UfiRIO1CmRvG6UPG~RHYg943t;UE_vo>=ynS9ns#(^HVWqL zlP=A{N=>_g@&xpYVVvb;g$_SI|J3)dR^fPP3J&enKF7t5D}2h&17`YTK{7xSA3b8R zYfHeXs`ZT2u)o|?dqXUQ=);wH(m6T*{fM<~}6!0=HYlfthm#Y9LSZm_5 zBLblPiNaCuZ2oOs+2hZ|Eei3E1`@h)Xx|X&YIvLX#lyC1fZnKZAeGyRIYm#ee6Q%t z&^m911RgRRxmH)w6xrxZ>^%|A${t9~D;x0VzXZ+nbYPK{qMm_{U z;E=qMKm$T5VGPWJM>?>N@Sv{PkTh2}a-i zx7PtgN6ssd#T-b0Q|n#gh8j)nzG|MvQF6E0#^xezlLTD{>!m*?F8}9*_!k{fLg2Lp z7Msk?nOajxwLJgfs@7iUPM5D{U?8_6d#ddqP=8LdCsl@tJB^Hub$@zjq@8@;aS=o( zlBg-d>{6%W1(f-8!dY2>;E;$S9RUOkoaN=9!I2U6Oob%*rOD%sb#aRq9NWI?P7pCE zr!6;uO5MiXQW?$3i9K?X(!;8I^08@Fx%NstlLvK9kP7)>pnIZ);&mm@Bo0zo!)9PK zuEY@ur2oks4>4?o;_%ZJ{}~_tTnJLcX;a-)e+x2D-fIcvZj_G{aYpedq1i5vkAUj3 zqY(+Qk8MAH96(p_I9qs?o6Sx_FO@?ECwqR2o8O){IaK+I2{y>%(u+x5A=TBeX%4eG zUCjmLWf|lGR>+M@Rlp{Bb9HRbs_Zb^X?u!UBA8}h!@AaCE$rC?CaUnvB-aeJn6n~F zm?BX3@Rsqr-Cv-!QVO1#s^&7=yNf(NUeS{jvU;F$yE{lORlCN)%p7}9A4D7k;-w=o zAvK$&2-2(4_j%3mUAMgzq&_k{yy&ax`Q*THBT)wLBb#WY$1#_4Pm0((AVf=V3!;wW ze|H#z_lZqI-)49Ic^|vV?P{ab8v7LvK93_Cw@|boxa%5FUVpg^w75s_erh(>bdNR{ z(a`4*()eb*F>2*{nwYNV*Z;2={A+Vb00B3rPZ5mnkAG<2VOrKC?uKQN^`r>HVeWI6 zPFA|mlsK1DqvRQn<}y>uV2 zZeR}9hDxGfpuWdO&qwWQEAT2TjYpgP>iukZ1}!`1TcJ1sPF!ORuJ)ygm5n&mW|bbT zc9i-(%KecR`qp3H1`4J>xO(~5gAMQ8_qn|MU8jXWh3!4KQ&=m6VRmh?Q^{`i+wI~t zUmkWyhP*-<)>}NuDE1-xwgBoh0jgdkn82|Ch|h`#B!poX(*a|(#4tbKJ-S&eVq;$RJ+$7qJtMMX&|6*1AU_`WJA=#rUdx`zCkBzK(W4Z+bQ zuLoMxtrgnnVevK%a|k>nTF(;(^rSwDt(4m;+q>Q!ZLwpQs^xC=U?t*};yoT>9Es>D?v6Ssy|4V*HU{+_uxGhG}(^zZ`2^^2QyF zrmP#;K+e-qBQDWY=_a(qNpq)FT!9oMHwY@QbckV$o2hzE$|h>uNwVo_)iSIv;b=A6 zAeMv=LlS-%cvb0^7*@s6&}ctaFf4gb3*I#v#lI3?It{Xlh{TIJL8(z|wX}r496dfy zi5I<&M;M-_ z6MSY1;RoR{+&n5?XwG}GrB&3CSzl8TNv3@)=suW=mxdp1Ijow|6iHKSHR%Mab1fwf zf@vx?8z)&AI46k*%U{Ud+&>aUTW+yyT@(Jq)=>^cBlJg;5mqhH3UW0jswn8>YAr55 zd3UD1fCsJCukHlVZ6Njg^gcmBXm_ld&sPcKF$%B(*@q)yJc-GV)RR|tc9!0ZPh`<0 zu_c>er^|L`41%?4S(TvO#Q0!eBvl^7hlcpU@s$_NC36irUdhHoJC>)cabd3%$Ud%? zi6XBx`(Ndv<-cbGhxI`ew8~y;c$youT}=n$!zU@uD&I^Fg$I`HGvC}+fH)N<@$!H z&;za7E()Eb$JtEu*95&PPUq??!PU-M#Jyc7kD4r3h?WU9Cfu|z_<&}kNz|ABH$V%)UM?eu-a12H59K z;WsFatcFG|FAvlxjdoJXX0{GX`^*JvMCL^0?qQ0{tkBH_pnEjS{FnnKkqcZ zG;yMBq)>IEepln|wNuA4{g7&-_Oh4cO0i~0x2&byBl2IJ@YeHUoc^I@^E({g)UhSY zXOZmq@FbHPY$QP^W@cN|<3MBE&EWEV*sD~Jw9zIdXD{%YZ^jN~WhvT{<}gAleA6$;<5 z)G~}MJmdhCFJxBAFecHJOB6gnS2UFEYm_i?m;f$St;e_g++5a;tU}qXd%s3WJ|5@w zzG&l^B-4S<&j)L4Q^%E-Jz{yRVr7$rd%cFAPrGLXX}oAHjC*9?Mgl8!hU6s5f#P`~ z*6aH=&On3Xm=kuf4Pd!-Sg3ie))>dWYb zbubbK<*PSnOFXA>ZZ4Kg6ThdBc$cDyN}fpGy)4_m*%0+p z1F6~WIyu>il}(kl7mzS%+ib)>es%Dr z;;}S^C9Kx8ut)E~Y{FnhDNHg=A2<_NuiNZ`4M^KAjO9twNr6*)E9wry*tDyf0=M_t zVHNr1y@4#H1K@CnYpNXCDoGbyp8CDONcmA*Bf-btiig#)*;GI$dH5`rq@5uY>VO;g zw9sU{czR&_cHrgGeITtjL}O%OSG~U;ei=&bM>$?@Q5odXjfrU2*FpRmbNy4#xn$FT zw@=<2jhz$dVrx@uqqVZO6s;GEM|ESb`Ti^x5D6&ZSiM$!0Q<7fSzo3?vEd*_?0LaY zjA92??p`VXPHPc|V@;ui*z-~aLls@#LLpk(zLdD6Clo8h z1r;w?IgFjS?oYkHCxX+{Wx2&c+$A^cnCbC=BcnM>-!Ap*qbig3OoDHDaKz>e10e5C z7Dll0`QpS(ZhWL)gOew^4tRHo<~olW!GPSxRZGEahBX8n=%Q`WDbo2Zz5n8(&-ts5 z<7mz$?ZO3UDBjD6vp~l zX@jjOjJB-H;R*4_-N-@#S{c`w?Dx>w`;$HM!@+){?>I_9uVh^s**Kdz)l*TX3~?Re|6}A zMi5Y;_%#itbW%h14DDF`RNrU#jeY7IV_6kO_cn$uST&>mKi1wVDy}Wq0zDx>kRZVW zAz0AHlMvi3xHXNtySoGr8XN+_-5Pfb7Tnz(g1g(>ocrF#J#hct82!@>*sQ&zYSye- zwV3R6KNOmZE1Q^`N5sY|R^#2u<;s@vxRrDhnKLQz5~!G;1-sK*-1a6z{J!vOYtS-KV@J4z8a9|$n7He3JdMIK>phM z^p(6)c{>30Z2~bF)LXsp2|z+1mT7{)#%=%>5vSoPR}G9*!Jk)1$Yo9*PF&0S+=+9) ziO?f)t6(L?B|b0Y8K&?bFJE3ExMI=>(cznM7{&4d*Gk&vWp@l{UX%zgo|dx!gyT8O;kW% zH-bO@8|3Hr5DILE(_QxX8ZxhjiLRe>y$4x<`hcR<#b>O}lGZA^i*^D!>b z-FHC~(&N^Xo%K$htFJ5Ra8AuxGlXraNKmc z{n8v0K;)eHk7L_Y4VTsjI2u}~&yfl~9My^Jcx6lw(&2N|K>NCL*er9sDaM5%y!!*Yt`I8wuz;U7G2;G1r zAZoB7K3Og*ORpd#jjM>S9s7|MC{p&-j@zGj3Ei{23V^cJbbW3oeJ{EQ`Xj!AwYvSh zH%e7fvE)S2Wp7mX%i*AQ?FxE!MS>C&PO$IFxWT^G@;Otzg@XmhMz>;?~L+_DkH!oNjSMLDCdKxM&ax=iTM9!Kj@p3 z!WGe4ti$VXv6#GI?5`LCD~K2heP*2)Cybe>LY=PM^i9k+B5QIB2aU3clMi}BQts-T z<9ZqD6;KJeX`9`4OXZC5_nz>(UKl{6{TU{S*>%H7J={IoZf6F9^S#V(Mi;*#e^>~* zQdbBTUF4TVF;Z3&f2pe2N#48`<8hu*s)JKF5;q>WO{&ClnXl@jJn!Nbs*z#+$7wp6 zo$r{FylJ{b+h;2He-+vM&kVf&AS2sSptqZ|=$g!G?fr|@x@?hs%MX)6B0P#Rz(zul zo!xF8q<-0hqgWjHcV!#DW?ONuB(&AWr_?Sp`rc5t&~3L{*ic!F_7qC)f(i=W5(N=B zV~;!g$%bll%uRSJ$p$)7PITJ5LOn6>iKZ@d8K?QlWmsjm!>;s7gPT~I=Psn8y843c zq%2EZ-&>`sqM{2Z0K1M>^)I&F9y4~{%8HY-2f8YdeKZ`f+VfoY!##cPeo7C{S|sE+ z0Ez_LXIyWmtfxzDbIj&yN*8sho+jvyv2t^l#(CAP=It#bvhXjb4p-nGD?i}#_j`%~ z!k+D+!FGKq&F8q^@_sNitkl?@1Vu$zh9Z4OetPtU&`ZSxGHVo>>CO^KqA{fy$un^- zFymYIa{Jl6shTioS!zs?-@35Y*7u^^UgWJV5K5Rmc{Vy~zU)hdx}!hUb$(+aKiK`jAs(SjrEY1}4d0w_t-d6)n3p(JC7tcFASIXDb z4}cT4osK-e>DaVWH8u(_k6pH_G|PPy_@fsnt{u(!LxGYy@3`phe%$?ZGach}EtVuP zTPfA)1q%7;t@o6#Z5L?rXaz4?osH95>A%dx&;If~bOv9dj5n&0_V1d83kF=1N+$N8P z+YS*P8f2V4qGRV1_um2cr#^3ALL8Dl4l0ol-F2mG-bDWTZ^-rnHi%XROjc}G5d)V= zi&tp^bU4`Fy1)7O<2Spsh^lgU@3u;~v5%BE!LD7KV7QnM3YPCaFM>9ahaCZ#;+C=sV#qcu+ipY2y^!--gvi=&uQ>gVp!MSo(_;IK zf&a$%`%?k@n(N!m2d*>cM)-N!rSoMpPpX*CCp6!q&j(8qRM40I zqe!Ea^)dx`iB zVQ}B-b*F#m%J|U}WxQi^mL~}R6b~fvfW$NelHI8I~f@cnw>3+u}2I4qK#Sp?zKx`U`1V9>#t*MmTM*4s0P2TOYnb4x^v2 zE~h4(3?e8G#B+s_d1i0&e7CRxl%h5pkT%2<>mi;1nQzrqJIko z2Vpj-)L3~Xt{9_KP$FLsYoD{lvslhVs~~X44?e|M(Z#%A_~OEPpirCA?!|dvV4lzQ zw6I#y7;$V${Y5%=#G%)#_kDSW=3_B%ZKuj!?D{g4s4AylDN%$!FD5e^VIm16SW4qp zEGdvGt>^zu{L?>I-!b@UDXWE^V@_DL)}5dzi?YJBW>~3?&|+q`f?I0<$Su2~#U2P(#6}=#4j)nr58Z8$ zRga><3N%d>%Q@T1rK!G;Nv^9GpKJ`8@;k*Izgx?cBr3F#r2$DA2!1wM_g3s4RwM~k z?D(9jpHV&63!`bFPgifUZ*0edob)5FKs>1?BZKU5@xum^cf#<&iDx6UQ^_&@PZXU! zimCZNkO@=zZ&_Yh<#uZ^9U=a8tghL~j%1mitgx$c5FK_{LBN?Pe36sz9oVkqbDw#$ z$cpVYQp5w_C~+Agk^87Hsm25K&}N0P@AWf^Zh`uS;WeYeWHQ@XAU}{S_$ktWtZihp z;kQvi61zSF*LdjrBEFguQ%DJIdcnYKSCw1llKm!wQutXkGK_h@O5l@0qEmq$5lU^U z4C-yww|Yr7f+DYY!xVRxfRCr#9}4re-7!)tMGTSajJ;U+0f#J!QxP=w;iXbHiK0bd z!Eb8*?$p?#7=6mpBQT4|(1Rfp1wjlzOe0&Nd>Nk@>w*KaanjtiRfBo-wQDO13j;~@ zayL~{6CrO=bolbOfXWb{ZZ(e?Fv&Z*<6~6(@8zPTOm}y;BV{WqT^9UY=HHIY&CTuf zRjN1)3*nyitiF7Dq?&ncLZq)2yQ~hh+Wb+R5!IAAQyh!#^>LT zZ}}wT+^EmjSu))1YAD9i9+a`Gt7!gk)UTU};Rr~Q4=|f%+k59wxfAo{7n(th;l+DLBxFXQX97{w zDYf@O?dp7))iMku;L8)Fo%_x!2;Uh@GtaE8pkoIX6j82)o3TGnEwa>);3qI!7na+i zDl7^6U8eW4kk**9ha8}1$3m+{X!ppApcz#d_UUyNu{c|pukGtJY@!ucy5<%ilZGh| zbIm6ISSA7Ond*2a^1%gilx{#1i!zV9;JiT&N29~-%D^9%?mH;VjcI%==5rs;Ft^w9 zA0BMhHBk+6UHl5O3hp8$4Apmj8ocFldLbce zC}UB*L8mc*5OUhgaeZZ!TWtjg3eDKx6_jvk%Mjp9x+Ci-Gt$&7#L(-mN3PdbLhWQ7 zkyW;G1o@_D+U@OP{hQT3iRYkX53)&&y&JhnYYWilcW+esXXm(=VaK*ma`q<9^J=pF zb5s@@&uxjCM~A-6pCD}d%`))^nca1Hpn7o%q0o)o^?DW3bPaZ1bUm=ksh|#qXx?3G z5sSpUMF{ls}p8T3= z5fWCDA7xe4bZVRHP~ltAr=dMx4e9C;4jryjY?c~~nL_gu*ua>;?`a z9{mTqAHJlY>kMM(hoJNp?J;2$NIP~s1kU>MceFfMUn|BOzol>+1=p#TY5fWd2zQhnKzeEnrkp*W*>n^Gct7|6l52n1wiW$FKxpK0t%82>wC za3=kWm1&8oElSFFUys7ua^ZG9QQzZ+Xp4B?J;@B-m%`r zv~u`P@`3kg^~3TcDEzf&&`7d^)(Ak#>|`@+Pt;&DOwGl7ru?H^mu^}#BObn*_8vP5 zhwW}{-Wf%sHu%v08A9OuBOzdhk~NdCG9L+8_U(n`9HPj$lp4rn1wQ3x`_;+C5*7Rqg}bU`Qj{`4w66X>fKTopy%XIe8iv+o$q4=W4?0g8ptRS7z8Bom;i5k4g*m zwN10ZJ+ZLFGR*%{EXEG=b>Ex?aS0d{k6#ont!(9Oc{-aYFv{rPvi^b zpPKFsp)hFyA-}_Ry(WH<6?y3~itxlLQrUVX3q|+b3VZh-Y;Q->qv$-99RrM3k80|Q zu!geZ)ThRQ0V#D`8j8<#-&{*4e$yNj!xufHnF?Z%iD&^0n#d#UA^Ng}4&lgM>si zg8C*YL4WQ-x0-xUee|bTjtn?3kZNC74-!1Hu04+$np#Kyp{g4A0-T0z`?BL$w68S= zA@I4R7{MasSZG^@D2jk+cW*oTr8F1u;KG?De$NP}w~_#QHqDaQ>RtZuT2otsx|$(;-Mo@1&nX%6xVErB^7*pf^hM^1FX=Ye;L4qox)2 zlU>nO08B@N4bG+>%ST42Z2p8&Qv1xOaO~|^qfZf=@DO`{@?UsvDr&jA-!LFu`tJw7(!@o-$_0*oHzPU2ENsZ zR*Xj#78<3$q;fJ`g3kPK`*+$qBeE*mPuL?xbh{QgL7lYmS)V`C>#Gu!>QiTW<%@LYIPPw=LIm%upKu0TZ=7Ps%~U~g zdu-@o;XAoM@47aWCQxQH%+IEJLLn7T1<1B285$1xx5uh9CIM!L?8H8LBr_0m{W1`9 zq@uceJa~o-dsOcF3hg~7RVaH|x3_P(L4Rb`grc#@45ev`igJ^<2|>XhJIjw)`bpwP zAqX%Dq!*b)#+4@HG}TTnQh+xurQE9W8@G1>`j@<(^#)(_gc@!M+nV8|g(Z~b`B==P z#%xj1idUt_gaLgFXNB7211rl;f8iI8@WwaMrt0q)Z+&Wyhc9QR13Fg@+616&?e%>e z2=~0a8LZQNRLd&Y*#*KI#AXj@Bmcfx8jmCoUXSv;gD|W5NNsIlCplaJFjA$;e0HIL z%IQAkes_~T+^!8}()1fW8!of*&Eay}@np(vg&9CKYIM%NQfvS-Nj$r=x?J`|ZM7javz(aw)H7zW#w?WMtSyM|0^9;b>KN1tN=WHA%j( zlfN}9iMTNX4sLZ0Iz{kYm~a_wgT7bcS_5yXmom%8p@E2aDWg%OS0>}X*C!i}P#R$% zEo9k}i4>j})6M-rQqSe1VPE**{hnd_w!S!!NyVwX$|m>-pSoMqe3dBO9ZfBN{q7#< z^@z#A!nL#xni0+OybWlMI$G_#Dde8zxfxyX0%>Ze@z zIr|XjcKGt(BFEsr89rX2$C@p{y0c}G_YoUD{Wg1v3u`KR!8ML{6}@dgIN7z3UFq1e z_{a%~*S*Exgfbe>b#uKLa+ss#LsnDP6Z26ET*VNto=s4q*U&#u$+m(*`+Sw7|z=8sbD*ED+r z9&X9lP3V|hw)!ob6bC(Rw`nhU4paXvX8{^I)NUm?>;eU4?b!$(=avt`Kkjk~LSxy9 zOUhjb-`5`8zp~4mKm{sy9L;YB)EBWiHcd5cV;b%}?*a?V?VD~I59-|$6O6VBKMvYm znA|w*dEU)!>hI0uWCD4g_c!=gtJQZA*xf+ir6jkz=4KK~>14YU=O;quk$;8EKcGNE z-olA3pOepwI^CA9%ygK;v35qNJRP#FE}8VfAu%e!q@ka{H%$Bg~ns1|ZD6^i-D zClue%n`PacSMU=Aju*+p%&+XZ6oyu9Pt=5&udIV)U1pqLF<&t4_Id zy;|4(K|T=UR!wckqCYe;tlPQ9z;n)IY{C7P+j6?BqlogXgW)y+nRJ>ems~s+Apd_( zrm5VFjas;*%@Vuw%xT@{3j)#=Sld$r9_WB3g*}kFRk=fT^c2d%+cJHZC%oAZr zhHX=w1w71poi+;z+Pt9oc6zGZT%L^F@2PUw;b9}e(bUy<6EmC1ZG`a=TcMRlzsd(K zHs=n0-bS1$50+b6t;{dA_|P^J6V(=S+u!9FvMo?FAEwWHbf&0rNdKzWYJsUg+el10 zG5#A)vQGf?%cR9yh2VJH2Hq|Iz?~gP;<%%5q@$&+02(2}HV1@a6;8#f3lp-_)MR}; z2>o)uvkxI%oNV5&UqmzzICP6Wey0PKr+kC{;=doGHCQZ`sc+m%TRBMyjo$?>#^(Gk{Q^CzWwngki1h`qkm+e8e`F6yYaD8>Fd^UDtfe zti|h@cs(M1Z*G;u6kX;?nM;3c6==te(486 z5Rw83k`#JHE1p0E2+=X7*L7WJER9gUM2c#)aE0E-&U&~%MljLVmgyGtT5)8(#YVVL zV!v?d45UU)LqlU*$UsqQds&jUPi3o>U26E_y}rZfG+0CXGD-9J`g4C9$zI=i*iQ^uaPQr$had?LhqN7Ox`czKSq2(>R4@52Fs!xi8x#;pEb(} zr6pW6Vp%Z}MSkgSM+pU+9YvDsH^E-TLTqepy`hnj7!Za5j8Qy(C5`Ux1XTqE*Vf_k zK`zUWizz_Uuq3Tcw{_4&hRDTI4C-(CKnYqNt0mt0%SiEFJ*?M?LQi%kFDyROi$KWP z=}}F_g0kWLKds=-C6s(pHEU+L5AU&JFswxVm0-A-z!@hkP5otz0Q!RX@b>db|DI*ygjU*@zE~ zyL!7fE*^Y*9<>5U$Bq|t8oPm-Sgp5m$r(X+aBy(~g>lYCj76(3uX;ny&XQ zOCFBDtpB{ty1pa$E5UNVT~G)vQ1pnZA31V3Y$5Zm0)(LT?4D${lBH|w>oemJO=DMo zwEMw}!II&CFdJQ`9*@b?QkWP)9Y^NNH)IaY!90Mcv8bR-xvb{88^d(y>88BuZ~4p- zZ8MrJ$yZPF-{l1sd}s`T%B&>0=`Uzhqtbq7vYzm0qDU38SDpGIA57nRU(%};&4EIy zfS&jo|H~lq$4P8X$ZIq`1TEGTN|R06jqa7{*Q1QYut&jfp+h)AFUP2Zc>6+Q+I6Tm zM)_gr4A)ky-hEc*zC9#!T@8Jhfiz!ZH+XhIo3_QOd*3@A29v(HEA4!Tx#pSfbUss1 z9CL$YCq3`E$fK@A7&UmYJKYA4hW{?aP$O@U=Yg~40q7p6UA^c~fLVNfv15pN@DSJk z3%G4TZGH2C=JUmH=lg2F@59=HYKH_Ie^Y(T?!Dop1lJCTY^RLAq;#Jyx}EfE(LL{T9?g}sW_0~<f;0PP zioyzyRmBgw0Sa)#)UVfRu+o$|^!6kM!e0DbQ>1t1z;|2jUf1YE5kPq>AKwo3ZD2dxmIeVGoMyGrA3|Zk_Jn=Dfqrp5g-3+mr-J zu0iK=zMC?sW>ewjFoVqj$P~nyJX}Ue?{1qyOMy=O6Qo+*S2-yTCV5N^&Tl#H?oKo> z_Qo}a;Wws_7k}6S&h{V-YlWGT`!JR3;`Rf_MtreKHB>#c`JqBy+FIoN8f$+)k#!hP zD)-q#5%Uin8;ztdZ=sNFFpDX?EY0LdgxYtAvq7m^@Y;qlE83nB@@DG5&AZc#A9oG@ zx@@eB6xBb4!X>yv$Y$QX`s2^fgubG7@LjOf0Lv7TCR1@D?l5n8QaopUcnpHt)HCeY zW)KM_qAd+v?>(p+F-ZN~mY&{WcfX#U3Or!m)a%*T`}?6I=V(%Gr3Yiy02f24im zNAXMf6e^El>MBJGZ6QP+hJRr+bMS{9fWH2qpx? zG)L8wddmmBEqq}dj{C4TjSrOF7g`vO{*uh4oXtK#|HT*p_nOk6b$EW~A@Hwd511IAfmcat`_pc4v7#*>fFoDB) zLZz42k)8*YvD~&2&UYR}&_f$#*zWmxsK1-ROHhGgaTQRkH_I3&GbGpa&IK>HOQC#4nar_4`dZ$C#f5o&hX^seBl~ ztP}Hyk89ANM=iA<_bY-`zn1?ObpH>6OVvg7FK2cGv2x3>o0 z|MeSY0Iu!XNLT!C6!ZVaHD2(%sok3m$Cy7wNZ;tXU+`Vme-zk*e*RXR4tW~-{LfFU zU=u2wfMV!S5m=7Hyl3YL_~9pR7)iN?^m-bcVCC1XG0&Zb$3Nv=B_H}g_Z0(*e?XME zp!WQ0lp%g%I||bFwo%jf)ER$%i=`f67|E?*x4}_s{NH0jfsqv3LL_6lx&QTxD@m%p zS?ob&A| z$Qulmx0aScF~UGW5Ncc@yfQ1Q7wbqo421m5uJ7R5%%=|SO$szFbKFaHxHquU zn^)**H4l%AL-BrTs6RLVsa}}CF8j?RBcy@G9)npB6h$KbM}EMv!`T=?WxyKSs|^Vo zNv(q%flSa&Khqg^=lrgqkVEcVLE9cHW1s^E7G=&NzYeX?#+)wA10 z^SfOLXm8F0=mw>JdV@@d5jrJ8G*Ft8>@ia`Uug=tX%lL$2IBTv&-)W!E}+LWG$|)a zn!Ov9N9VOi#&nY7{WOc^!n@PF=Ugf2PzB;Arlb5Lx56+&_Ng}_@3qBo7)qT_HX%11 z>VLJUj1QHR%W~W0&{O3QaD9*UNaB$D>T^_SA_=?@uuE5DkXGcU*edvC{7Jh)g#r}u zW9j<%mC`6xvd|+%QIJt^S~Vp;{L(f5@et_FeWI_MT-w80qEca`ogqTB?P1B8jL=>X zCH2nm?)uDr4-lSYOD1qm106)`4|r0W37Ks&3#v^grB-6d(xRTRWxGVM3DHjL(Q(4Z z^Hgd8JRiJ1+cV{IIWGY!uM}_k)0mXgbMaQN=OF0N$nI#rBL*ztS7SK}G``5KNUP`> zRB~+Q$ow(3YJ7?Oq9n+ECFt{t?|dKR(95YT{7BI&h!urwbaA@7ZKa?IVv)^2j%Mis z=& z6)yHW*~?Cr{T9&x>=1dWZ|NrMdNiC-5M1o_Oa_sj%+=fxx@KFUw#UOBB^tOAhq ztJd*w5`noy1@P~5x3MhXb}3=oLRjGfDlFF6Wd5t;{8c97CP4f~sF~i^%A_}5pZXi<%BGtb{`)RUn!A)-oSV+JVKF{2(e&!- zioRO0zRKKuZ^qs#oUVMm7s4v?lSc~joHOw97kIRDD6dRA7Ta<2IbQ^m_zI}8zHj?W zBTq#xtHq2Yj(}yykF}p6`$6wVnF0#A4ru?}CRSX%+qc-!--x8V2oph{yzpg|FQ^yu&lTcmDNGhT3f>Pc*gKk$O$=^3{Xu zf=03Z>9EN3WkE5Ge9g+z?X8AGCtT;JahAMwtm2UX>NQd6L(MR$fyVg2FT>b@#osu8mdNrVL>*~g*vQY$HS z1uEF7l@9n>*I>3Yo@V|1W23w`a28p8+ko1^BOm^lm<)Ki3pAYL5>OG z3s#w2iF8)P?<9UK|Ca9^9%3p`#K0+80oBMInF{Zfjs@8Ld8m)*n$)IZ*ZRX0t1s`i+DgCGeZ) z;D*sR*yu;T6$=R>;E!r;DS%>(gi$pb2>#hB!^@sUHN{)TA4*SK!RKTHgC%f36uZQA zlgd5p-th_2Uc7e?b(>A?f8kz3wr-hp>4_>6nhMGvQ;tg|7xG8MU!~ z;g0yNJB?;d^N~mB2w4Q99*ccBSSL=kS2b$2#=t!~ra&?7X6kc+ zegCfke_qgP&jX^An@)`u?Tb!XEH8HrD@|r>VN}}d5`NLCuq0Trh1cv2N=Ah}g0Gp^ zW3pDD^jV3U+qOR;YCTA9O-;Dr;-)oqG;|M7~!Z?)7aMEhhip#g7l;r(2fwWEiNb zDctU6v~!TTEJg-~!Svzpm>A?5SM7G#PdBKSKVRxsKa`26WVtK`=eg2O{+jLhp9IJ6 zAYd%$EiM8XwJU;6W>j{nmbKyUPYT(Bh^@ErLp|M)DQ3oy1~7^5Kdm+~VoX?!KM|=V z^!~6pBasADsOcXYGC9T~fA&oYCh@lp%e!GV=)*&hbTx&}*V$Lzdb?fl*E?X(04QpI z8!I26R(DW0T6MJlu08VM$*%jAi<+k*lYit>xEp)bIPg-RjWu|aFdw~i(rCfJ%a37{ z^i2BO(KPEdJszBX92At&rcj7 zgmzj6J@mb?ykCo`q_LB)OOfXPe%Hb%pccf5{9uyYg{^%_OsHzsibvsDoRbMDfE1VR z&)2^tRN_3ReGR8pbGVx7{OErF>i(FO_P8aRoWQMxI_)Ye7OEK!a$npg_t)V*-P6Ey z8vMCQ5r9x$QJwH~1`srl$n;%*63Knv5^o>nJs*yANScfdVcr9jgczv`?W0LbYFN33q=@LZLi z^$eo5BC{C*8u0V|kPEYwJIo@g9YQg>RD$Ob5E(lDXO~a;EwEUEC|iujXfFwudztGq>l(i)X)2j|!q~rA82XkLiCcn~Wq-CP890lqZdz z@e84&8Rk2f?XWm@6>&y#BVt&xsK$`eO( zUxW_9-5VOL{yK-fpkJDZv!(9!<^dnYpLfa27)Ck+1tCi#R?d?%iL!;)W*u^CwI=KB z{wi-u7eTtmAocH23 z7p;+de|1&wu#mt7lZAPwZClqm$xPVK&e9(~-WBlbrPPg^IMP?uMb`yX)(uLW0rUM( zY56+u%l3C*>M=a#@1Ay2rNp5zj`oTmBqj9fTxsVCkY%#zlENujDMuSzTbg>+s(MYs zwrs=kf|}v8|0!GQ5mwucx2H>PQ-c2<{2;{;xL_G@>zHUdA#E?f!7-n}u#K=vvdAYc zWXMpg?Nh3c^Ve7xgwE65vo`BHDru!#1!M&|dfUFPE!Dv&aTBZydXl~b-1Hcd7e&@7 z;{|40_jz>#1gki{H_&g=j>cjuDN+49(JYnJm8@rB8EZ=rJndv4u<8iPt_!vpDL&$~ zUvPDl+quN|LEf^@J14q-&qoabrnN}8pqnSC=^OS3=~uxa^k6zHfaq5{mfk?%C@#Ui0wb?ED#u8OXwvB=SaK72l?GqVwHlDM0M3gZMv{3Gym}4mqWaus zc%+k#5k!H@;zMShXR&x;x04V1LOiXDKTz| z=*Qn8Jpg?b`aI_Q&inEM5OBZnh|X`o@GH;=NHS_0sQJxb%8Bep8Y`8P3fxKR zrO?nm(dX1{z~#X4{!MHAytg7aIgjo6<&c>LXyI{|Wp<@SMEShvv-=I_DzYS9MYC85 z%0ss@JMiyx=+H_xN)c+ zG)vA(Nx3!hs|%D$J&Qz!FB55%8}158lQY5dduZ+2i<{GFSM%Po+E}U?KkJ{~NEvAJ zT+(BWHB#C8;9HL`Jt=wr7uU@C$Tf#mc;IB-mn)1xsq&RmvmF&5(Mjgc8?l}U*V z%)}=1Wqc>5Tmk;l`!IYqL7ZxAcv_N1z9?4Xa?$puRp@eSH6)8nA zAETrA3BT0J0u{Ez0KG9B{rw8qAofc(%%*I>JDtsB*D!*s6w2h1I1QItnDS48&zTu5 z&kswz_&2MT#gmH-9`h~){~QJBPnBrztI)kb1_`2LOgYNDGM#3g)M1nTE{5vzT1Bx}ijU;DoD7m5*|T0ux!;p5B& z3W{xNCyNjB1OiYM!xwu)fdsm^-==Zub1c>GdlA6TaJip6G+kvs#xMS;gxkl$VDaBQ zMxyHM)fGk`aBGX0+47fu0n=f{lUZAaPKCP__a>j;N;8WI9x2AKT?c_=29G^n zOlZmsac#KO6G5Oog4YQc4~L`i`k(r!-VF_D;xnb^Y>pR&(p!My(i z)4h5Os9w07ll5Yh7-c4?b-z;@3y=H>yC)T&o7RM- zosRbW8fjAJAn+WIsdDc`1udi!Vy^7_Y*Dk!9xQZmpYjh}z|1xY(w5X^h*ji9Djy7TWQ0Am^n3^aByN*4mFAms;Q4xcdvQYR_T~Mz`bFZ)CcUvm=VPPN z^|h}}-vL*fhrYFqC%BIydg#JoP}Tu1?#L+IdOneq`|@!^{$nFV1YC=*M!;#dytwc%zY8_=HG;oeR`#9P})6E(OhdMyv#ewf&CX zAgHK;URVe1=cBJ6%l{1?t%b`0Ck)W9wXB@`k-%cst?K^=^<*?F}(sEOyaR_+YVf}t3u6a*=mk=u&yUX)!sL~#Wk%I3l|KIJX*iMrMeG_ z!AO-9bZY9_ZuTSBEx4V~)vs?PnzdV5z7l0G`Je&k^c<7n#ZDQH_^#k&bK6TFofQQN z(yU4Uu?;9Bd-2ZnC6l|>)Z}GSs92e%+2#p{l|CC9xz*dUU^BT4bNV}A5m=ngi1%O?F_8YxiBB}sz~U5zaeW1 zLxO&@faIjOn3#!6w^k!I2m*h`1th?WP!o`jPkieBk1>h!vK4Q~I_Bl90}?4fZ}*$s zejBR-B2;tSFD+H!O+*75fMpA2VgOUU^>?N5b5oRPNA*JTY3mB^cn6{1!7h^T)9vtP zno|zn0P%2!^W#QU2$b2h;;1W2oQB0Tuql+>;vTBt_p?z_=FBs z%3r25u%$sd(ef!&a!184(jk$7i`Ij!i~>sK#QwvTey(-JY9hkrCYi0+p8P2baDRTO z=*M{9x=l(1OpoaI_TZaU`#8O#_ntYgkFL1PnT`n^b@1)+Q*MDBJ!dr=A4v7DhQwM_tDs$%X>AA1F3 zg7sX;fB?iBNHSyQd@<$m_!2W}Go!wd?zpV8=wZ4;6qxNGO$j(|j3mu-n zybN|i>}_Z2Jke@s;n>wlrK!&m+*RZ5g6n?S&yR-Frp1j0j|B4dcDl_1+ve1;2%)jW z(ECu~T|fY)3@Cl(GOBeUZGacAq1O-?d{*{A6#(owo8My&AEUlCf3Y>_=cLf}RH?U4 z^dsRFA~pI}4(bEhDEZ0e41`{V|OHjZ5ir^`&A(7!JH%uTu~r&934 zGx&Z3D*%@?RH@ova~E@qZTGRrPivAbD%XSe;r@>gYH1)Er&9NLKKCzgFwmGLRNI@g z3|Zhqas58LDj@c8DBpfIoU)hT)%LM}-N5pG(~g4no$2sgdVd0+d5_PMFWJ~@7)7X` z?Fnt<>}zNtCvvCEps7W~FEw!yU4vn@U_slZKRwoWBq7LOdP_yiIfK_fm*Z{t^W)+E zKdilFR9xG(Exbcu0|h|>g@zy@K&o&F?ivVA;qLCP!3hKj9$bS{xCeq0++Bh@1b6rr z=ic*PJ8yITeXZ4xgw|@+TC--2IYuA7_t93Ty74pVYhtY;sc3mG9?0b}1(){PHiAMR zVs%;gVq4Uo86Xf)e1GXpIJ(d2<{pIhG+9aujb*>lIc{O76<^1`0BGJ<(u**A9PhBD z1E$700O!|-zfsNU$)A%u*}nj+0hS4dI60=pbf$J*xQbx<4!;WYr+nuv43+p|Q-xez zk6n->M;E^0GiWD@jK@Z0Nw7sUPw#JPOZvJuA&-Cgi%k#L8-#DOslCQTR`1rD_200w z)9G*8 z;GEuIL>elSp*na9Um$U>JoXgI0A%^jwV`+vs{u=JOA;hQFWYh40o`bB!%9F7Lr|sp zG4@`@2d@Dp_Uh#OHtkdS8yNzd3~)e&zbQ#a5|)eO^Vt;DIGa4_F`F3GAJAA9C6nar zjw786CRU;0x@yBgg0u|EESiWwU5sclsol%j%Pkt;hGLoHf2L50zxV7Bc^Vo#N0IQ# z=dE$7VJ4BAH^TarJkJ(KQ`3Pj;eKEtH~#&WYsq}bqa}Q5&#q~RUS<_UE)I@vTy^s_ zHgM39PChRL1R(u^koY)szMIWL`lp^l?%@%Acwo=}%8r6aiz12Lf#Ut`Z&)g_`*j>Q zJJ)h(i%0Kx!Nk>767CddE=5IegoW7U@^Aj_5ji*Xe0YvlkPwD6d=jl1r zPj=KE|0wYGv9C(W_~J>78i-2y+>aS#M0FbFQ?~=4TXG)|r1>`E(tCJbey&4YZMwjS zo=qh*cPWWRWcx47Dv^vy6jrk%2vImuB#QHI#V7GU;ImCV5tDLUMNMG9?}Z=$`eayt zM7O%6GCrtBQ);p;@=N@vf2t(@gklKbb^uWe5oo^LcRXF({EHTr(*X@aQ)p87ulGa* z;EJO-V*2NIoSYt9sqfo;9qK!mtjgz~?K~O8v3&m)`Cl&Av&@n?l}y|J;d0duR@$-- zwPl99Rs3-Aa>TSpL9R;SNMGaOo;CSqe1QtP$hsvm?MdbpFs=b;9b}PJ^5cP2ei@E7 zq+dJC#SK;~F)gT|ZvF&iGQ={XEvM(cnY3Sf_r6IQ|K^WQ0%5B84Ycy^=uo8PDZrHI z4N%#I9~H$N4HhW%f^ghyHF9ZDXCSE`xohLbPHaJnjed6!B9<^PdZk{=k11u@s{|_z zCQ^MBc|vIX(i)ofef90vou`-0cju8@&FlR_|9z?oPiQo`RJ=fg5Yatusxk_(VVy4J zOM7}+F>JAy?>GSX&1_bV5sj+GE|kjR$l`t+9&FUOs(bNo9NnYFIQlm+bCzxj#^4 zVb>V`dI_*7y`AFi9RQXVhuQFVS~XRK1<)XLQNR`?`VH;N1ymuS zE1~EOJKlnlqp2Nb7KrJEAAtxRNQE4v#nUEl;W8g-x!<2a_C?fO^kQ%}#=gW7dA z3#y~uufrdn_^qDvKYpQpO{1pGWPwHAch~AI&0ZxQ7YFa1cBCe}FDUIb-jZp)l~Rxx zjA&oCkk#Ob$j#(4I<8#}jc}Z=uconXt?GP+_1)Fib)C&s2(K~PR$qS5PY(Q9SG?Pp zDNH1pSQzZKlvsDN`815o`Wiv{W0N`0?|<{GhRKD=NCGV%L(%m!bmUj8b^g_+aVGWU zA!sCDm~Sy3bPN6ZKthU$`pThnGUfKmz5v1z5}0>l>xa977-MVGTD-2VMG{dgLSe@3 z0-mc_*GTOVO+|~8`!730og6qxl*!mo+$B zqb|Rjiav^p6EFp}OM)@qeBc%-LKH^CMj((B`q`!;n|%PHKpO}|cE_M)IE10pSG37A zWjV(MoPfCEJ2MSO7Qo>fstJQ7R)Srb>vTDlPlt+e9$%`r+HCKiN8uEbfjE~zOU^yI zD5`bv!spOep{l4te}7$_r@$)CT1Jcrd8;omiedDntH>6`9EJ+Ps!W^<^&=crt&a|H z2&*qqc*`M}s2@RVu7QsE#ef$6uC69ggg1~!ZGvtfnY~t6JiLNli|dUclRnT`tf_a{ zoQDSsbjR`62uQ{32@crw0goJ6aSUq&LuAM(!K(dLGjaF;a7Fih9OH%S(TMiIi z^wjLnPW5EpiQ4~eHv1CDjj^%5fut|lEt6U-y*p`5-4=TLx^|2#y6l4EsvD~?N-h-v zEJCyK)4mONtq=<`UX@`~Pa{|*;I%@S`NV-?VbqEV}VD0t>5BVD)r_wIPPL4or_P>V^wUa*>sOoSI;M_Br8=xU6l zcFvZgx)(Co$>x|3fW2MDgPtwLcIsKK}{$j%R7RMpw}fp>5#Qmi}8a0}*L zYXi_294#8&vg|q>L1L9l)Mvm6I_CBD_15RJ)w_FFA7Zd}Eql@oY%n#bDasAJ1O!hKN&kM zx*}_zWBd^r0|Y?RCquF|fusyo2MY~z^5UdM*%*Y|llSMf&1Q<)Df$4cSL=&RVt94+ zLlgKFaqpEj9@botE0BcPcCJQnPYzx#x@av;mv_(kWAa)8R5X_huFp?lol5CI^|ixN zTn^qCNXA??W;|v*v$eRM3gsgU@7OV0tFxDZgvgRpE9BAzbKzi!ftdrMNO?a8vHpDx zkf34ZrimrmS7XX9UU!;2; zfBwPd)v(|^M;E_TlwdJ;vexnA<0`;SozXdH;3lZhZ52v5+_~N@btMF2=WkiP3?&bqPv{&J)ANV> znd5~&J;~Sy`~*;Uo^Cjf(>`{Y`YL;iM&#G1E%FLk zjdpOeaf-46vvA_5x$=du(%aBUI@n%3gM9D+@2g@}6L4+aiDQGTzA)sphd#^`d|9U{ z?KHC#4jyYNbAI`4w*HkcT9JbL#R17jgM3{zqnQdL`fixEwsygRpC3YkL0EV?y_WJp z>8EsBb=>~lIXL_WvsF^#;gnCUE1OTNpYBKJz^w5!eOwoTQ?z#EhpWhzncFM0z4l1H zHufZwlcUtw`~~Wqr}~BeewfiBri-zQ7M~y|$4p1LFB#}etR>8CU{c9npAkTcWx;J9 z##sg-lueRtW`LIWl`8s`6!mseZwL&xa6ZUuvC^&!DmUHc+b~v}64J@WLLMkrvDH;5 zxg7__sIy=1Wls2gqVlG|M~BjRi2et;_EjLc$9mjev)}EluBx+FXDC?krWpdjzvdVB zXEx3UoGqXrX3CMFfoiuCJdYRT!I6CDbxg11pRUL@P~JEv_`roIbO9sy1xZ6BY@F_?s!xvaUs*#^iUOe~8~gdRL1cME zDwnR{VM)D%wh{19?!<_`L0Nya^ggUvxG?!JDyY4*hK9;(4?@@AAYo6TEgip7Xak%~ zMn2Zw58P48dac+Wi9{WrfD(2X!YBk%vwJUpT1d2?+ZT@n_gcdaMn2o?1?07;_8LaD ziaf^)iXU$m3$m$ijUrLW)u!|ex)7yj{HC&Kk9MFscan@$jm(~xjEx7g7JGmxdL@$q zhJzNJdR3Y8{;YamJe_|gz#ywOgEyPw13nz*iykcg=l&Q(SmRIAWAphQ^FbJ?_(I9g zd8IUKaBl!;u;{$~oq)XV@w|MRZd^cE=-|5`40oBr*tnmfV201!@=$pp6&Qk*-R7hu zV^b78ExvjPA4d(xB2L3_gsmV$e-wE@978&VPppm%=ei;H^;Y(+h6^xvrSb0i_C%`s ziv3ngitj8%=HrIZvca!KCiPuiY-miP;YV6dYU?H5Fb~SZ^mhSdEkVv#9g zBWQ(`mC95e8!em2j|RyN&^MNvqO5wz|5+aNmdR+-dG?;l@dBMKr>>LmAo7hL2`c$G zr6dO)@>ClOzRYD>XVj|&RHHcEzCVrJ)-7PSl7@KBqOvlSW#2{w^3PYf1m8Ck)IvnU>{=5H(x`voF>4&u6T}yFoGo4U8~v|fYx5G%vEOHboBS` ztkEHl<~^&u+n>x}z?a#r&1Mw#L~SaP@i&S{gY&Ml(~II&k(kiZlNlnL+M1euo&+h; z&3y|^Rw4(#{^l;WYHtuV`ueW>N+c~&yNt&>j%*615N@Wm=1^5uWX-Jls7i{uEIMlQ zOq8wwThjBLAdjhFPV!>xP%$P3Py!xq8SVrFL=US?cL)?{U~3?1bw?b@`Rp@=su3u# zMy=9VBTt5;#G}?a_dE09R5<&BrB;Ju&1+uwI=L?DbkE+;4);HY_-^L;v>N&w1aFU1 z6}*>ftaPRwhImaLZl}EHJx6UW;D%=hjVvh+MdFcZU2A{5XHZ)$TW^t^+XINLTK$l` zE5Uepvrt=0rVCgw1~MRWZA{g>rRy(px*>6yw!rFFdU|uj3&hxKGsV)b=r5V$DG2L? z4;FEV#AaKk?THjn9xJyRAZ4OP6olXlNsxk1;EJZ8?C@n@>vjQUMOJmYlrRbr{I=(M zEuhv=(L)&M*W&h1zpLKB7xw#x%+_NJybJ3og~cb3WNJV*kHIs%9zI)RmApS+&(i3T z?zB6w$P5c(`k2-(`2T3un&Gq_FN6$9VG^ z1W1{o()B6$M#kqQ(!B}mzLCO8Qh`&NY8%@?xs7|NnZId5jC)X>nQ)SLg zu!FjMxIVs2R9?O;XKJs*OZi11;lvM%%Rl|3q3a!j4GkcxlP}^HB2DHLmuDx7PfqNniS{SCIImm*M0qjJ)Ux8ug~uI*kP5vW=w;o!C7)~?3@m7#^c2t`5QzGC zk(Q(tFjC4Lo2Q(gLg2$Wo7|Hz02^ysk&u}{j}Yd^{G?%$qe#eq)lwoXihlM6!q}jlQdRfJH|e8rrZq2 zp9Jk6VeZ36;QfYr810F@`>*ox|BowV{5pKEx`=5Ly+5tSwEw_3P8UG@{?AUTYPnnw zTU~?9lZYn8a1;RIoA>DCy*!K$QjOy`PIP1R z8G-|M#V>cxZZ;0C-Zws6^des?D$`VDyQ8a0dvdph11fY_Hpi|Bli1(iGZpqF*VPKK zgp_IYe&tMU^uyljp?PdT!@8pJcD>5N>kYHKuJ?5Qmm|5ZJ&%NQ9Q&CUodToMM>$?Y zYB_jDSLw-?Mg9w*Ut#WV&RhJetaZh;=Oqf*P(-&k^>>pW0ys3|#l^N^ZyNzlXaMbO zMdSLzrTcDp`Bws&%SieXtgiNsb;z=WShvs?ITBq8xnC|_ENzXE?1GVn@kcAA!ICi< z?uiJ#9U8_Db9A+f#>wxk3da*5HusMPM@x4HE|%-PFz12lshR7uU1+tn7UscZNwSvr z%-hLoDSVH$k?wtdSswW*c*f=vhy(C@1X?kSg-ImS1&ZR28KD(0vhcmh;QS6922&6P z43ZMC3NieZrN34yDOh~mk!MSgEGgtDnM=ka7!tZ6R*cxIl=u=qRms$#@Ir!i@1u%L zhY%g^3QsZGNLU+~N|m5Zh2vFa1od5;@(*BEF2#J==$Y~%`*`c#BVZC7!PUWA;C161 zhX?OXTFP>BxLL*=szD*ZByx>PmP7NSjB-uwq3`ODfIIRL)#Qqqyw=^+ilXT*kN#P}sp);bk zqUwVW)JFA&-gmwSNf(HWIv6g;(^E<+l52jOPL;}4#I0m}*?!Kg?QmX-t)Bl>kb``-@wh!!ter z>_?q#zFa{=NpswIO1Ll3{>VE{Ywl}s+O_=o*U;T#Jz=7q#8YpM0BCG*Q?qPE&xprI z)T{feRWS_i$yi6|0-I4{^RaMr1bc*DJZx19*-^uz^VpZPkXIog?SH^6u&D7sPvjvDO6lX8_qyf8^_U46BLzGB-B; zSpn=&)zYeMmKL?W0c>oKzftF@PPVDUW0)G7as}8`#lUn%fEFir@ppUh3kQVp90-ak zZYhndKf^z@MY11foB+-0aO(prd>`@eAbj1|OOd0I3&MDS>>*eitA3=g8E1E$B z-|Z+z(mu8pAYH&dAUFlQ4KiTb9WRI@-juniJOi!qC9!mq>P$OU zImPWPIX>l9Kt+zjS^&AL8wAh4d#hJ6&h@H1!&tDc&0WGT&hab&r#%|gwVcclmfJz* zNy4Ka;Nbem{d~)Q=-07~dql9KTxXF0&^Bj{n=W39aOB&1#QOh@UN&i^{%Fu=b$^TG zaq3=spSVBgGTj!4*7vGitRcFm$tHbq^1HM~!t=0Id^&B-gOmy`_wzkHz@)8)vW>~a z=g+fK9v$#JZ_*GElYZU$#SY-RSX~>Q{C+k|7H=j`D#6>V`Q7o(SYz$_=B7qMsg~t# zJY9|Jua_F3Zn&8hXj4Oi5+*dmnzfzbht5(M$I^ufHh)B$?2YLvoMOCzu`5F#u-a zeqY)=X1+C?Df6))`Z+W^jxte|gyPwAgm-w1+F0&*^ro$BFQ#yXk+r7DZhiyeI5DVe zX=3dHnXFrVMH$s81VxX7#*`@?uMJBPt5TB2y8c$p+C5jspUilkW7(a3^P5S!gHU&E z^O-b?scUO-h25%H<8k59`4M%xVRe$0+xq%sy(0A->et;Yq7MRBUaEtF@*E`PJXbIRio_F(WuQ?;lSF-qGI`q-i&H|=cPFlEL z)-7l8yumX8yKuDG2x9KR2{d+^m8iyyrW0#S37xNq`i0arZJ z$cGz#59b-Uj~8FSujSIaP$;}BA}B%K+FGW-4tM_ky0(S9doB#u%23CY>gM}c%lbA-Gbt}(|LcEOgsrRlXweduxi_ZWU7z0^o*tD-gkd{Tz@mMy7#-9 z%=W;{)&=%}y!91J^964*t64>fD1}da<=}04{{@pq#hRkWT6wqSKoZ*|+=d^3aS(~q ze#JRMLxk&Kltv3dR~037C=$HH-ny&9dZ z$4%0G4!rr>S>6!=^yJH*dgpU!^tLUVk1ScOBY#Z(ioA61u0XU=uk)78RN}JBM@KtS zhGxn{4=(TE2bbF}pQWmnhda`)R4io7*Lxd)^nT&42JW+Oaem=*%aWM)PvM5Z7&UN; zKJ!}Tbl8|>48S}WIv~S)Xc$uINBK~|A#|^sXYUPNYn06B(&cF=qv2sHW^6OuZ^}fE z!>&lN4CHcw=HNhmqXZI~QnP|wMli^<#0yC1ybb(zNX$+^9=hl>Zl``RTpK1Ynbe50VkJ9|GT&^2&4j>6QprwDQ=Y8&X`JCs@8ES|-NrS-0yzEx9YqReR znGVNSBl-08`nRXxa0eEqS2lp*iuFhGon}|j);^P6u9h`cgf_j4gN1pNQkQL`ggMEz z4*jdk)yREdsGDD%lRt@{r<&*aJ6o?fYHd2z%W|!tCBU0{`#gqJL%R~N960XY{%2WK=JV(`@TvJ^8;ijiO?lfs z(Dzt}u)cuoJ-`{PPemY{1BAv&N}*O!6+(^%g8BMKBG4gNr(JXHXA4)wcedo4;BeK_ z@Ll<7$*lD72`H{{Vt0=ZsSjHyON@@|GkR7A$7t&}q3_w$7F}0c08rj%pZnf1FPzh| z3QcEsq9_kX`7#am?s=5vA_ESoD;ZYl?R(}F+pz&>iWDVUQt#8ROGZ*IznO*>0BzY94zUBE+;;k8tCZ(qS>PF}<-+V9(LAEQ$5x`p#y1m$T9TMC9p}!t zd*&x(c6%m3w!{{NDU;c?&z0zw{vk#i#W}cW3(9;N`9Q-QkfAC{CXrj-2sA$f=+(G) zK5)UKVo3<$DPf^5A6H~J`@-;YXgb|gQITB;(KG#D;zt@n1XIxr>ivj&9pWBsWcwEC zty|jyeO)^dSJ<>R2GVslqH*QpJsZZ~zTT7x|A7YD16)gcUp2x33g#@`L4PVcynp!- znqS~Q@@2l6?n%*c6akQ&33W2uvbRDv1dHO!h2PO!%uf4mk&F&UB`(H^njBo3FojX; zE6L~1X+5ZBFK!5l0NvwTza}kQ_~ixHCSWRfxon_$Q@?pT>ivg*sn%uDYidi((`S-4 zTQ~2Yn#eMr$6{@0DYda9)oJ6~WW7V)Z|TIJUW4=XfW!-e8y$^XLSTX4b^qzZM!jDG z7kC|HzQ`K8t1fG8C2v?Qm`Kk%r|$--4i zX{QPBAhz$mSvG$am7cD1P*>Gt5-v&*%(^LT6$N&Cp=e1SI6t#)j}$vLO!?c zqJv1vnW$`x`RvZ*r+vL~(AypDDcGeoE?kvk(;t&>-l89%QCyfC2vZD_JU^$eUG#2T zaPOmglukL-JUTjX*`;t_vcI#!x(rKE&pm4nflz0k0* zJ`$C07@=C5DIRHBUIW!#^9F%|+5ml8&@NVng(`;sIOGkavbgJ?sX6O2-~^o*6YuZq z^IzRTra$fVLE5YnN>nmJ16*xCR-}CrhNK83k_F649n1aO3*b8=Vx%o4=qt#&h*J2O zU8FC)FZV0e!En)%uo$)B&);O$j@vNbg|=1)GWAP|)W+e|+YXt)YH@Mb5*kGW?+^Gu z?>+F2(cTnCVwCT_6s1uIIMJ2Ky~X&rxYK~W5`87Z-1gZ!A(SF@0_*7?jR}AKkWF6% zV|WoW8e;#gNg58zkr=fuc#U_?=?YHQPf48Z2zEhdea8a-PE?c#dtu#4aYS8(j_~ z3C(!POrwY-KVRGreM91&=D#3_| zMedK4{4xY7hoiGe7&Qo+*%PY`?{ERU0-HaS>Z0@IEA6hQM^-l08k837(JzR27PhRr z3UBV+-%Ggj*pkT3Uri9TMZ7XPie8{EhWp%Ecvm(8g1&xWx`j&aY;WVTjN9hzPC{CA*L_JNGkoGL{=*0cA?N7bBG5J( zuEsx@C9$3^N#2}4rdFuCx(jTn+$)o88EWamv1>7ZBZiK-b5rPf`zuSghyCYy5zuP1 z9RiV9spz&=Q zAp$|f<>y&WG;0V^iCjA?I*Q<}{xI2Wmgy%h(XXh|(*;<1?wp#)Dn#`huf&}|?W+eZ zhw1MPx;$iPc4jJrU%Y1JP(7a6OsoBu^RCWHM-k4#9pTbVDWGc^sf*Eh6id$6;S@`4 z4z^Bv!J5woY^DJxe9P@oBN;4C$MJl!FDw}3hldZBo6Yf;qxV3WITs5sReqs(8Cj_$38#jk@3_eE=Dx|D`$Qt)2HKNKq z-y;@j60^8FezRs{=WtN3b=JbVcNsZksA}*2QXWX^V>!gn|ITAt+i64HyUia%0 z*p$omTYT=;{mLOe7yX$nVR4N{XKjg%?*qyEnZd6YEy4>~ZB0G|i7P}IAY9JbG)~;# zOlov>TsgJ@-aLm$eaty!Tz>jxQBQ!`;X#iT@U_y%h&!M`Y_YLDo>(?|9j<{*j{?{W zDH8O;P(~c)wT9PgvU+1bSR?KK`mEIaXU!hI8k8AiO)a=5*;5o##zE7MCAiiG5##Tm zoqEw3HdHL5hhQJ7f{uTJl(u)qcWWB4;4t)KMp_1)>%MN)ayY}c^o{_9j^`GrD)x@w zTwSbdsg$T&@wz**bCm(MA_pRMvjG3&+_Loaj>P5m*H*s1cOj#FXgC31KgkRl6VK6x zhBX_%9#>}-;pH5Ma}gEx>o_ZjQVbx*1( zi^g$Pnw>isoGy+`gp)h>x}f^9IYHC?n-m!-PZd!d3Agh!z?U*?xx5;hhXCm=onnSY zvwk4&)%e(iYxMUg4izzkSSF<;6kpY_4Ls2;%^rI?l3#(Yfh4Q?^?0p=cFR0f*>oxX zT!#+B00HELC}REh&%}9SJUwQ|S0fu7jPG$neX%y(#VJGCveysAROErd#w}KWu;ZJ2 zY!5xUmFHEQ+56YrL*;2&G=DVRufP(scM(>>TVJ&jd2TWBbu5ciJlqOFVW7&!=XN3C ztMDI#2kDmr1zP*l&30o{jVD7cGhvF~k86~UI^VuG-gG~9=`yG@=FwI#$5`^YWt*BF z8{)CR^{VKT2|ykMO1spD-KDxFWp7f^96+@=ipmCH5X;rI|jO-X)G8e>?z&adM%HL#zS_RBHSrCG9}Z&&$8ZTra|-pv$y>Wjq% zlQx37tpz|KdHl7ZqU#XWh?)#_ZtP5%k?9z^l5s>YUm?p6n^ zsow8XORkEg4cA0hP9qdQmK6rBHO*GLq!G}X!WimlyFf#10irL-p8e;`mzC-_A&;Si z+6z+(*WVh-y{9K@zl;roWwazY{o5reK4t7&lHRY9-fIG~ivU&;tl}ci4RgT(FZGey zR|-q~-5@FaD(e7aD}zk18>j;(gu*pfuMS)2V@LxY#d#dQ6@X4MQN9s)<=uobl)NL=FIm@G3FV!c7NWEGN18nspuno|x;c*yqTUlO z`vdqfemhx7A!fG<#fH6`Lz6&;zxWbC`bFQqrv))Hk!`D1ot{z8rV&zF)8 zf+KNp^WpbXZbfYIhu$QxRA-EuP9R2Vp|yV@ieh0TbV;g}>3%@CTh*;Pd*kBnRQVziB|iPy_dJ2A2=s+JQmSN2xGi|H z;oOu|U+Y^Yb{`ZR_NRMy=1sEqB^ehNbHEa%0KyY5Ic!84Z5ZMNM0G6N+i%yKfV!yp zPQpNWBJRtqQ+QmgxpbjofjQC-P_qw}Xh)HR8@vQuTukwNzpf`Ff5!+C=wVNpSSw}2 zdTKEbZ2@T->v2bM{=ZB9Ki@zs^jWCNdT6CNp8uzSI*}~>m&bBsItbh+6zaG&hG%b0 z6+7R4c~`o0ZdO{Oxia?qU_-f`QeSJPyHtUlACW;kiR;W{u0Q2J*X!TQ_YzpPI4r3F z3r9p+aI9z75BSQUZb^w{T7OK9^#UZ4_g;iqkt6=8H|z3K2^>MfwVU5i6}*jStC7rJ zJ)(JHsRR&i$e-b~dGPbFM}B;2ErA7=dyXR4RQQbHvj*k=^JDy<|N7p={nc4?cQ$Y` z|Kuk;ULeP-A4=Razj=b%>%s5J?eRu8NzP#+7ESs`#J_I&A<;zWgh&D7c=b}Aw=a1)&X$pOS)jQ% z{k*>4YtwEllIg!Zuv{uCaJ}l5P=Fun*P2m9e5Ud%&JuN_NG{h(PyR@<#p_wDD9+b}m@1Q_K7e*-|H*(a%PH;z2 z)DgvL$P|v;x@08&xhbQ^o#PI*7u-`)+3Q+ord~g7@YlrssD_?eYu^SN!K+%Cr?#2g z0C4%j4TgNyImJ|f?s+8`iHIiLwFo+CgP0PALDSV$&7L8sc>6YB7rNxaouOt9=X9gW z!sj>4j*J~p0`r1iBz$3()*`FK{H%oSkt~(nX5F;n>n*bxj=QiNx?1&GYq}}TI|j3v zirl8N$+_djo5SSlD_Aw+AkPW<_E=smBEmC5heOq0eM9WTD>sF+7j1d}474FR-&|o1 z+JFXPV6ChjGo~{PuW#P%q_@d#m1_$%bXN5PBV0fTA`m#PB^O71l&Grvm8&?{Q;iRt z=^1^9T5!3>hNu1-_S2Jy7!6Ndk8NgDZAX~^yF_Rw8s&u)aYuFwK{~r4(QAjy;$*H5 zSSGZDXvNqqoZ3L|&wSA1px!4clK)BsFyxg^)q#os)i#mg`+VT<3X2K*4rnvH(1Y5O z`5%EwAV5IW|zLk?d z-0dQ^i2|7VlFj$p@TMJ|bG!Zz{|Z}u$q}Ujt{5)2sB<{CaQ6&f(;_` zR;F~uJI(;<+d}6`;z7~!39Aa%hL z)WVFwGbaHuwpm-2y``4)@*1^j^J>fKvS*kvU%sGk&s_+NHS2du0!Du^Ri-0tjAq$_ zi|jTt6wr8hlv~TKe%BnFN;*jb;MJ{vdX7;hJzC&EO~~UKRluOt@DVuec1|;Y!(eco z7VlB*1vX+?c!a?$ zRW?i7*SnQF6L4y%N-675&rEe64+5UJ>n6}ajlVwI`30c8hRbb%74jv=l9JNN? zJ4IuV%t{$6#}^Mf(5h7^0j58PuZ??MyT5(=CRSIS>W}Yh+wan*Ag$Kz z#CWt?N@aVxARE{8FZVyvrygZDy8jH4a=ec*9mb2D&;*4li6YY0VVyJ4E7?v-QVB}> z{iMW-AD16SkypRCVI%X%R97s}eQp7TgQy@<1tGZkl zvJJr(Az)<-Xvf&7gc?LMkWvl{yON?Z`X*@0VQx!fAm>B67deNdaLmSgUXWRiqcg_PC_oA=+w%Qa;y1)5%(_qD*MI@lH#> z4q5GjbK@G2TXS^*7RITfU5oC!12S`{)Mg{j+k^ckdJzwys6D#(mY*|#7F_s| zmYmLf4MHRTQn{$OtO292A@>ce!_OkqdD~zjmytrXbqDgYj6~zpc27?FPxhfCVfZUq`~?hxi(Xlh%;%l>)Oav zV|?dG?`>uJUnw;>Zd0gexrt&ggS@KEjrw%%Z>cxG3s%Lw_l4QDfhRvPx-3mIU4KzG z{&1o}t7nHIbr9R@*7|JdBc-OE)#-yEr?%tBLp^Ed69*F;l|WyS`LTWT?GALN&dflm zDzpx3qo@dHRw{<?R#pt2OnR7d|@(uu|e^mCx zFBgsQD+o`8#z5~bkpWy$#eir*i?dF$4~_w`G2TKMTCxso9dgRb2Qf+fu5;>2{ zi#e8`0mr-&m28^+B2#g{4A-{E7}7G@!RICKo793SMVF3b>!w8>{1>}ZHc^p$_o{fb zsxhGzuD03hNp?E=~()^{{C zQE2qHm3DB?KfX6PKm}@iy>x#_aiSs8A`JwlyoSgXFN*cGy=XvWqUoJ>UCBD}`;Ry& zujU}v3Hq1|KoaVay1uDU*8Bcd=btI#L^Mzon4hX|45sEiWG`vV)>@c2Pn2rSDI8)r zE0qNSNi=#9kG9jH|IZvhC9!b?C?XW{;x`7lWN-mF-Zi<|H>wvMrEjg!^hrXL3tcnW zGn^cDGyb*@UXSnY7;ZBMCv<(Om-QabIDgNZa}Y?UQLR)|C86tqf{O(|K0Y=C2rxv{ z<~B`vB^otJ@44~a_`@qFL>KO&emA&`4X|^U=X&3rsrYiQ_+!q)naXx7&t+6>(t7n$0yCbZM@NC zccUu%&)k@d(~eE^SxwXFXrGMN_pW)rVdq)17B(xat72EA%%Q~{Wc*eQ@g*uiWyic~ z+kDvkpncHdQ#_qalqz~5FK}C|2BD>p{>CiIclle`f0+<=#NHe<9!irO{rHJ~n4zLnEM?fb@zL1#AEjZ& zELO&xZnYa&zqpi4laT4d1)G)ocw8B-M->8Y2Sin~H5!7BEoq>%>@#hrkzpo|<$Q-Y zTzXXgF+IMWD3^rZ)wYu5AlSUrsDm*?jV77vV`CNtVL+L}9yE>|0BR$#OZSL?$z~;V zNxBCzxwuHRMWnRWEB;w;Y;PM6n>ULQr3ysM0BYh5ZYd)so|bZ5#V%P{qjV#y>5Xg* z^<3dE^0GZ(pmQu>HL`X}uIm|$LGqDgWvH*=;qvqrjiEP#$ZlI*r*4g>@s&L;7mxO0yn8WHa0A>1ktl z({*9xVKlz85ju1MF z+Yol-#JP{@dw!v=S~V6?^{H3Piy(O`yl@nyD|+VRb5qnf_in0`*)n;!U1NPo2c!T-i-5s!_tx!qFW)%l_FUPVaBt37&N3d7f>HrYD*U5a1{^8*&JgP^s&P7AP?0r;BegEhIi-vm;SS zUb$U;P7136VBh>rEjH=WB`&Oh@f|l~`kaU1zfmPRX8E>j@ipk{z)I z6#oZl`1e2Z?;oM1W$xZlvK5nbr+8MI#s0UNZ*A<1BC+f+Pea+?WUR#Kh(d7ICF!J< zDn>71Wd+PDuyIpVXBCOU4`#9=`F>2wJzMk;Il=FKp}9Wo5M@zX<#8c2Km1t>IeRo6 zs8Ywfo+aW}^RJ(?kC4+(W{HLw{fd5DQ{U@wu~<&H#~{B0G!;=1T7;hW*i6-FOIZ6- zadY=|BuTQeLs_8m4&_$aVi8eNN_FHMXEZ3`vaFesmSN`_g+QrkYj2qSlO0;@tTUE1vwQdQ+$|$w>sYIuoJWCvP|^XtP*sSGQ%3AjY;HX zO}ieyeVNZT)Aw;Vo;c28KV3)X$`*cb?;U9mF0#!n^`mm5U@BF>E!`tNExbt=Uzd0z zUEmj({0zH_S1uzf=5G`6$VsIfg=9!%!(T)f0(A&~zs-Qa+E5!@N9 zm~E>IhKCs;)Z;7b^c4YhzAB|mv+D>&9uF|qH*b&L(Ab#Bf?O4Sq7eL9!S7pWapLUGu&cxecVNC3fQizq`w9_Yb`kB+y zv4?OV`_q19z}=lXr-5vxp*E-?Zo_Fgp09`gM%CZzz7ya6iXT3njGZ^z-I3C2X86?U zf&ExV&W_NT3Co93qZ9J$d45gamP|^@$7~}(_>??{#Ks_^W`jjb8-S8qAF2{)&I=w- zMtTn6L8^L9gJR0b+_e!n(kuk7k_$=N)=EsJrysYUG!m zo6#6&3%>?nq@rI$bzvcJ3N5|N<2gB1+&F0*lMUO3_ktF8qu)vm;O$HlLD?5v{RIT< z^MJG~`S;rNgU{)6atyQ2edZS9`CpkGx3CY)b`++R=^IZ+6KlL+W$B&?b4I}!`v%`n zcP12Nc-LbSYc3@-cfHQSJ#>KMV!t*#UPascgSHoNc-&vEu8=~nkUSPdYfWuE|B3tg z?#OKExE2EF-rGMWLO9-W0BH?Ijl9b0cpGu1R;kS?i?njPcEtzQO<09TT6@EX-j921nX;Qn65s z+CWiSb~-pzs?EDBz5*%E*?z3hYSR3IsAAV3hKUg z*v@XxB^_2l0vLfQPR4KDkQlY*YF9vOE&Th`!+z(BS3EUz4R}Mg)HEzm(YzkiFBe8H zqlqE;6IK!3XNoXcfNX?kw5VSCi%tN4U6!#>>xr`IAcdxz_&voB8eYIT(}OjL;>D~2 z6|&ykeneJ^TX#Dox8ie7w36z!m=4zSX$(61;|f>+;u>0QK?y|s*P#XJZ``=&6sm;g zU+*mhznfb+qU|~>Ks05qVE2Huf;JTPv$fBG462S#E!5@S`$9(#WvxmC(UFJgp6!q6 zEzNKlEp<>7^Dj{N)399B@K=K}!F8cKCxtPH$Eah9i9pyk-Hy4vwkX0F3ryGUPJ80^ z>3MWVm3jJcCyf{Djg!OZjg43M{WGHaBTEW`&dbt((wvg#TH5ASQ1eO+SIq&a!*asM zzRqBHUfSU|#ZIzy?vhpwsgR@4;~JW0IjCftkU^Pg!_j#;4C*>7MY)zV#Fn=U~0XBOI8Jcc3>hz~G8}v24`Ie&C6P0&< zvSZo6)U0{*@+YMi8`buRaCq4Ju>Cic`0Lr%COuAdJbA)M;<^XI+h2KAC7*l?gkS}tQVd_ZYQyjgqj&+Es)kv+B82UygSEz|M^8E|#r*V&^<*m{_E?4Uquw=Ddo4ImnLK0hb>(m+zFKw3`@znm}P<3T9)h)`w7{ z%wH@@Durgznz|CelTIO*Q{RFv*RLi|sS~4e^OQn?d&|J~bAbZRPR6g+Ca3KgDti5K zj}OhDMYV&tZ+*WT(2cwu@MpiujPf0Hn>{@$V=O*wKbcjRx0+OY%yJK1%4W18@7;NY zQRl7CIfW~|YMCU(@5jeA%B-hP{KZwD545Ds1qb1w?W+3A#V9}FSf&dSL>u~nDPBDo z_fy~%{h#@PC;AZ5ig5Jdsim)arPCMX%Cvmbb_Upo4B6G{j=Z5{j8M_6S!zf8-?{2W zFJM^W?&~h+6z!V<7y=W4RcrCI;+wKT;v(%KNl8vy zQ_M&All21v6kQpy6$met<+H{W^H<~@b@NTCAJ1Ng2UL zU^mHasYX@9wDeSql&|-ssv@}Wjm_{0_E&9C(R58SWS&hU1)iR*y^*@!!)^E{2#8|i zhyVq(DkemM{$*x%L03#vT#n}c;=EF(zq1W5yQi7oBjd&krDxo}uwjzH;g7~rUBL(= z!nBVXZ#y1|r#ujPzW{0BjJ%3t=)Hul7)YTnz-hax z#U&0&1Ap<=Fd3)ue0ux zBtgq&q&rdwZ<)TDyu5~UTgrO@X7}>@l^clK!zEM_eate4`M)g3-+7NVe&#4>i=$X~crDuf83C}BI8FbqtX`Gs93?Fd=0`;_;CO=&RbvNQO+~E$_n2M<0vMuiRr#R8H)vY znPVixUX6T1J7=jKTBU_Lawz`HuC;Wpgjx0;9M-p(<8P|el=LT6G;M+K!X z`QCNZTivkgR%5}6k$i1lKZ|mczE3Khw@k{5v?}wRl8d)a3!GYN=>E7&e9nEr(S7aG z_X0l;)>F4|Xl(wfz$^q>nd0k$;Vgphz(5Bn7J^EWDK_USExlMTC<%KJ05uH4xFc@m zx32$S@o70aPgvXqjQ`m=`f#JtG^SQnzG+7?2T9)(D$(7WSAKFwLc!0Jc|#8dN<;vm z+x`8Dmn$wp!pvO+c`jL_D)~ys4Pwz)`)ma-A@AT>_O}a5^m&bc)Y6ARv@i7yAa4m{ z!*wfbh8)FDm~ws9l;jbrZQS?NGV7>ro7~uMF<{U9#RbR4)Mc6lR@|dv{9dMEPf4b)7hO6?J2_QJhV0E5uVz z*Y~`FJQ2QF{HFY52Mor1VP_l!xJEHleRG;}1E2XW{-Cu#v$|>kk4bFPd<3qdr=?ET zsQR1Zj9Lc5VsFOL*wU&Yy9v`}3qe+dtrp$rP4O<=H?TV2C79@!(jba?VSZSfcd<@= z*H0~*NHsPsQnFZtUA?aRDue5fzG}mhTOwziwP4Jt{NxWsVTSFdQ(ZX`s1%ieYH`Ct zdiFW6^@=7CIgwTn*{rr7O*Cx}d9pG16ockdysoE&uFDRCO4CM}tg+~&XSVx3?-(*G zUYC_>qMG0FG(gE9J&Xbr4ZlmcgOeJ~O^r7YPMezc`!IO-3*g&b{bLck>k_zzcd;Ov zOtghlZ;@VcMP^`<0L2v!2SFP|89+etO&r(PKanWfc2t>t6+bZcFo+wVBWdE>|?p&-{${Q6( z?Rh^t9P-Bp6C8&;^x%thSNSK;d1nqm6?G3a7Gl$ zs{7>(d4C^x8{{i(NM?j(J^oZ=26F zB&KbuAAc5T<{zNiN&c}^yQ0U*9{t?P-|vcyG=m(ayu;zZXbZG>YCrT2s-K58%wgdJ z;m{YW03u(bP-=gx*wMa03n_!j5ZnSY3}$2jnwn_((l;!(VP9Nv(gn4|xefA0ss)k? zW}E^TF>B%L21N|ELWq(b?kJ3UpW~*v9vy4-@DTK74|}Lzz&hSOyLfMyTu_Y6{&cgR z2w-tT$?8oNi&4c^85mii0^E{(+<`A1)Owo1kEj3kvuYr?h|_350x1KpfGHx#DpZI7KE#R>7_;X2fsnJ&K1$hA;4yn2^1R+!3+=_+obZ~vW5z&0nG2FTh zB;;exq*1~iCkcG*Ylc@uIiJ_GAjCz@ENqNJ_074_;+6?ZXm4xW5yytx-r@0$s-l13 z(omDtcPdR3$&6kt3gH$P^YD%H(CnzAi!BK`zO8+6&x^h`SQ~rT+M0TJs)nWwL>=EG zIuo_7sYlrBELPvTBM=c477HecGR#eNhe0(;hClZ>8s@O!PEhm&!L0_Z8MhUy@?yu@ ziu2gS=Dq%Ut~N*-{+%Yl?K-U)&ppTTSkQZ+HWBBvw1IEv)kPPGUDyfwtk;DukMHQd zMza1x_=)ULifTtb9(H+YJ6-^U8(B3!LF;JG_^k!q#@!)2N$q4|kGDjEE4_(5qMNtquDHjB z0=)Cd3835EAm-h z7InPw%uO|yd&}p#)i*A}2HSGl!eV`$+k}z4$q-hOzr@4N^Ubo1N~)fh zN(EKK{z{FHU-@lfYAm>P^r}#dnCk$+T%y?JZqddm6C`y zHebmQdQw&c%cxTER`M$36-0kqrL+F=4jJ?tSb z_{B$xL(EKK%ayI)d_}xZi3BsPUL$ufCb8a^Fv!MrILmHoRt8sOW|rbUT8gc!DQsUD zs~A-)5!I@DrQz-zutngroIW;*KG6J2(f)+Y6xnFBO`>i*KCJj7XMcNkK|DcyiSn|gegHKYb#va))iO7)Y+Jfiurl@w*z zcRdM}fwU)Cb{{3PjX=ASAzQN3_Qd8*z^BKmINjl_=E(yuPbv9c{~Yu;A}lEMJb#mI zvy>mJtfZumgfupTF*0}Aw;F9Gt8^F@Qtsb5KaWb#B5(s1iniOYu29_iBuRqm64K12 zt_PUnN^Pg>rO5VTWy>sYT*ZcI8Z{Qf?cpNmHdYbn0(odY!_x((+!1d)9t~-BHi+NVgye0EWL5Sj(k1%H{`l9oCJ0Qdya|9o4kw})?9w{{1>tC&K7GVo&)sUf5aU*>_}~2L!E@q z!miW(@dm6s%DXtA9=nf6kdeD=cs6K#f8??$ZvJx^w?lFBmZpHgu(U?KQ!0wUjPQFa z{ZSHMem1U1YYAv->_%s5>^{z{#Tyl-S&Sg#a?;+23!nWo5~D0aWuB#-l$#;)s_NCA zjo+s7jIdmH-*vuR8#YI229ZEVmLlvtzwn+tDpQKmdO;RcM3Bx~ac}V{66gf#ow{XX zYnp-DRCeITo1od1=pK&CKuX(|>)hM%dU7dc^Pk^#(_s;Co%#k$Rlni7_9qH{4d>I1 zzp6vhkIRbd{M&>GTqWUjzMt}Mbr;v3{v0X0fL+JkgzAb_D)ZuP5*CX;#l}hBif`=QVT}BBYWyoh?B2;( z>cK{L?0Rvt*eK|@vW~-|ej{yNyUOU0mMx#umCn&Xo89~gxA0SmZVxG2FDJI{Q49BG zz#Tm(H{|-)$x2HWTaxz9R9Zq{=BeX*q_U+NdFrRcFDKE=SENN@&6LI|^9xwRu?#f+ z@@=^a!1hKT^6^GECi7Lt^@wGJ#c&seUJ!VFmR!1{T^|#!&|@H}q4C=N#lnfVsafVFKW{gm>JrxHfubnN=Slrg2-!p9jq}4E z@%Z3LC+Y*1N81DYbfaN`xo zgNle2+>r*$g&N$Jq}E=ykNb8yWeeii2Y99ljfboa=E*WkI&?K*`@?Sfx;UKC>)o|uE+kdXm!3xuIqUmim~(}2!cNkJ z)-D1u_ZDD@!Chfy??e1v#7^kt`DH9mkPdx^gBA@!P03$e>_Oyr*7pj+cu7U6<4ejB zjU9(iYb-_!6SqcKfZVZ6jO`;pq$v`fcsA6BT|=c>8AV#vx<*c$q2^1}@wp)@CTm!3 zoqM#`?oE5msv8l#-R;gvW2_(M9Ypx*P4ZdYGzxkK?2(*0jI{0Y?j5Xns`+8!qYros z{#YBa40-T#%QW!{%xTEy+BD|3c{cIa%A4k!yA1cp97C6G$1sQ2Iw=ug^Na1DJ+$`G z+`sEAj{V}1kSgoVQ9AMoc$kQ+ zL7Z`-6#1IP+)7=P&Ljp?gxmE&1cy(ms~hhFGZnS)wzP%yD*ReE%C)VRJnZ2e!APFc z55Ia}mp1`7S&o;$bh;yplS7e=`^x95GK1R<7TkPBy@jm~eQ-S7h`5iR&#D;u6TU3C z>Ca*dIA?KSG{30*f7$%<@R8fnB`0Wqan0=`*=(8F{l9d-P@;GTcVRud zm6vW9MBe%%Zw9{({itYuKc*)uM4j&cSklMS$mkz0Gh_5(npB|#3@R<|K{HshQX%q+zk}T<>Lf^rB z)#2TiSS1N4LQ^lGg6kU%saN2|&|xr>@kq`9vLCW{Uo|3r_*T)J@!ls!2hJ;=4boQ> z6f4cSpz2-Bu{2g}kawrg-E#It02kK#EJwlk&6C|h_N^Dslw&k}{1f1kiy zlp~QJ*J2OmdsfEE!U6+G3-j;kOk}XXBm7))i?ycVLeAW!7o*I2?U|VSLrr}jnk$nU ze$+07pheAW7fhtyI#Hp$8zpL;iH=9By(+by|2XgaBHUc&GB;!C1*CxUnp>f`kvYb^ zOyFI+o@k=dBISo{I8PgfpriOkRPwq(aH#EZSy?+mY~CRA%iI|ze)Cng@+J;w=7~Mn zF3_YVy#C$oz?#u<-B>m*SdNZ271<*1mo(fDB|nv6AuP}j#;}A2X`1;?(rVxMYU&xf zCY);sSHgf&F%H(#zJ=s#Eo?QQX*9V9lG!YaE?osZTql;c1b6e$$-dgzJS|P7xdxp3 zjJ%?8kp7sw5SQJPFpYayf^!Z(Pbte0k|{)35n`L=3ly2d23A>?{v*apsaTFF9rZ)J z!&ON2*8!^EadRmQMJL^x`Ye0saS{&_Ux5U@#G9n5Tena{ES zTxVW(M`e|P78qhCriUE#^iNL?o+u5he%*&7K|+&d)ESnIzx}eKH<25dOA@DdUdb0; zcX8y(V)Ic^6p#P{DZuUbMeqDzidjqf97qt|>W9_cfuFqiC0=)8g%bPi_4W$oZ}}xN zw|>6IG?x-(v4TBiffV^#yvW*(b=fK6RvVtc_4y7&IGS;#HNK9dXcZJYAXX^d(r0BY zRqX;DG34!319A+;c}k8Kt}ETlIVmx=Cmefsx~!_F*#!gyxX$x>!EociDZUf6@_zq! z(VtKaL6w$pQyoOG+ie6T<&`K+Df(RAmzZpHT5Yk_Rp7)ILdj*Ao5aWZ;7Z!`!&vh&rKAY4dt=g+wO;`x=6^v|m1M`h!6#kMAzSBfpe* zdq&(V_AhB`!y3TBa@>?Q9h$A4a#tyBgOIL|>|Lw1*|?hryfu0!^7_l)haC0oaJ9u+ znO@0Dme`78dks>+}Q}eAQ5=8P$|* z;iizg0KnE4%1&Zmy z_P>A4XA|gk^x2B9PTk}ZR?QU~<=ujHP2JBeMW|Zs=9?|?&gTtJD;8z_78f_-T6zH& zMK|rF*@Ktgq<6{F&e9}hEgkf+7iFvb{Xy)ZF4~*hR9N*aKMlLHCn_y_3dbFKE0|TX zyHNIrtXx`?>!W$}A0<}>K0ZmdSxDBnlG*)^1)|F7HPvtR zEBz8mze;|9fj!PN4)vl7ySDgc%7%|MJ|1_}SJ-jaraS zmR`Q3Sb{i}6RgIMb4WXPFT)K(b(ot}TU~JlePot1sPshvOKev!w>rZ(Iu{aG`Q5VT z@d!N3W#oggtf_SVUJ6D<2|#FZ;nuXQe`4or~LiNSExXJIL7jxgA^8H?<#lQOXWBt2TSdO($o=Q&DYfu`s!&FiO zCA<tGwc00+{y71|AWLjK*c5E;LWu90mC#XD@j`ajjXruY~r_~S!!x)bh$+( zZOZYVb6p@q!j(UiiSW?WEmphe0|9HJU1$hP{X{D5nC2nvsoTWHedVr7qgo;E`;08k zlQ7DuW_FeHbGiv&!{>Hf!{Qv`X8*{G*H#P7WHM(H-SmS}_NDSyOJ6&D zshA`A0venr5zCzG7-JzPTomY`tIcyavS3&n*RC)kWIcn_G3a1b2m*#@jEinDn$@qW zIEz7w=lHO%%Nny9B?gpsXB&KeE1=SJdg0~@9MFvSmirX6!l|Du`kZz?cGLpvmO5}{ zJ9fsazZ$J`BlBf7#yLj|$A9cIwt`8&&z+pA2_MODe8Cn^Uc$K(u>cWuZ zVSDH&6PRauutJa?gtt`LMzrXM{Cudnpf-MA@%~={P$>1As$Z;&|rM)4MzQ;I6b^W6rs)!8_tAL27v8 z%4`t{K9^Y`VI*SLKBzRxwU+}mgyZGji9Qt49r`kBA^M$qmdx!FLI=DLkPgvy@h!3X zxX^mqy5De|9#(=W9HJJg(h9i}=ODw5yDZE{AVD_iOJfV9wl7I^Mu|TOW-nD zD_$3%AeljJFEJ|Ts2dsZ{VM3;egrqFUsn~!C!I_si}-tualPT#DW-?89}TIx1$Wkm zm|*o2snBfIAmzgrvzx5n73SH<#>5~+oVV^l#7)EohPJz~@zKKV4Kl;VBxrpl77PvK z>{ow;i^N?&KP7{Azr`o-%6&m^MEbqXx-n`J0V-Th4)` zVDW^)`t`(~y@OTtr^g&3A_E%q1289Yjepjdf7PZBAlC=x=$?iY$>vGM15vt-Ofm|v zxw#1d8}pnP3re(z(+^^;vb;Wi$Y#;mUjBKrG}~&Z%x*4h(V^^>qI$ zEG{YP_f9Y_H9vs=4L|mg0oDZ8el=gi^6YU$3pLAMz0*`3d1!~2WAA!))txGewj@E@ zH-*Wp8#_kuv0`1cVM1WvXvg$rZh@Z1`7qn2YS^C&z`yEZ4`OMS9+s(F@$-rW^qYGa zYD?Du$M$VX$T6z$bVnsr3nq0&h|pABDn5F3MGZph^ZFieQ6Mnn#Mu8_1CQM!32<2& zp+G;6GT2qhRcfoRhV_3wzJ29)p8KNO-Gf{q*yz921RMLp@|3Y%gmia~RojDcVw&rf z)A|Ch{#c8kYLH)bw7O!_nWy?o=Pm|50R&g3)z@%hK*56h-Fp5uDXC0mu=*9Pp#Rzm z-el1U4c&Ri7LSsQ3{k=xJ&5a5WGMNX^wsh;pL1YU5ez?YYzrXdCu|EHT-hTV<6B=K z-LaosU#qHqY5MTW7=tR@EYQr^bg#1)meA_YfBx?cJ!SEk1_&ZTYNhty31W*!J{2LZ zu+OtN)rwbd{e40P(VbusjH?zI99ka>SwKTndhkx&z3Ngz2@JomT>M9YTRxjl1;KY+ zt8ND)9Gt1L8nrejzJJN-fC^;{8wd{g_ zjqy5Ml-pdD`i z4b7B%6gsW)^y?q^Lp63rJ1#=Yehf-ZDaGg!{i_kC<1-3Kk@p+p4>0W4bEqglx*uR9X$PsUfI2XwKp(Tk?0 zw8`GI6Yb93IDF9}6ZItUs^rTUMe>rx9Eaf2U)vUCQK)rrCL@q)d>)-WRAuGXjVxv; z;td>8^QprVZ~x#8Ge894UGaD1@m9mRnZJcH za_aaoUjp;;sOV^wjqkx*k3cK2EbujC$S7^IZr)?>?&*cy9i28vQhqv+7-i`}6A3sSQZke2m=(sdBT()8@ zCm#6dBH$OV=P~SuUr5O$19!RdZZMjZ4$*W{=f1NP&$Su*!pGKea87Lb1?YHYV$c

0{`{__4$2Iw7T{8 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 ?_H$96)U94- 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

SLgl~{eMcrN{@xV?zUq4>7_Px%}o7dd%K~f!H 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 Ml<(X^-n0t(e|oeOlmGw# literal 0 HcmV?d00001 diff --git a/doc/images/onbot-external.png b/doc/images/onbot-external.png new file mode 100644 index 0000000000000000000000000000000000000000..f4bab2243805d6f90ac2a02241190a3f501a9029 GIT binary patch literal 22096 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 literal 0 HcmV?d00001 diff --git a/doc/images/onbot-upload.png b/doc/images/onbot-upload.png new file mode 100644 index 0000000000000000000000000000000000000000..f9f1a1beb2327a3bd37973cb75d62be1130cd64c GIT binary patch literal 31728 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