From 985226604130a407e9980fc789551c2dfe2ba8e9 Mon Sep 17 00:00:00 2001 From: Jake Karnes Date: Sat, 5 Mar 2022 11:19:34 -0800 Subject: [PATCH 1/3] Removing intellij-specific files --- .idea/artifacts/AWSSigner_jar.xml | 15 --------------- .idea/misc.xml | 7 ------- .idea/vcs.xml | 6 ------ 3 files changed, 28 deletions(-) delete mode 100644 .idea/artifacts/AWSSigner_jar.xml delete mode 100644 .idea/misc.xml delete mode 100644 .idea/vcs.xml diff --git a/.idea/artifacts/AWSSigner_jar.xml b/.idea/artifacts/AWSSigner_jar.xml deleted file mode 100644 index bffce9e..0000000 --- a/.idea/artifacts/AWSSigner_jar.xml +++ /dev/null @@ -1,15 +0,0 @@ - - - $PROJECT_DIR$/out/artifacts/AWSSigner_jar - - - - - - - - - - - - \ No newline at end of file diff --git a/.idea/misc.xml b/.idea/misc.xml deleted file mode 100644 index ddaffea..0000000 --- a/.idea/misc.xml +++ /dev/null @@ -1,7 +0,0 @@ - - - - - - - \ No newline at end of file diff --git a/.idea/vcs.xml b/.idea/vcs.xml deleted file mode 100644 index 35eb1dd..0000000 --- a/.idea/vcs.xml +++ /dev/null @@ -1,6 +0,0 @@ - - - - - - \ No newline at end of file From f60e03c307526b585436dd3e4a714e5438b71fae Mon Sep 17 00:00:00 2001 From: Jake Karnes Date: Sat, 5 Mar 2022 11:19:52 -0800 Subject: [PATCH 2/3] Upgrading to Gradle 7.3 --- .gitattributes | 6 + build.gradle | 16 +- gradle/wrapper/gradle-wrapper.jar | Bin 55190 -> 59536 bytes gradle/wrapper/gradle-wrapper.properties | 3 +- gradlew | 282 ++++++++++++++--------- gradlew.bat | 173 +++++++------- 6 files changed, 277 insertions(+), 203 deletions(-) create mode 100644 .gitattributes diff --git a/.gitattributes b/.gitattributes new file mode 100644 index 0000000..61793db --- /dev/null +++ b/.gitattributes @@ -0,0 +1,6 @@ +# +# https://help.github.com/articles/dealing-with-line-endings/ +# +# These are explicitly windows files and should use crlf +*.bat text eol=crlf + diff --git a/build.gradle b/build.gradle index f96e81d..77fffbc 100644 --- a/build.gradle +++ b/build.gradle @@ -1,5 +1,5 @@ group 'com.netspi.awssigner' -version '1.0-SNAPSHOT' +version '2.0.0' apply plugin: 'java' @@ -8,12 +8,12 @@ repositories { } dependencies { - compile 'com.google.guava:guava:23.2-jre' - compile 'com.intellij:forms_rt:7.0.3' - compile 'javax.xml.bind:jaxb-api:2.3.0' + implementation 'com.google.guava:guava:23.2-jre' + implementation 'com.intellij:forms_rt:7.0.3' + implementation 'javax.xml.bind:jaxb-api:2.3.0' // https://mvnrepository.com/artifact/com.amazonaws/aws-java-sdk-sts - compile group: 'com.amazonaws', name: 'aws-java-sdk-sts', version: '1.11.683' - testCompile group: 'junit', name: 'junit', version: '4.12' + implementation group: 'com.amazonaws', name: 'aws-java-sdk-sts', version: '1.11.683' + testImplementation group: 'junit', name: 'junit', version: '4.12' implementation platform('com.amazonaws:aws-java-sdk-bom:1.11.228') implementation 'com.amazonaws:aws-java-sdk-sts' testImplementation group: 'junit', name: 'junit', version: '4.11' @@ -27,7 +27,9 @@ jar { } from { - configurations.compile.collect { it.isDirectory() ? it : zipTree(it) } + configurations.runtimeClasspath.collect { it.isDirectory() ? it : zipTree(it) } } + + duplicatesStrategy "exclude" } diff --git a/gradle/wrapper/gradle-wrapper.jar b/gradle/wrapper/gradle-wrapper.jar index 87b738cbd051603d91cc39de6cb000dd98fe6b02..7454180f2ae8848c63b8b4dea2cb829da983f2fa 100644 GIT binary patch delta 26684 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 K^lt7S+W!H~Tue9s delta 22520 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
  • usVSoVjI>$Q-YBnHldEW6 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 D;yMN8 diff --git a/gradle/wrapper/gradle-wrapper.properties b/gradle/wrapper/gradle-wrapper.properties index 2e2228b..e750102 100644 --- a/gradle/wrapper/gradle-wrapper.properties +++ b/gradle/wrapper/gradle-wrapper.properties @@ -1,6 +1,5 @@ -#Tue Mar 12 11:18:17 CDT 2019 distributionBase=GRADLE_USER_HOME distributionPath=wrapper/dists +distributionUrl=https\://services.gradle.org/distributions/gradle-7.3-bin.zip zipStoreBase=GRADLE_USER_HOME zipStorePath=wrapper/dists -distributionUrl=https\://services.gradle.org/distributions/gradle-5.2.1-all.zip diff --git a/gradlew b/gradlew index af6708f..c53aefa 100755 --- a/gradlew +++ b/gradlew @@ -1,78 +1,129 @@ -#!/usr/bin/env sh +#!/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/. +# ############################################################################## # 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 +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 -SAVED="`pwd`" -cd "`dirname \"$PRG\"`/" >/dev/null -APP_HOME="`pwd -P`" -cd "$SAVED" >/dev/null + +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"' +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 () { echo "$*" -} +} >&2 die () { echo echo "$*" echo exit 1 -} +} >&2 # OS specific support (must be 'true' or 'false'). cygwin=false msys=false darwin=false nonstop=false -case "`uname`" in - CYGWIN* ) - cygwin=true - ;; - Darwin* ) - darwin=true - ;; - MINGW* ) - msys=true - ;; - NONSTOP* ) - nonstop=true - ;; +case "$( uname )" in #( + CYGWIN* ) cygwin=true ;; #( + Darwin* ) darwin=true ;; #( + MSYS* | MINGW* ) msys=true ;; #( + NONSTOP* ) nonstop=true ;; esac 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 @@ -81,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 @@ -89,84 +140,95 @@ location of your Java installation." fi # Increase the maximum file descriptors if we can. -if [ "$cygwin" = "false" -a "$darwin" = "false" -a "$nonstop" = "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 -# Escape application args -save () { - for i do printf %s\\n "$i" | sed "s/'/'\\\\''/g;1s/^/'/;\$s/\$/' \\\\/" ; done - echo " " -} -APP_ARGS=$(save "$@") - -# Collect all arguments for the java command, following the shell quoting and substitution rules -eval set -- $DEFAULT_JVM_OPTS $JAVA_OPTS $GRADLE_OPTS "\"-Dorg.gradle.appname=$APP_BASE_NAME\"" -classpath "\"$CLASSPATH\"" org.gradle.wrapper.GradleWrapperMain "$APP_ARGS" - -# by default we should be in the correct project dir, but when run from Finder on Mac, the cwd is wrong -if [ "$(uname)" = "Darwin" ] && [ "$HOME" = "$PWD" ]; then - cd "$(dirname "$0")" -fi +# 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 0f8d593..107acd3 100644 --- a/gradlew.bat +++ b/gradlew.bat @@ -1,84 +1,89 @@ -@if "%DEBUG%" == "" @echo off -@rem ########################################################################## -@rem -@rem Gradle startup script for Windows -@rem -@rem ########################################################################## - -@rem Set local scope for the variables with windows NT shell -if "%OS%"=="Windows_NT" setlocal - -set DIRNAME=%~dp0 -if "%DIRNAME%" == "" set DIRNAME=. -set APP_BASE_NAME=%~n0 -set APP_HOME=%DIRNAME% - -@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" - -@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 - -echo. -echo ERROR: JAVA_HOME is not set and no 'java' command could be found in your PATH. -echo. -echo Please set the JAVA_HOME variable in your environment to match the -echo location of your Java installation. - -goto fail - -:findJavaFromJavaHome -set JAVA_HOME=%JAVA_HOME:"=% -set JAVA_EXE=%JAVA_HOME%/bin/java.exe - -if exist "%JAVA_EXE%" goto init - -echo. -echo ERROR: JAVA_HOME is set to an invalid directory: %JAVA_HOME% -echo. -echo Please set the JAVA_HOME variable in your environment to match the -echo location of your Java installation. - -goto fail - -:init -@rem Get command-line arguments, handling Windows variants - -if not "%OS%" == "Windows_NT" goto win9xME_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=%* - -: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% - -:end -@rem End local scope for the variables with windows NT shell -if "%ERRORLEVEL%"=="0" goto mainEnd - -:fail -rem Set variable GRADLE_EXIT_CONSOLE if you need the _script_ return code instead of -rem the _cmd.exe /c_ return code! -if not "" == "%GRADLE_EXIT_CONSOLE%" exit 1 -exit /b 1 - -:mainEnd -if "%OS%"=="Windows_NT" endlocal - -:omega +@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 +@rem Gradle startup script for Windows +@rem +@rem ########################################################################## + +@rem Set local scope for the variables with windows NT shell +if "%OS%"=="Windows_NT" setlocal + +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 execute + +echo. +echo ERROR: JAVA_HOME is not set and no 'java' command could be found in your PATH. +echo. +echo Please set the JAVA_HOME variable in your environment to match the +echo location of your Java installation. + +goto fail + +:findJavaFromJavaHome +set JAVA_HOME=%JAVA_HOME:"=% +set JAVA_EXE=%JAVA_HOME%/bin/java.exe + +if exist "%JAVA_EXE%" goto execute + +echo. +echo ERROR: JAVA_HOME is set to an invalid directory: %JAVA_HOME% +echo. +echo Please set the JAVA_HOME variable in your environment to match the +echo location of your Java installation. + +goto fail + +: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 %* + +:end +@rem End local scope for the variables with windows NT shell +if "%ERRORLEVEL%"=="0" goto mainEnd + +:fail +rem Set variable GRADLE_EXIT_CONSOLE if you need the _script_ return code instead of +rem the _cmd.exe /c_ return code! +if not "" == "%GRADLE_EXIT_CONSOLE%" exit 1 +exit /b 1 + +:mainEnd +if "%OS%"=="Windows_NT" endlocal + +:omega From e356522972428777cedf103e56e91302b0c39764 Mon Sep 17 00:00:00 2001 From: Jake Karnes Date: Wed, 30 Mar 2022 15:59:10 -0700 Subject: [PATCH 3/3] AWS Signer 2.0.0 rewrite --- README.md | 110 +- build.gradle | 39 +- screenshots/assume_role_profile.png | Bin 0 -> 393351 bytes screenshots/awssigner.png | Bin 123976 -> 402281 bytes screenshots/command_profile.png | Bin 0 -> 399955 bytes screenshots/contextitem.png | Bin 146137 -> 36718 bytes screenshots/global_settings.png | Bin 0 -> 5805 bytes screenshots/profile_configuration.png | Bin 0 -> 16010 bytes screenshots/profile_import.png | Bin 0 -> 140489 bytes screenshots/profile_management.png | Bin 0 -> 5208 bytes src/main/java/burp/AWSSignerMenuItem.java | 50 - src/main/java/burp/BurpExtender.java | 845 +++------- .../burp/IBurpCollaboratorClientContext.java | 85 - .../burp/IBurpCollaboratorInteraction.java | 41 - src/main/java/burp/IBurpExtender.java | 31 - .../java/burp/IBurpExtenderCallbacks.java | 1095 ------------- src/main/java/burp/IContextMenuFactory.java | 39 - .../java/burp/IContextMenuInvocation.java | 156 -- src/main/java/burp/ICookie.java | 61 - src/main/java/burp/IExtensionHelpers.java | 356 ---- .../java/burp/IExtensionStateListener.java | 27 - src/main/java/burp/IHttpListener.java | 37 - src/main/java/burp/IHttpRequestResponse.java | 102 -- .../burp/IHttpRequestResponsePersisted.java | 25 - .../burp/IHttpRequestResponseWithMarkers.java | 44 - src/main/java/burp/IHttpService.java | 39 - .../java/burp/IInterceptedProxyMessage.java | 116 -- src/main/java/burp/IIntruderAttack.java | 31 - .../java/burp/IIntruderPayloadGenerator.java | 50 - .../IIntruderPayloadGeneratorFactory.java | 40 - .../java/burp/IIntruderPayloadProcessor.java | 45 - src/main/java/burp/IMenuItemHandler.java | 36 - src/main/java/burp/IMessageEditor.java | 77 - .../java/burp/IMessageEditorController.java | 49 - src/main/java/burp/IMessageEditorTab.java | 103 -- .../java/burp/IMessageEditorTabFactory.java | 38 - src/main/java/burp/IParameter.java | 104 -- src/main/java/burp/IProxyListener.java | 37 - src/main/java/burp/IRequestInfo.java | 95 -- src/main/java/burp/IResponseInfo.java | 73 - src/main/java/burp/IResponseKeywords.java | 58 - src/main/java/burp/IResponseVariations.java | 62 - src/main/java/burp/IScanIssue.java | 123 -- src/main/java/burp/IScanQueueItem.java | 80 - src/main/java/burp/IScannerCheck.java | 83 - .../java/burp/IScannerInsertionPoint.java | 174 -- .../burp/IScannerInsertionPointProvider.java | 38 - src/main/java/burp/IScannerListener.java | 30 - src/main/java/burp/IScopeChangeListener.java | 25 - .../java/burp/ISessionHandlingAction.java | 51 - src/main/java/burp/ITab.java | 38 - src/main/java/burp/ITempFile.java | 33 - src/main/java/burp/ITextEditor.java | 90 - src/main/java/burp/Menu.java | 154 -- src/main/java/burp/TabPanel.form | 165 -- .../controller/AWSSignerController.java | 810 +++++++++ .../ComboBoxProfileSelectionListener.java | 38 + .../TextComponentFocusListener.java | 66 + .../AssumeRoleCredentialFetcher.java | 110 ++ .../credentials/CommandCredentialFetcher.java | 83 + .../credentials/CredentialFetcher.java | 7 + .../credentials/CredentialsParser.java | 37 + .../credentials/ProfileCredentialTester.java | 34 + .../SignerCredentialException.java | 18 + .../SigningCredentialConverter.java | 30 + .../credentials/SigningCredentials.java | 44 + .../com/netspi/awssigner/log/LogLevel.java | 15 + .../com/netspi/awssigner/log/LogWriter.java | 52 + .../com/netspi/awssigner/main/TestRunner.java | 37 + .../model/AWSSignerConfiguration.java | 29 + .../model/AbstractCachingProfile.java | 128 ++ .../awssigner/model/AssumeRoleProfile.java | 125 ++ .../awssigner/model/CommandProfile.java | 48 + .../com/netspi/awssigner/model/Profile.java | 143 ++ .../model/StaticCredentialsProfile.java | 86 + .../persistence/AutoProfileImporter.java | 80 + .../persistence/ClipboardProfileImporter.java | 51 + .../EnvironmentVariableProfileImporter.java | 41 + .../persistence/FileProfileImporter.java | 229 +++ .../model/persistence/PersistedProfile.java | 20 + .../model/persistence/ProfileExporter.java | 149 ++ .../persistence/ProfileFileKeyConstants.java | 43 + .../model/persistence/ProfileImporter.java | 8 + .../awssigner/signing/AwsRequestSigner.java | 10 + .../signing/ClassicAwsRequestSigner.java} | 647 ++++---- .../signing/DelegatingAwsRequestSigner.java | 280 ++++ .../awssigner/signing/ParsedAuthHeader.java | 151 ++ .../awssigner/signing/SigningAlgorithm.java | 16 + .../awssigner/signing/SigningException.java | 17 + .../awssigner/view/AddProfileDialog.form | 231 +++ .../awssigner/view/AddProfileDialog.java | 262 +++ .../netspi/awssigner/view/BurpTabPanel.form | 1459 +++++++++++++++++ .../netspi/awssigner/view/BurpTabPanel.java | 856 ++++++++++ .../view/BurpUIComponentCustomizer.java | 19 + .../awssigner/view/CopyProfileDialog.form | 244 +++ .../awssigner/view/CopyProfileDialog.java | 295 ++++ .../view/FormattedHintTextField.java | 130 ++ .../netspi/awssigner/view/ImportDialog.form | 262 +++ .../netspi/awssigner/view/ImportDialog.java | 508 ++++++ src/main/main.iml | 12 - .../persistence/CredentialsParserTest.java | 161 ++ .../persistence/FileProfileImporterTest.java | 248 +++ .../persistence/ProfileExporterTest.java | 279 ++++ .../assume-role_output.txt | 12 + .../assume-role_output_oneline.txt | 1 + .../assume-role_output_xml.txt | 23 + .../assume-role_output_xml_oneline.txt | 1 + .../cli_configure_example.txt | 5 + .../environment_variables.txt | 4 + .../external_command_example.txt | 7 + .../get-session-token_output.txt | 8 + .../CredentialsParserInputs/settings_text.txt | 25 + .../single_simple_profile_test.txt | 3 + ...ingle_simple_profile_test_with_session.txt | 4 + .../assume_role_profile_test.txt | 10 + .../external_command_profile_no_duration.txt | 2 + .../external_command_profile_test.txt | 3 + .../multiple_profile_test.txt | 7 + .../nested_assume_role_profile_test.txt | 24 + .../single_simple_profile_test.txt | 3 + .../single_simple_profile_test_mixed_case.txt | 3 + ...ingle_simple_profile_test_profile_name.txt | 3 + ...single_simple_profile_test_with_config.txt | 5 + ...imple_profile_test_with_ignored_extras.txt | 6 + ...ingle_simple_profile_test_with_session.txt | 4 + 125 files changed, 8835 insertions(+), 5256 deletions(-) create mode 100644 screenshots/assume_role_profile.png create mode 100644 screenshots/command_profile.png create mode 100644 screenshots/global_settings.png create mode 100644 screenshots/profile_configuration.png create mode 100644 screenshots/profile_import.png create mode 100644 screenshots/profile_management.png delete mode 100644 src/main/java/burp/AWSSignerMenuItem.java delete mode 100644 src/main/java/burp/IBurpCollaboratorClientContext.java delete mode 100644 src/main/java/burp/IBurpCollaboratorInteraction.java delete mode 100644 src/main/java/burp/IBurpExtender.java delete mode 100644 src/main/java/burp/IBurpExtenderCallbacks.java delete mode 100644 src/main/java/burp/IContextMenuFactory.java delete mode 100644 src/main/java/burp/IContextMenuInvocation.java delete mode 100644 src/main/java/burp/ICookie.java delete mode 100644 src/main/java/burp/IExtensionHelpers.java delete mode 100644 src/main/java/burp/IExtensionStateListener.java delete mode 100644 src/main/java/burp/IHttpListener.java delete mode 100644 src/main/java/burp/IHttpRequestResponse.java delete mode 100644 src/main/java/burp/IHttpRequestResponsePersisted.java delete mode 100644 src/main/java/burp/IHttpRequestResponseWithMarkers.java delete mode 100644 src/main/java/burp/IHttpService.java delete mode 100644 src/main/java/burp/IInterceptedProxyMessage.java delete mode 100644 src/main/java/burp/IIntruderAttack.java delete mode 100644 src/main/java/burp/IIntruderPayloadGenerator.java delete mode 100644 src/main/java/burp/IIntruderPayloadGeneratorFactory.java delete mode 100644 src/main/java/burp/IIntruderPayloadProcessor.java delete mode 100644 src/main/java/burp/IMenuItemHandler.java delete mode 100644 src/main/java/burp/IMessageEditor.java delete mode 100644 src/main/java/burp/IMessageEditorController.java delete mode 100644 src/main/java/burp/IMessageEditorTab.java delete mode 100644 src/main/java/burp/IMessageEditorTabFactory.java delete mode 100644 src/main/java/burp/IParameter.java delete mode 100644 src/main/java/burp/IProxyListener.java delete mode 100644 src/main/java/burp/IRequestInfo.java delete mode 100644 src/main/java/burp/IResponseInfo.java delete mode 100644 src/main/java/burp/IResponseKeywords.java delete mode 100644 src/main/java/burp/IResponseVariations.java delete mode 100644 src/main/java/burp/IScanIssue.java delete mode 100644 src/main/java/burp/IScanQueueItem.java delete mode 100644 src/main/java/burp/IScannerCheck.java delete mode 100644 src/main/java/burp/IScannerInsertionPoint.java delete mode 100644 src/main/java/burp/IScannerInsertionPointProvider.java delete mode 100644 src/main/java/burp/IScannerListener.java delete mode 100644 src/main/java/burp/IScopeChangeListener.java delete mode 100644 src/main/java/burp/ISessionHandlingAction.java delete mode 100644 src/main/java/burp/ITab.java delete mode 100644 src/main/java/burp/ITempFile.java delete mode 100644 src/main/java/burp/ITextEditor.java delete mode 100644 src/main/java/burp/Menu.java delete mode 100644 src/main/java/burp/TabPanel.form create mode 100644 src/main/java/com/netspi/awssigner/controller/AWSSignerController.java create mode 100644 src/main/java/com/netspi/awssigner/controller/ComboBoxProfileSelectionListener.java create mode 100644 src/main/java/com/netspi/awssigner/controller/TextComponentFocusListener.java create mode 100644 src/main/java/com/netspi/awssigner/credentials/AssumeRoleCredentialFetcher.java create mode 100644 src/main/java/com/netspi/awssigner/credentials/CommandCredentialFetcher.java create mode 100644 src/main/java/com/netspi/awssigner/credentials/CredentialFetcher.java create mode 100644 src/main/java/com/netspi/awssigner/credentials/CredentialsParser.java create mode 100644 src/main/java/com/netspi/awssigner/credentials/ProfileCredentialTester.java create mode 100644 src/main/java/com/netspi/awssigner/credentials/SignerCredentialException.java create mode 100644 src/main/java/com/netspi/awssigner/credentials/SigningCredentialConverter.java create mode 100644 src/main/java/com/netspi/awssigner/credentials/SigningCredentials.java create mode 100644 src/main/java/com/netspi/awssigner/log/LogLevel.java create mode 100644 src/main/java/com/netspi/awssigner/log/LogWriter.java create mode 100644 src/main/java/com/netspi/awssigner/main/TestRunner.java create mode 100644 src/main/java/com/netspi/awssigner/model/AWSSignerConfiguration.java create mode 100644 src/main/java/com/netspi/awssigner/model/AbstractCachingProfile.java create mode 100644 src/main/java/com/netspi/awssigner/model/AssumeRoleProfile.java create mode 100644 src/main/java/com/netspi/awssigner/model/CommandProfile.java create mode 100644 src/main/java/com/netspi/awssigner/model/Profile.java create mode 100644 src/main/java/com/netspi/awssigner/model/StaticCredentialsProfile.java create mode 100644 src/main/java/com/netspi/awssigner/model/persistence/AutoProfileImporter.java create mode 100644 src/main/java/com/netspi/awssigner/model/persistence/ClipboardProfileImporter.java create mode 100644 src/main/java/com/netspi/awssigner/model/persistence/EnvironmentVariableProfileImporter.java create mode 100644 src/main/java/com/netspi/awssigner/model/persistence/FileProfileImporter.java create mode 100644 src/main/java/com/netspi/awssigner/model/persistence/PersistedProfile.java create mode 100644 src/main/java/com/netspi/awssigner/model/persistence/ProfileExporter.java create mode 100644 src/main/java/com/netspi/awssigner/model/persistence/ProfileFileKeyConstants.java create mode 100644 src/main/java/com/netspi/awssigner/model/persistence/ProfileImporter.java create mode 100644 src/main/java/com/netspi/awssigner/signing/AwsRequestSigner.java rename src/main/java/{burp/Utility.java => com/netspi/awssigner/signing/ClassicAwsRequestSigner.java} (70%) create mode 100644 src/main/java/com/netspi/awssigner/signing/DelegatingAwsRequestSigner.java create mode 100644 src/main/java/com/netspi/awssigner/signing/ParsedAuthHeader.java create mode 100644 src/main/java/com/netspi/awssigner/signing/SigningAlgorithm.java create mode 100644 src/main/java/com/netspi/awssigner/signing/SigningException.java create mode 100644 src/main/java/com/netspi/awssigner/view/AddProfileDialog.form create mode 100644 src/main/java/com/netspi/awssigner/view/AddProfileDialog.java create mode 100644 src/main/java/com/netspi/awssigner/view/BurpTabPanel.form create mode 100644 src/main/java/com/netspi/awssigner/view/BurpTabPanel.java create mode 100644 src/main/java/com/netspi/awssigner/view/BurpUIComponentCustomizer.java create mode 100644 src/main/java/com/netspi/awssigner/view/CopyProfileDialog.form create mode 100644 src/main/java/com/netspi/awssigner/view/CopyProfileDialog.java create mode 100644 src/main/java/com/netspi/awssigner/view/FormattedHintTextField.java create mode 100644 src/main/java/com/netspi/awssigner/view/ImportDialog.form create mode 100644 src/main/java/com/netspi/awssigner/view/ImportDialog.java delete mode 100644 src/main/main.iml create mode 100644 src/test/java/com/netspi/awssigner/model/persistence/CredentialsParserTest.java create mode 100644 src/test/java/com/netspi/awssigner/model/persistence/FileProfileImporterTest.java create mode 100644 src/test/java/com/netspi/awssigner/model/persistence/ProfileExporterTest.java create mode 100644 src/test/resources/CredentialsParserInputs/assume-role_output.txt create mode 100644 src/test/resources/CredentialsParserInputs/assume-role_output_oneline.txt create mode 100644 src/test/resources/CredentialsParserInputs/assume-role_output_xml.txt create mode 100644 src/test/resources/CredentialsParserInputs/assume-role_output_xml_oneline.txt create mode 100644 src/test/resources/CredentialsParserInputs/cli_configure_example.txt create mode 100644 src/test/resources/CredentialsParserInputs/environment_variables.txt create mode 100644 src/test/resources/CredentialsParserInputs/external_command_example.txt create mode 100644 src/test/resources/CredentialsParserInputs/get-session-token_output.txt create mode 100644 src/test/resources/CredentialsParserInputs/settings_text.txt create mode 100644 src/test/resources/CredentialsParserInputs/single_simple_profile_test.txt create mode 100644 src/test/resources/CredentialsParserInputs/single_simple_profile_test_with_session.txt create mode 100644 src/test/resources/FileProfileImportInputs/assume_role_profile_test.txt create mode 100644 src/test/resources/FileProfileImportInputs/external_command_profile_no_duration.txt create mode 100644 src/test/resources/FileProfileImportInputs/external_command_profile_test.txt create mode 100644 src/test/resources/FileProfileImportInputs/multiple_profile_test.txt create mode 100644 src/test/resources/FileProfileImportInputs/nested_assume_role_profile_test.txt create mode 100644 src/test/resources/FileProfileImportInputs/single_simple_profile_test.txt create mode 100644 src/test/resources/FileProfileImportInputs/single_simple_profile_test_mixed_case.txt create mode 100644 src/test/resources/FileProfileImportInputs/single_simple_profile_test_profile_name.txt create mode 100644 src/test/resources/FileProfileImportInputs/single_simple_profile_test_with_config.txt create mode 100644 src/test/resources/FileProfileImportInputs/single_simple_profile_test_with_ignored_extras.txt create mode 100644 src/test/resources/FileProfileImportInputs/single_simple_profile_test_with_session.txt diff --git a/README.md b/README.md index dabf534..7216030 100644 --- a/README.md +++ b/README.md @@ -1,21 +1,23 @@ # AWSSigner -Burp Extension for AWS Sigv4 Signing +Burp Extension for AWS SigV4 Signing -Add your Access Key, Secret Key, Region, and Service to the properties in the extension tab. +Create a profile in the extension's tab to specify which credentials should be used when signing the request. -The extension will look for the "X-AMZ-Date" header in all requests being sent by Burp. If it finds a request, it will update the signature in the request. Your request must also have an Authorization header, which should be on all AWS signed requests. +The extension will check each request passing through Burp. If the request has both the "X-Amz-Date" and "Authorization" header, the request will be re-signed with the specified profile's credentials, and the headers updated. + +![AWS Signer](/screenshots/awssigner.png) ## Example Request -The extenion takes an existing Sigv4 request and updates the Authorization and X-AMZ-Date headers. +The extension takes an existing SigV4 request and updates the Authorization and X-AMZ-Date headers. -Here's an example of a Sigv4 request that the extention will update: +Here's an example of a SigV4 request that the extension will update: ``` GET /?Param1=value1 HTTP/1.1 -Host:example.amazonaws.com +Host: example.amazonaws.com Content-Type: application/x-www-form-urlencoded; charset=utf-8 -X-Amz-Date:20150830T123600Z +X-Amz-Date: 20150830T123600Z Authorization: AWS4-HMAC-SHA256 Credential=AKIAIOSFODNN7EXAMPLE/20190101/us-west-1/test/request, SignedHeaders=content-type;host;x-amz-date, Signature=e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855 ``` @@ -23,9 +25,96 @@ More information about Sigv4 can be found here: * https://docs.aws.amazon.com/AmazonS3/latest/API/sig-v4-authenticating-requests.html * https://docs.aws.amazon.com/general/latest/gr/signature-version-4.html +## Extension Tab Interface + +The extension's configuration is accessible in Burp Suite under the "AWS Signer" tab. This tab is available in Burp Suite when the extension is added and loaded. + +### Global Settings + +These settings influence the entire extension's behavior. The settings include: +* Signing Enabled: If enabled, SigV4 requests will be resigned as they pass through Burp. If disabled, the extension will not modify any requests. +* Always Sign With: If a profile is selected, all applicable requests will be signed with the specified profile. If unset, requests will be signed using the credentials of the profile with the same "Key Id" value. +* Log Level: Controls the extension's log verbosity. + +![Global Settings](/screenshots/global_settings.png) + +### Profile Management + +This panel adds/removes profiles. The following buttons are available: +* Add: Adds a new static credentials, assume role, or command profile. Newly added profiles must have a unique name. +* Delete: Deletes an existing profile. The extension will check if the profile is referenced by any other existing profiles. +* Copy: Copies an existing profile. The copy must have a unique name. +* Import: Imports one or more profiles. See the following section for details. +* Export: Exports the current profile configurations to a user-selected file. + +![Profile Management](/screenshots/profile_management.png) + +#### Profile Import +After clicking the profile import button, a pop-up window allows you to import profiles. Click one of the Source buttons to bring in profiles: +* Auto: Automatically sources profiles from default credential files (based on the AWS CLI), the clipboard and environment variables +* File: Allows the user to specify which file to load profiles from. This is useful for importing previously exported profiles. +* Env: Attempts to import a profile based on the following standardized AWS CLI environment variables: + * AWS_ACCESS_KEY_ID + * AWS_SECRET_ACCESS_KEY + * AWS_SESSION_TOKEN +* Clipboard: Attempts to automatically recognize and import a profile based on credentials currently copied and held in the user's clipboard. + +After sourcing the profiles, use the checkboxes to select which profiles to import into the extension. + +![Profile Import](/screenshots/profile_import.png) + +### Profile Configuration +The following settings are available for every profile, regardless of its type: +* Enabled: When checked, the profile is available for signing requests. Otherwise, it will not be used to modify requests. +* In-Scope Only: When checked, the profile will only sign requests that are in-scope (as determined by the URL). Otherwise, it will sign any eligible request. +* Region: When provided, this value replaces the AWS region specified in the request's Authorization header. Otherwise, the request is signed using the same region included in the Authorization header. +* Service: When provided, this value replaces the AWS service specified in the request's Authorization header. Otherwise, the request is signed using the same service included in the Authorization header. +* Key Id: When provided, this profile will be used to sign any eligible request whose Authorization header's key id contains the same key id. This can be useful for using one profile to sign certain requests, and have another active profile sign other requests at the same time. This can be any text and does not need to be in the key id format. + +#### Test Profile Credentials Button +This button can be used to test a profile's credentials and ensure they are valid. The credentials are tested by signing a [GetCallerIdentity](https://docs.aws.amazon.com/STS/latest/APIReference/API_GetCallerIdentity.html) request and ensuring a successful response. The success or failure is reported in the Status field above. + +![Profile Configuration](/screenshots/profile_configuration.png) + +### Profile Types +There are three types of profiles supported by the extension: +1. Static Credentials: An access key and secret key, with an optional session token. +2. AssumeRole: The extension will assume a specified role and use the credentials returned. To assume the role, the user must specify another "assumer" profile which will provide credentials required to assume the specified role. +3. Command: The extension will execute the specified shell command and parse an access key, a secret key and (optionally) a session token. + +#### Static Credentials Profile +The user must provide an access key and a secret key. The session token is optional. + +#### AssumeRole Profile +The user must provide a role ARN which specifies the role to be assumed. The user must also provide credentials to assume this role. These credentials are provided through an "assumer" profile. This allows chaining multiple profiles and roles together when required. + +The user may provide the following. See this [API documentation](https://docs.aws.amazon.com/STS/latest/APIReference/API_AssumeRole.html) for further details. +* Session Name: An identifier for the assumed role session. +* External Id: A unique identifier that might be required when you assume a role in another account. +* Duration: The lifetime of the session (in seconds). The extension will cache the credentials automatically and re-use them when valid. If the duration is set to 0, the credentials will not be cached and new credentials will be fetched for each request to sign. +* Session Policy Configuration: An IAM policy in JSON format that you want to use as an inline session policy. This is useful for testing different IAM policies quickly without waiting for the IAM policy to propagate and reach eventual consistency. See [here](https://docs.aws.amazon.com/IAM/latest/UserGuide/access_policies.html#policies_session) for further information on session policies. + +![AssumeRole Profile Configuration](/screenshots/assume_role_profile.png) + +#### Command Profile +The user must provide a command to be executed which will return AWS credentials in the form of an access key, secret key and (optionally) session token. The command will be executed using either `cmd` (Windows) or `sh` (non-Windows). The extension will attempt to parse the credentials from the command's stdout output. The output does not have a set format, and the credential extraction is based on pattern matching. + +The user may provide a Duration. The duration is the lifetime of the credentials (in seconds). The extension will cache the credentials automatically and re-use them when valid. If the duration is set to 0, the credentials will not be cached and the command will be executed for each request that must be signed with the profile. + +The extracted credentials show the most recently extracted credentials retrieved by pressing the Test Profile Credentials button. This is intended for debugging purposes. + +![Command Profile Configuration](/screenshots/command_profile.png) + +## Context Menu +The extension can be configured by the user while editing a request. Right-click within the request, hover the cusor over Extensions, and then over AWS Signer. The following configuration is available from this location: +1. Enable/Disable Signing: Signing can be enabled or disabled entirely. +2. Set Default Signing Profile: The default signing profile can be selected or unset here. + +![Context Menu](/screenshots/contextitem.png) + ## Download -The most recent jar file can be found in the releases https://github.com/NetSPI/AWSSigner/releases +The most recent JAR file can be found in the releases https://github.com/NetSPI/AWSSigner/releases ## Build @@ -34,8 +123,3 @@ The most recent jar file can be found in the releases https://github.com/NetSPI/ 3. cd AWSSigner 4. gradle build 5. Jar file will be in the build/libs directory - -![Alt text](/screenshots/awssigner.png?raw=true) - -![Alt text](/screenshots/contextitem.png?raw=true) - diff --git a/build.gradle b/build.gradle index 77fffbc..1616ebe 100644 --- a/build.gradle +++ b/build.gradle @@ -1,27 +1,40 @@ -group 'com.netspi.awssigner' -version '2.0.0' +group "com.netspi.awssigner" +version "2.0.0" -apply plugin: 'java' +apply plugin: "java" + +compileJava { + sourceCompatibility = '1.8' + targetCompatibility = '1.8' +} repositories { mavenCentral() } +def awsSdkVersion = "2.17.116" +def junitVersion = "5.6.0" + dependencies { - implementation 'com.google.guava:guava:23.2-jre' - implementation 'com.intellij:forms_rt:7.0.3' - implementation 'javax.xml.bind:jaxb-api:2.3.0' - // https://mvnrepository.com/artifact/com.amazonaws/aws-java-sdk-sts - implementation group: 'com.amazonaws', name: 'aws-java-sdk-sts', version: '1.11.683' - testImplementation group: 'junit', name: 'junit', version: '4.12' - implementation platform('com.amazonaws:aws-java-sdk-bom:1.11.228') - implementation 'com.amazonaws:aws-java-sdk-sts' - testImplementation group: 'junit', name: 'junit', version: '4.11' + implementation "com.google.code.gson:gson:2.8.9" + implementation "com.google.guava:guava:31.0.1-jre" + implementation "net.portswigger.burp.extender:burp-extender-api:2.3" + implementation "software.amazon.awssdk:sts:$awsSdkVersion" + implementation "software.amazon.awssdk:auth-crt:$awsSdkVersion" + testImplementation "org.junit.jupiter:junit-jupiter-api:$junitVersion" + testImplementation "org.junit.jupiter:junit-jupiter-params:$junitVersion" + testImplementation "org.junit.jupiter:junit-jupiter-engine:$junitVersion" } -def mainClassName = "com.netspi.awssigner.Main" +test { + useJUnitPlatform() +} + +def mainClassName = "com.netspi.awssigner.TestRunner" jar { + dependsOn 'test' + manifest { attributes "Main-Class": "$mainClassName" } diff --git a/screenshots/assume_role_profile.png b/screenshots/assume_role_profile.png new file mode 100644 index 0000000000000000000000000000000000000000..425ef2a24cdffea5f4c5a1e1becef83d05df2b5a GIT binary patch literal 393351 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%0Dud8{G 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�LqB+aWK{)O4OFxBl}?MbuQjow8gT033xIlNg81-H|t51S5Wp!^5}Z(>Em|Ek1>9e~ZaRQ!vT<`zXw1*0KuQaz zKL5A275~zKpuUNrDgLHbbUN+1ysP7Sf>K*tCEV%y@Vu78B$C#8SK{-rcBq5Z|LA5V zO}BOw?}WYCbUCvq9XijfOu>z85@}XAX!DYqMh!A1vP&Nlj)6?wh%$1hdav+?)wEW<(gc$DG)AoQl2bP&#_{KBa; zNyZV@kn2Eq;56i)_DQ$lt8inSTXz7OP4-1puvcJE2n&&i?DPDA6dSgLOgpCkE$hH2 zmlxc0I04T*b?J2*5tR$Nid=ocTeZsP3LWew=(l@pGV^+mce3&8@v-b_TRKTm-MVVt z)Gpoc!ntOs{kB|2%fS>5KlVc4s`|B8y{!}>#G{!Ms57TsxCNmX zKEZ?^rZ%4dU5^LPz0`Srm{ZvI7|sUH{Xej+cc+){W8G8lLwmb^lD|_F98DqAN<*fZ z+k2Be#MTp##UN0#j>pbUQSOBLJiM2LpabLm|Cd3yOK0|b0&hrt`y$w zwA1k@Vp%{L#_G`{a6sYqNdH~SW|Pc)kzv;bmVoJrma-)o6?KDA=SjvglmE-`qrxAj zW`IzPtCHciOE*PsO`tp*dOrhM;iCn$3g9%|Hl9-Htj2ZMe>}4RgHHC#*}bo6rP!wh zPYyyE$Dr$=OV|Un%G4$AlCVrZcF4~9y*0+ilWU=>H6prY zFCsDEL%?rKV^!cj?{{CJw+lz^Usmgo^3EdrUNw0muV2W?WTN@AoAiu6avN)QHG4wZ zfa0y4Hh{G?!|H=pJ;MyB_793|uQsz~Md#*w`nN3wI7J93@Vn-mc0XN@4Q{*6=)JJx z>o1+H{Kg1$$K#Hfqa!ZLk{{OGYPQGCf9ly8*WLVpAP9Bek_qV8b6|Ci z9m?zTRND#EeDOrFDzX?vfw|x&NHEk>^7VFnZ+u(wN;lOot*sXdIf9X^nv2 z3U2Nh`>C3GZ|5B@?|vqyTQ;B?>|+i7CaSV{%$-R0WPesoD)x!-JIxFiyj6v*4WbDf z65w$FGxMm!+fOFtJq=KG_;py_mBQ-0kavP6fBYR4YA(M+wGaoQICtDIJuFr|hk)(| zqG5Rl;X64mXSt@gU+_`5CVY&%oSYwBVH+g@7}my+yWtH`x-c&;i@(h<;)=oxti6SskDh&xhm;hBysB4RMM3Q?0|r!^PLz<&m7%V zQFALtHBht1S?=YR+3no1nS)2P3Msq|7cqj6lu5h`^w^Iw9wEyuN`Kd+Tw*c%UDa%k zPA2R5NokJKe9x~JD0AA2}MdgUoU zT|-sPzqne@{G`2q$qJ#%UEgEI>3#HEh_5#hE9$&yL6*Z>U1P>PT7*w zS0BFl={1>ONwkV@c6Rw4%0~tZ;-eXGS@cLM`?%^(K}@_lE!scqQ-X_($sEIR0WlqF zA@vCPD0I!HQxxPEz%kEyttp1Y?-9^(467shZ&!zFfLH`kt{R$j64l$y>r$H$9{9{h zREXx-NBnQ-uKy9Am-WN*j2)l#6Sa%!s=UEy@jIr61Mx?s zfT!r^ZfCLdsON_3&{!oQc81T50e4>TlzbU364yREdR1kA41!G{M%QC}@x|OHalGe{ zyoXhe%lIn)$S#UTlHdijZRPaKu@zsQM*93B-kx!9lm(LXn?fC~GBA^FyQ#>aGHDEn z@jXHA{qOIWyP*D0;`hQ2SD?+lIuqxw3@kgwuiK>e=wcOqhnuDLjAH9B$ooJ?UTu%O(aB+$KCTH|vhulEj zYqR*Cw9BR0NL>8)CNa#3DqN4cJ!0{v6DXlJ_Ffc{{5<&SndeQ{Qw5tW$40#9?`?sd zCN#eTPzVI+nc(xT&E6pX9Lf_z z+^U0D=`lr=p2~NxgLChQp03o?w(aa@KZ&Q*#`-?Os4q^lg8zUv(3f({x_@VR3|Bcx zNGZ`|8mvsjS2n5)cJ1mMd%EE~-3-B|@*d~{p1@tbAV^*m$!WWpA1hHBK8yNh!4Czy zR0k2|(}lN8`+AS5tU2 zlv)80<9Dwe^LXJH19+rCtdzujfOo0MY~rcv0%^!~tSD7^?|aM7aX-_$x*+ZOFuAzS zBMXSY^GL6E&|uzc)>s>WI7j0V`BB!7dOi#+4ix&JkquLkmo**}N5}WvDhp}YwVlo8 z(B(Z{q0=0+N<6w8r(tppOT?xz^`Go)*cED4<88G_(-df?V?kAyPvsS`iC5ID*B7!* zEhGhNw-&2EP^#~W*Z?FgJ6fOLNoEoeuIWj|GF{gH;9kbfV6vgLeEfJSycLph9=hbo zi=x5*SB$iVOckEZ^=F0X1Al0@+Cm8NkzY|uKJQC0j#K)ezxQ&C&-i5v>_PJ*tY0wf z24i0d{;I*4KnbvoSdDlur(>~DuR?mU{IXowg>qYlXxNTbLeGOXN|R&jD(?3ZH;kVY zx~6uq^Ffw1Yv4Nm=^F^P8VDQUIJAGt@P|?0xp_e-ORdN zD#_N)Rq2vm%h*jyxl6r?`h>ePPV2Yy2dvmtzLT&!q_Gr;@9*@XCuJ15rVwi%piSh+pNRqt#BP<*`dw$NNT|Butk7o)~ zhF3geMx#9=gP#;`@x-6`A9kI^dN&`z{_WzA^qz(ak_G)L`8B8;_9u@#+9dh(!{~Nx zs5{MtMCE{Zi>*p60TiM_`4x?fQ;r%w3W+i_)3Y!S(snigpMl!W+~7#WlE@2qwpZT@ zuZekyf_VvEthNvH#cFJGY_Q8$h?er|SByMCo2`$w23>1$>)rFz=CQl_{_TQTw`l%& zhpp%>OoJACON$rb&oHKkUGWFDr>Ezq*C1#iXh8f4rUn~P+Z=ERChooe`1W=fxZLN+ zM9UWt(f5AHbnU9c+vZYcyt;01+wKf*_3dU%@+L)hb)J3U{5JS9+HzTrMF$UPMwH#! zF5dk7bo{PGPLu&!0`j{Tzg#InA#Hj8lH#EZFKL|_%6tUMScPt&3G1X$Bgo9KK6T;t zx_fefh?^^0M}dJyO+6U!4COFCHQDUuH-ShzOGsUuKF16==XrGZYf}j%8brB7US`7w zn_c4_+`;W%Qhn|yPnir@@_C91xuN(Eo~x$2Z(DR8_VO-zX9tZ}HH{FSp$g210_2qx zre;}N8;DO0b~0()sXn+D0B_B0l~n^8A2RC=KIE=72zcD64MED)2`%%!t&Y0t!cJ#N zAL5_CZ9apZ(LnI$2N0~S>k;kYF+L#Z+1u)kak}RVI;#mmLj9G@5~mh+N1-nM>x2$H zz>MPY${A3IJie0ArxEn%D(C*kXx|jC*Ah1^WhupHj{dqtVP9hi-UR~Q>%hQjs5@s2 z*IcIM*kPh@^v*=j@l?-pCr7!Lnx*H9X#1{zH1Os4#Y`3!Xd2mZ8*uOaZ?ZPGa?lAl zxBJnRO&aiLH^KcYohK~pYp>6G^=B>v3J-q?JDmbvHIYr3cI?tBi#Ro==^R^5CBMzP z7Qyqe7UcszFbqDMzpz$WkG0ada^uq~BT+ScY_athtNJ4ZaMv*PlUi-$3@EqGIzuT+zyUAUrRqFlD6#@^9pX|8sWpG>j z)Ylumt6~^9@8R_`OI}j|u%(f zD9KN1HFWSINvkGYGVWgPcimcGJ@l!y-sbcQn^;^`Cz1a!e@XRzz#zj^!w#WPwpSvOv_uyPc)cLg@y-1*gsZ_*ATf#}L-C%Tw zqa~r7Smga*zH-4v-e0nI9M$Vov#q=Xv(rPQrCp+M7a57h!!?IMr?$t?bFOUn^ccM^ z7(wU5*(xdb7Z$OMCY(I4M90Ep9>>5E`YTt+aLNqIWr zlj}c29_+u6alY7m*c3N~QRJEZfS6SNDaIxjM(E&X=H9n+sAzT2~GJDty$J1nMtXi4EVo!5_@m^Cw!q3oCG zb^#ZxcJpofWg-8?NZSXlI*8H+BXY|3g3@=CC|tR(*XziOzc87fX;J8^WCknDo^o0I z>X;i)JvOKF$cSjUjZ63Ac~M3?x|L-VJv!)@Jaf)%Y-BYD4x5|OJGO}y<@?0xe1#R$ zP&-tAbenF$1hf(*xV8Az{X}6fzFtl34y3D|p2aSXXYC)rHZggmxegb!Xsv(ihuK;Cv2}3)VHd0?Db6alI34>rR z_cZf`H6OQgUBN{+tRnvTAN4n=nKNoTD=i)fLj_LTVfh#`Ve~rdiNUoNcLPCIqsWRO zpo>WDD+xiA;WjXb@x;(odCVRlyP7P7VRz6J7Lfrnj}iT)Kc>5);P(rJ;#Y>tGigg0zH|tcq|PM2>Dd%Q(2d^woF1`aEhQhpfAYY5+w}cJK!#v!1#9 zbgpx{7*Z~DXKcej*K4DiMSc{#Jr(YF#pypumv3saaPv;HN^CEnXX|8?xZHpZUybE9#S+E?HT+`zLI5m+(#^}dtI{Lgzja5kIdLRUDE z(*CZIu$S_R7m5>?vHXM>4oPG%8Diof`+SRy1^@a=tidGM^|p-xN7b~=ozs8k3bC9g zI<}Lu3?8f<4VW7xCq8h0LGpRLKaMQfOnd-!muZBY*H0{!RWGUn9>1Fo!uS86MW0ey z!f*VzxCa@KT}V5t?Sz?6EYmGDjdT(?NXM1q$x^N^w&nbr<*Nvh{gXSe1d$ORPxKLS z%fJkyj2#NRpkOZTj1#Dm65#Y@Bz^#s3a|@@Jzg?28!|wv7nr2UPHZcf<$7WtqEk)vTlAq+t|c>A9ODinK;N)m2aPEuG0~;{Y-e$y$vKEd(crzTOf>yWz-yGkFp( z*!N7bYefY-CXC-pE7K?F$aGLrC-)#dVv^fl<7<&)TaT|wHBR=kdzCbXnULs%JuN2e z;*-Ya$(oCi6`9OwHN!KWP2-T~BNCtF9WX-fEZ+3$dhxFNL)9yEh#qsrMT$=~iCn7S z&dC8Kr^UDg;5JU`=USnANFwteUE=uC{$P1XZanZk@%Bm27?;Jp6F^`uP6;ned-W``sF^o5hGNyP z$G!}i_WzmUoV3UL0#G%*zEp=XDzxn_wVk9~-XyZjr7+MPWh1PBfgz%pbB9>G`^`^Ffm(Q5KRZC#IPNRT2j`@E)B+4J01}G?`6|-edpl%9+{c+ zdQG4mn@KLVm+vH0w{;UusfwiUeWCQi?2K@YpYMvCZj;l8a#ecs-6Cn}FnB(zrT7|P z$ZYbD_|7%1Nw09Q-1c7L_2u$U?dqHkB8r^Jog0X)9umRUNiBfHMkHR_q%$NwET)?p zZL0g=leNV%hHza#;^VwrZP$IyX%+oK_R7G@dVnqd04K9@7CxLmbVA)8*JwySxh=aXZM8EFV4 zk$OM(;oGC73g7qkF=iaE-fc%rPWw3>(x(AZDZ2T&2Pu52!-q}x#*S8w!{c`6L6tvpvg6iuHL`AO$ZWnCY_a70j5hWB z=zMu>0^eQdaOAYlARulvbOr|L+gh{Plb=KH3RMt5RhgypK4#TVjJl4gKKjA02t)ir z!9zxOPWAmC{>I;Zz7{E6m+0Qsn z`Lw1<+{#aP<~ANo5*)Tr$O-{zGwo|tu`~_cZ98HIYQ^%3-s5i$OWS@p;Z0rz9TJId z9LaEJT;PFg(;2R-$ys76kAjinUY)FS+tiwI9-Dt^_6Gu-D<6kS{|$0+UwTw5gzb;X zY447x#D!`_5^piNRjkpSh{Y378hvN%Z=H(@V=bK#p6l96riE40qwHRiBsO`p*_@lepnfspc#TGmdRc!zz!>5c49^rhXPO{@uFo zMNge@y{6qMjhrm!4k*=1PBVDWD<*o)XWiVcJoY7=G9xiv9~xpY zSGTGPNUIv4{>;wTpCd&p_{U$062=9B`|Jkvu}6SBsEbNfDJ77JBJt6WfF4tlY!#)QoJQ%fELWtzNpe0bpQ%J z0-~A~tiMzi%?x|gnQ{3*LwVU_gBS1>b&|uE#G}QF zLNn>Wj}wy{(()`yh*|8^oAd#12_%aBvc^s`ElV>kSd+vcd%X#@4(hudU8skE(-(S@ zzeW}16&3|JX?8JacByfKzOfMtwwiZ<$R}lf(eUZrvy4;NIXS#(*(5f&JsUdkqvZsz zc^F2CgpX6G3h;rj%R$cZD1D1NTPP&n`$pZlyjeAeQwzGc%cx&Oi9>eph+bEfOUk%o z+dF8g=Ym7OI~Z(#5k)5eJ)sVE3Q;w_S2dOSh^jh7Ov~3rj*`++V%I!9a8LRDemx{u zhbQPmiSBkP z>J%s0*k9eBGP$yu&luUpHb^J9UA<_}qQtZNlzsaN2>Ax#+rnS#4~O=vdV)AeVY8L9PQ;+KklmD493?$bhP~t|y+dqy7ZbagQo`Ht84gw;@pZ4wAZ%6oH z_QCw0k>6b?=x8jPX0OgetXju6JGenoreJd9syB!P^pq5PT zl+oe_e7_a_)R^8lPf}LMvYnM29Tg@`f7i109YR=s^Z_}p?AFZP8*h@NUUa^uf@Acj zik>{KP$=d#lLb5>aH)9%-606ml|>9iA<~T+Yxza72L;!~?nL?*FRJ2KGYQ%zfwer& zJSY_(FDh$XNH=jG?;#R-3S}3!D=tep93M^fvB_Dk63!biB$S>af|bMvf+&kkclE43LV(xH}~IkT&me+sU-PK zTgQN#qOz!w>H5lsSg?2B&S0Fn9SJ@q*JHA;P|BHmrJwABjbe-wu>>IlELQaYkTFhg znZ?{lGfbdr#f0;H=}(i==^pf?zHK%R1?iL1%G8#J>b0N@bCgNgc*Si#P5WToQuqrTwVoA|Rs)-=6>7xk3YMz}dZb>Th&JIPX+Q>n8_A5fef7TI4-U zFrHhcOiy&41FO(FV)(_MUgfPg_E{dtf4M>rb^duuSLql&i)Ek;+xw_|XDXHo#_sK5 zMaj3qu-7NZ1y8vp+2CgfX{zfooP10u?q9(;y&p$~d*$>d)=L^T`=I1A*}S!s0+p{e z<4`-tC6GqRd|dJPe&E~fJ}=99S4fl^a2!EdEV-?(7oO$8P+~XIPSCa*hShz~+g9Bx zPQw1KL7tUG4roR@Bf|gI1p*hSb`v>m%;^p(JX&&Rz|=r*86Fvv)v#i`x~ilz-NXWr z-YO{rx2Z25K0L?dJsjj+t{kF}cJcR@n|La9v8Dyo^Z+6oI?l|`oWx1hun}7rkN>=d z2S>4=;R0r-d>{-uVrdxO?c4B}BTT zGsv@7%Gs&BJSHz})k|{*3lBXUZgT$ZK=<~_r6|Xh-Bvb5<*tiT*G+v7jmM%N@pakm zu=Qegh-Mo7@3BXG z(x^nu_4UU(pCoCo+bfjXw64w0%Hqmtf;fg0mIDaJ^?v>ZdjJ`u!eFYM3AjM7yKwi*M`(~if>WU8j6?2$|0>%Bk}5I}Wt$NWi*nrP&p(4H`@XxQdLwfxL3u>{@g_}@U6AO`>v z=#c39m6ceyvd?(}dWB7-KEv@5T|eTRW1$)Uu~a+67ld#crMxeX?|#5Ud97F_;jY3p zDw&h$;X6@& z&KX*76z>N%$Q^6O^DtmT6cJU{*9$#vK~#P^RXRN}=Nx@u>|}UApja0Ln;(qs%4ba1 zJ<4i=YvCaLPK*}2hwMtPnVxWahulhE(aV@o8?T^yKl^g$pwosZ=eZbv7_89!{N*4L@72 z`+pH}ghqtO0>Ayj?@tYT%Q1WPuuhqZ*;UVNnUY#q&WNKj(Fu(VZWL9C2N&&(;Sruk zvOG_M(Cq!87VQ%QZifGvN#Z?LL!RiT98R|DEqPHp8?gw=bor2APgt_C{P9DNg3 zO%ADg1jB0(dN&)+zdFv_^8uKb$E;rE0wmETwfcljov5d8uS8C(10F0zp6fIYp$L($ z5MJ0dFNQfqN~2Byua-o`urzQ(<>wmKV2YC1#f=DifmZv@J!HD!qe>i1gk&0V2JIUR0V$0O_4b z?==uQNR8Ccdx#Jq5SkDJgb=u#-~as2nR{Q{H<{s8CNs?US2JXqhs?YZs1$8?@w>av@}kM z-G7`TSbjACsTCmGAFUG?zr0upS$}BwWuPx8bq;o|Y(VbT0pw>GHaYDthsY-mqZj%o zIB8;%9}Q$M9sFlDjT=F>4o?RlfA=zy%35sXgDF@9AOA8j`%Z=sg$D-R)JLS5 z9pa_&`OHsw#xCv$JRX}Ibp`)C79r0$6eTCyd%XF?TB=3tbL;!NQ@ z`=qJ7RSpVt%XA_-Qy8Qn>zx!G2_HI`O84K2SJM7wpUA$2G z{{1H!YiEH92(Z^e^MaMj0m$m?iafOEoI?Hr5B%6J#8WE^Pp6Y?O|?>br%L_!v0GQT z`3Fu7wmttjdaDw-kt`Rh6cceben_W6a+uPB4ftvbE+jb&RC>rSDynBX{=+e?`v^R=5IcNfO{d2nsmLgRgj2v73M#K-&j z7f<&Xv>fL?y^?r~y{D#D%5fw&#UokobanUH86kPss7lx;&Nldia6?;Vt(Xy@{Ogd; z{$NQ;hlva-%2w&DaZvnoYoXd#N@W9PyLi=)SAH(0C)j{=8jJB$PP5?eBi}1iv6cMZ zMIrZ)4R_C!i@ZFSCnysGB<{SUWetujtjh6hHXoTx1irK#yTd{giH4Xezo|HF+a(XZ zsB`a@;7@TV8>H-Y=IqsY}?Ci)qNGD$-1SvHOr`1@snoba%ira z==xXHkl@g+>R=-eN+%wDG%}gQ4q(S11D|km~(o@(iC4EW||iQV7hx7LlK_E#g*` z*p5(_&Q8^CJXTOF$5u2~mW5`mI0#qyRRM;@ALt(6T(C8-UH6vB{R|czfSlT$(E`)K zAiG4B2d@Vo4-`iwhu8@Vo0D&}ddVXfEQk6;!M~off8Fq}_mAS_M4653Pr2_?wU%C> zWEu^THC@(7fl3}rYo(eeJP!HGeGWPKEEX=kymdC|7Gj!__>w-63prRYb~s-4k19(#w*oY_3H zS?B9A`psE`ZY+u|3no?&Z7mWB`O+Nx>se6HbtG8|QF2Rn$dN|F)3uHZL5_@Y zYfWU~Tnf0LBoI`-NEObrF2;CRT|}CS=9+BR4J9~VW)u&FQ(frs(smBx^AchV6{D}Z zMC&SXjKvcGCn_4T3oiP`Kpr50|1)-L%T!eR|*bMBbP z)G8CnnIvssl%_)u`o>XLk!vNI$ql_T89e*GJGU`Ak^i5UC{|zyU04>DS>FJ~SbOoV zB~7&6Q=xKb$*EOEMb84%Bgv((FYa6>O{4EHx!mZH2&kxj)-95c9Z8r+$o(>HEHIO= z8<_dF=W-Fa_b#DwrZO}v6_Z6u%8k8O#6O;)zvl?R?OF@(Nv0l4uxXr)56TvN)+3Sf z=h%FaW-If}jdh{LJ`}o`?dt$y&HVf@`M63`P{>@Tn@1uBH^1hQ=oz}=jifI2mT0)l z_wFtc0F0GY(734+n&B*fwEXjBuF9jF5abB)?9}@}K3(Kl;6)KdSf;ej)5r&J?*8Y) zOOaJ^SkzZs5SKB%r;THjbR}Q8M7P?%{8lTsj9I4n1swplA$ms7TU12m?Svd-^nZh2 zJnLv@3)Q@X=l=WAJGZ{MzTBtR$P8V}YEu}7gNUPgi*@HVNiCa7-PiV-45F@vj7CoN z@1S~Orem#;iW~hsAwT)9iDWXMMw@N_XGX@*24MKJ%M+y`sulp)oPSR!<3XCWl0M+^ z9pq!m+lP_uwKlpL!hbG~*2l8Z(KBfrTHD1b`98^ojKEdb8m6mtu2Qfm{M`{>uHegW zs`K(c_@1w*k_~JA;VKDOUpg5CRW7AfWV|Sdu(YM zx03sm@&+)%5yHFr6xXi6Ej?HSrt1czfh_wa3hknHHG{&AC5|YCF$5+B%9V%1v90!4 z-sGS6d@+^%ET@@N4%6jz=OLc{7g}b+CZnR&ULCz{E)I{%NxP}<(B14}6-d{U4o$c} z{dMcdj=f36p_lW^Ii_V4Qpx2-O{K^43WxeJjl5sp%cyJ_s{GTU4LteY-FfV&eW8W? zvEOw(gwTDqSrO#fA!jbr(owr50uoS}I_rtCabF)PEr0Wm8m0Ygxf>(asZyY{f;Vjw z+972(morDQ0_@%o-X?6-a|%LQ3xf|6W8_=5&)}BuaC5$+-U~G>UV2C5%{@>S0@fSe z=ePWl{_r=@^g~G{=fhM71vR96A}RKj_lVYN8##pV(TglyWQf4wG6D1vu1X$>=5+=o ziLD*6by}8!48^vrh92yVY?1NRH|JI#UU#cWZt2T}pFi}t!YWyX*D@%%U;p(jTgyA0 zw`b900?6~rW=+N`oJn#JO65U zA)Aon@sS=(a+8bT|nsYUVUFpfCAGNB1`5hr(xhH|cheh)c~o5wG7i z7ryKW{v5JuS#z*;h>TOk|7v;~H-wWgNvTy60x?ZdIaWiY{ej8!)k24hjpp^MN7`z2 zZ#EolxfYDH>xBbW4Ce5b%1F{MT9^Lnu|MF_=1g&Y@(|^l|Fd{2#`Mv* zL==eC;f$2j4sssxexXVIl+#|(mdNtkR64@Y(TCueDvyMB*!ldM3mr`3V*dI}xy=bpP7BH7R^w z(0%iyL10mu&E~RkW?v@jC*E5=O4=FHOI_Ti{UZ==6y$zWeB=3h%PfA%wtNOrCv>91 znK>EAJ%8IpW5ZphD%w{(d)m!wcsjZxu^Uo$atmJecK#OC{3d87FrfOAPg_fJPxe>hR)~s_Xe(!$ z|K;gmUgwY7Ql<$TXn&bwQz6lzMb`d91BEg}X59jht9xtoVXa!aB#%w!Z!YUGlGjIkS$IN z&;w7)eLy@7RB#R(qd}%O{W?9Js2gx<=47W?9%0-|39#1SsVe+Z40V57$2!rFM&@N9 zp2T#TPAOtN3hcMcvSs*)*fN>E(d){KA*D)>RS^$~(X(8=vp2##(+1%tK0T7v^8atm z9Wz7ku=WX47^o3q z7@rkn-VlIcf|Zm9*S8v_{eLwZXN=iC{{Pc#zX2}}E!Lij6ZcU@oD)`Q#USk9B|Ni^ zr;sCdBwAvvrzOMXsKLPQc7YdW@+J*uDgVEM{WP)_l901$n)dbSkyI1|>yr4&*Q*{j z#Nt|l6kB)Suo>9`Gut1(d-`mr@Vj)QC1SK@1}Y9U`R&!C26xdj2qn zUF{16ZZ84Pw?wap5mzLKE7EmvMoWjuOQ&GIXGZ3-$LXmW-pQu~D-{bCmR)=^r@lbK zFQ#0L%HCHE-Z;@y8mUAs)&kXnon+X0=B0Q#*h*H6nyf1W@bLoQwi=w?mU~!LY}c4E?p2%;-f8khuQ-vXU>hDxs)xIq@fyXsU>~4ZZ4E z?BWCOykTuy#uS@_v=w86erJjqOc{7HDYf$z$d)y<5_5cs;}n00L)i~IW;`i7C(`(0 z*l{G{zm@LJiUZ>F-Xm?%JaWdygJ(@kyq>=SZj6M+gpqDS)eg3S)epExflV;hIe<%wCPY@0Ti0z%`u6zH|^8W0$ z*zGJ3df{d_^hU8$Nl$elLnk*NGFyL}1=*IlrtXLPycL+vu5EM%&x0Yq3ze*2*g9)x zdo4Qr-Bsg{gj%GvYoAO$e&^|garXN|%Er$Km|#jq#2P;Tio~T3RAX{G$b5kA-!cCh z&+p&kX{^_q!@Mzs%yoU+8@xvx<_|n@80sqH#(CI(^m$}H;rK1pS~;pae>pnlefP_f zQWmAJiqXFY&zCg-Kj3tPaf)rQRnV=LG1|U8+|MeSGOn2%PIXq{a9jE~q7;<4XgE>P zIIWOnJvZMdVo<)9`&!xRZtse5Lj}+yJwX_-R;t8Ltp!&si9E@^(`?agHu0w+*Z9n< z(fitdDCY@p-1D}kls~MY$7Ygg!!Ag|h%hCFRd)DKu3INtx~#UyPw_nY4E5*J3IH?D z$4Ue5?k9{p=Im*8TQNju;e@r0nx77a%BZt098a$TC|Bv@t*fzRISa@l*`>+gdoxz` z171tQ36<@^gWrpOe2c36Mf-Hcs9|d_zdBFOdM=(~|GlJV#apC@*~!lq%wEBS|0fv~ z+t{Jq&3MDzj#+P8l&MzQXd@`|I*dAw=+=u5pzN*G(3=fxksija9QX3hb@S^Sj2gVd zul|fCawR)M*0fJd`?A^)(9w3D`3?hi(9lQijdx$hD)_3omk*I=6Vu$@E*3vb3E{ zZ$F+}2BKXI%#+@t(f{$G-ImGsAwO_$)I-rJ)n(%_K=NxmU3{X9L@=#tK8;C>z}ZwG z-Qp2STWj{+XL;6!Ozh8vF4+1nTD5>r2`nHgUULxt!MDw&bj+wSPlNv%m!xAbQI1_) zaXZFc-93zB-m@n#dd26_L#=(YgZI~UteLj!v2enzTKcUAApzvw+oWR?xm4C#3e(U4 zPJM=2bXBd(taoidzM^{S6ABhxz$d&je|=E)<2@SZ(0nU=U}Y_n;@_mq+9^%}pjz+| zT6nIC2Z>mnV_OZ$A5Tr?CqWiMLFZ!X)+T7!00Ntr1nf7-mM=*^rJq?_YrpfZz0k)hTdmi(c{Fx+29!Dw>V4L{^L8o!rTZfiM z-Da`{#E)CaF89Vq-WWepcKrSNALBavmDXYYY}=voKpZ1LIwmV!G!r0^;L&|JYAh5! zQvZqG4s6ByAUbX zhi!ySW7xLYl}@r;vo?0OoHqee2@mOnlfF_xgY4SyYc~_iH66#fYOQYrn@`(LZ=U+y z5-tq4UYcLR^D}{ftZ}=!O{cL;d6l_>z)I?IyV|WsrC^q!k7w;u=y)p))1A);%5Lm3 z$$ZcX-gb@6e9cxGwy2puC5!vg5tb%*;Qa|H4;|r52yuQ(>`3O)-}^G&dCVn2BUFT0 z7&brbYlN5=*mO&qkT8I);2+>QG!y@kebc zuCb0mf;G`OSrqjRrUm?Z{PmfO8A*`Nw}}hk%5}oHU8po$4pgQOIty#k4l%YK)WK?= zAG22HwkPRY!Wx~_?`BZ=+E=;M&eR6txDXXNzt5I?)1FKE9WBQb#_|?d+y@be*wLw+ z#ZAyRUA_oYn-&JhI5c)uoDn1L2e$Z?h_4OMf-~qF7-}3F(tPcLdw+o5?sq#ofw^(H zXakdsy)bSnRB2JE7OPs>>i!n2Ln0q4M&(DHcxSt^-#2y8SpkB6**W!=a`w6=@b#VT zD{N4M2jEMTRgXKEnmNFEfA6k7uPf>Mu8)^y4sB}}ER#QOG4GwYjcc%!${>u=Lj$VF z`4R_yF(tWZoObTX$W>qPQYst2Zc zWcTM{3q3$Mh$fhfwzYbM_r-F=XIQ$SrNW(qn7U%6b61Q0RW|)BNe6Kk>RancH;X|E zc`LEZbKa)T(lc<{ibFJiNl8nlq!EMu;{&bO1xC=AD3fhRmLxr!-NYM}ONNQfpFt`t zG`FD~)sY{;ydy4iVIJIp+pKx9Xd{(1OTRB+6fM6xC&BvjMFyy**sv8r=#GH|gQ$Tb zvh$E_d2D1I1`b(C7kAO}k!i`@i>6hhj7`Pd_Fnd)Iz6I>`wiTeV87q59*-)lqBL+( zTn!EGmYpRC8e?Rmvij%I`>YNj{ZpXk+-`z*Y;Ay)yTg7)0{=_du_T}2p<4)!t?fm4 zY78s;`(#WJci`G#3JO!DeMiJIS{h)O<60WB^2~)r0{RL+?05BohE01uebV5ew!?*! zAp1&G)woD*x}ZaI7c0zV&crE=OacaTT|S6a(V_k16qKx%Jc$x|U1^!jw&KJuq?&&K z*)%m)OVMJ^$rDc)mjgNjpu1x)Aw@&vxGY!koIoS}9#ILXXu`ORUNS~$O$A=-ebMJN zLYFIRa`Sh7%#pa3idBIekAXZps~$q7lHH`~E11$*d42x zEGHYHh;s}6PC^$umw>B1{U?@v0hr$y(>CvWGhI16fj1^)Y}baC6#B^YU{Hvr=PgsSqAA^!)Mgp z$9Vx?hr)$^$=q+O9SzAV{taOC&Hw+cdJd#nAjAe2Zl(PP6gh^71OioYtQ*oqr z3M{ct-+56}TUMYO+|hf`=(fGW9>VIGW&64g^G>)4Cz9TFzFrFp)M{G`>DXl|-g=a5 zWTG0TEHKwhrTzTo_b1fJrBp8ehRr=aaI23JH^B0hS3ED|63Q97S#Nyq@yr!>S7Q7e zd}VzZuh>IilLyuS=9A=32R2hYd$fH?|E9=Q&3O}c?h8GHxzKl9D8`Jp=9@?%b2bU} zpce3S_NF6n2 zxzWMxkZlYSFv043GpAGEPj!_nmFcB{FdvYi;^|Vh@aXPKCI7b#UhsE?ew16kpZSa# z1y6c}%E?Y(lFF)zUZ+_Dst$L{q=xl_UDN!=}xZom6_!NV1VL zt*oihUFdw>u|1w52VdUkad?gz>|qn|+}U4+m{KelE_j*WqWfTDSi~=B6wL6@2>#naAGeGU}s> zYvG=~c$_QHsUB@*R zDae4h=WGyH?Qj&QwfC&J0oAXD&ce0Gz%}oASCyU zVz}RvQT1dXktfgyST3=l3wLCFF^qe9RP>oc4f?rUdu_QlS&khhUtVfptg7TDEC1i6 zH)XDtOW{TsjuJJYTYk}`8O#g}XDQXRjX3j@u)1e+Q{mBv8a4Q>`6WQ^{mak!s7^rE z6zL@Mh&0#{G?ZsJL_E|HsyE zzV)3O6F@;T^n>|Go%}ZA%HEaRjNAg*MY&2Q87N-7T)|4#@qcS=uezIlPethcSse|K zs@UNw17JNIJ9GS!|g z{o;YgO&OjlmMp5J;|rpz^;2iMIHoKGqXyE8rgDuj-z*%ymo~&kV-1{7LWe2M#}7?Y z7>_M@-c{gCzURT?)!xhq7L6{e?;JYtABv<~A>wU@s*%OI`D;OP%(jkTGekxD zd=}(ah#7bcZs`741iaI$`Z%>5RC$w`wAbX;d(0d+pQ?PC7xdSU=+6CmE8Lq@ecZ5{ zXbR~$S?UNcB+hP8uBG*1DVW}FMrN($$GR*LdsIY#hgPtGM-NTh|JCnMq{Ifzr%f5; zDPswwb3r!n%s2mf>t_1B9~P^$IMwHF*FGI92Oyeq5U>J-0xqkhytLj*9N*&Aa+ue( zsv7AoxTO^D$4;muet@+nUVYuFpW^Zi60M!A8g_^<{G*XpM=5)s*zqXWc_`rzq+Y6a}z*Db;7HeVn+)f~5h1^(ZK zV1AW6pfF&|uYE#s>@z`KTC9g%_F&tt4J|bj>T|4B{@tK1Z-#8-Ds~|v=gc`&lkN7f zDp!8ouL}o5!K@N{LrGnuvWep`NL#hxflr$=B+jE5kw*1sR!kT9oz&%bs|+sm+Kn21~hY2eOra8af(3^w3>K!C9ceO{RC9Et(WcjMdLc~1|^+nQn1FYTPv(X z!$W#A@;WA)T^5dZE{7G*_s1CsziSjvCcc|?cK`dWf?Q8J$E3D4idtzckn(u%uEHUB za9Qb(nfJpCI;ThJE)Eve3DW6}pHt2|TI-85#QE-IqwU1wN#@%&P#`!T<(aoFnx2UT9WfUr*-zN^bsqrst!4_QN8Hc!3~s2CQ2DLp@P(^2owx!)x`^ZM)sn-} zUHjBeZxyqfK-I}x$_nzI zG>x`sXB7qJ`lyCDZO@lt@fH!E?t^lvmK)a0CT1H}n^z;mu48C(c&2=oxx!BH23Kq2 zxk;7`Hqb??qe+*yRR<1LTYF8QujrQp?cdPA1f&^-6{}*RORd&M6GY`29 zHSn2gt(5?(^DwA((C$j2JrO@N#hJah!E1OWZLlY#liUc27-h}6C?l9u_)QzS@XUqH zJVG}+IkbtTa_OYh=YU_iNK^$El+CGbw-3;=7`wJp9!`%0qXy1xG!|}bZdYW6+4f3H z;@T5{k)!eh*h)5%bItx>f2w-1>Z1HP*{3CJ>ybVjvfr>X*T7W~)*Pjv?bfg3^;oG^ za-Fzux&-`3$%?I)WfWO$h(G*9a#l(+lYCP{WE@I)w&MdZTxrf*MADfm;zfhHh;o(} zl*LCQoEq|0eZA)apdKWK-Ma~X-qtmAqRlZ3wVY^)>ONMT*ViX{9Qv7`yazy!q=%sb zXSz5LO|9MWBH<6wUP0ZM75%$euW`%hOzAm+b#_*~D|2I_kxUnXOPyA&nB+6*g*}Eg= zJ~#7I>LAR8ow&GANI%#`;5$gkGV*3_b18xNnE(!T_=_$`$ZsP~;W#k?3lz+vh1}_XbC5|b*aB&#G_ZF5R9CWj5gudkAWQ$` z15We5k%b#&RP<#1uX0x@JwM1YT9}F3VZ~;3J8XRNQy0PI>=@i6{R0afJm-;2G73Yq ziw6!NNLZ+rm;A0wSs^}>8G6bj6Gjb)B@cA}l5?Xg5E@0XqrX?3RG#aJ8quM(+WJ;+Y+wffE_D}&I?rEP76ScKJa7PH`uvz~Y zyhPU@T~Awh;(RDLGhex|mR_15G<933Dpuoaj+ycr{{Ef7X`kG`kfH@p3+=o{^@>3) zm%eGhr{AnAUI(IaAk>)6R%M&XL4zYKiY%qWtD)1wHdzHACmS_rjQ^oJGHhrzqH$HVcI20_qh4ZaQLKH*X|=8i0$ks@AikkQ$O_WEZm)Je z@B2K76R>uOsBb&ekV{SkRv$Ww7-&jF(;g@+7aSG^VimCCO;>UCJ~V^!b=f~RqnBcA=wf=a0>fguUd2e0QCh`m z(U1Qlh~{U`Ue7aV_6I?I-hM(}gM9yf(kD1ux0mKXOe8?8BZkD>>SfH1`GHS*{_o^x zCt#2683m7WeN2}2yo3M53LdypZ=5OSCJ}BOl06(O^nmezn0aKa-y~!Bxtl+IFRbdW z$)DQ^`oSmTk!`+NomtYbjwL99&coyAXc5y%n?dMmU?tMr(a0N(gC+{Qs<7}hZHgJv zP*$=r8pz*O*#9zE3i#s<9^A4JjCyR=SalJsbpP?~*SS7R9|3j3{QDwc>4>41!KJt7 zWoa5^M9lFN!(0scMN+|vR^*bxOLp97l?iy^k%4RUm>n^_pGE8Wx_9iS5W|TZOXk0n zP;}Pk)(P9ErRJF#o=a9AotYIsDSPQjCCjfeg~@B#UGk6vNS-(D>v8kUxOiOs6;u_1 z<-I>Fk9kuK5K5>a+)-he6FNM0%s!wWLYNGlh`R?sI^Jo#rfaKopGB6r&!$=yZ4Oz{ zY6nU0Jd6PNtWkmml)XDGw`^mmOtipCa}ZQg{NTYP+~^H&|GXUjC;b`!&+ zW}*0&-lOmzjKgA~_ZMNSy^6mOy#!$qhA--K}j- zS#CDy))aJ8Zkx4N(eYl(Z|wq@v^bF=-9BgT<-e&<=dW?Yd@>6>%3)*&U;E0@?`cDg z;_D_VkJE$$ar2B&v7rb~J_g$>cWeH4f_C`Vb1IJ+TMI>XKs~2Nv21bq?=5N5&Pacb zY7}k&^$Jb6PGGDQifW$`mAG`&Jvz(8$JkRB6*l+%u*M8T#h2K89WWhvF~adjTKJKL z^qb!k()+o`H1s)%wy6=4{b#^m^j=YgBQuE}m#bC)0#DNBk|1W~4eFe0ucCq^>E9s` zSlqC5mV1+c5X%YeF~%D&Km5gMy$dE(k1ytrV7@)M=B_%nj_7`b#20OnXQG<}9&lby zMJ>!VQ0l@P`vUkKDk*0JIFH0IxsEr$2_L@^>BnXKRi%(DkA-a>lUB}bsMk_zD)5`HHxEMw)z;+aPp%fy5BXxEz!r^p2+Z0pny=Zd@?!e@ z{lPmN&g~$eMF72Vx&|jp56;EWKWplSH0Unus1GUPcu|xl1HZf`4`* z6v3IdQlqftb!v`Ef6ctjX?7EBxUXE1#%G%T1M{&J|2M>^PiR(>U9vj!$k}dV6C8$a zDJU4?kB<{2P+b4hjyon>_>>~&QSqYe#n!FpU)<*_XTZgb@bv|ut51pV1ntjZQuDXy zABJ>&DJ*nsEPT zPiR-cQC^;f(@VxHVgP(8yCNW1P+t9+BQJmYtFP}CX1J?6BO-3$C6R`npUoz&>PR60 z!_ptPC9_TPl2Ip0H4gGoLcHaLFJyR`sl?WnJ)BN$LyS!texK!K&N#`$&9lOf)r5KU zK=!F~It7R#*wu&<8$^p00&`C=JM&(_emkuw{A|XHH=H#x*3mTz0$QuRi&XRq2Kp?Q z^1xgcCjIrfC`h%m$xnPCq_8uy3B5D80Vo{o5f;8#wHL_wvG6^QmXrWs!Z`iUC62cG zK&xEF@LkhWNS}nZV7ULuse8);vTUC8u7=3ce|2)(IuZHG15@QHllMlil$Qv;`*q_q zd8a2geuiO^c;>?>xp*7cWAd3QNRRTx4ppL_KgeLts;rofBK(Hkqt> z!~!iS$cbrUo+Oxid0Emp3R(Q9 z;|ZPwDoH6+YCD&|C^|M0Sqn@|8(RzbRyVJ_{wPyft-xw-;Xd|Bayaz$rQpOZ~!}@qt^<0;7 z-onijwrNZ9hJHtW>#Uj$f6;_`8*8cK7t)WoEx$hxkoW3p@uYpd}^MH1ATJoFk zm1GOeL6dr2h{V#DcAU2rpo=gcK5N-rKy+}S@WYm-){m=`$l`-Q9aCxA78iaaCE{_1 zb=ZV?-nM8U@wQ(vbE`q&NagFfr_G7czp3nlv;h@GoI+zVYU~(3mL4o63o3GN+vG0JZHCIavYI9%mYhSj3Wkg;oI?y#y_E5~L_>Cm2pm}X z4++ikjMB>%8a|3|!n9e^ziqoM66+`z`on4vVRzm~?BNPYsqfo+uk&lb!&JnNUuP1I4H_Vat#it1iwU4fRP6+*Dw;g%}zRwrO8&{gd&ZFGDc0H8#qE_!^&r8#FJVG1R74*-VD}UZ4rsxG*rI{B6;_5|gDmn_Xv@bio!I?2mQI z^BD}7^+Ru;e9N=7Wrqz56>kTLIqr=2zs+J%n?jz9^Le%?4b03v7`U;1FeplZnwr8C z>Uf7QBdmYNz3cop5HhKs7t?kevNubhFR0Rfc7}cZMsj=z)Mq@#B=K3WYkWs``aZO6 z^iWVABfl7Q3+?+X?^iLculN~py-H6PZu~^6Pgv!0`wTc&9tLK4`AO(v+~H5^Airt* z$%LP=tX;?6zc3Y{2GUR4kel40)q&P!JmY2Kf+Ib@%vjQ7+yK4h_UsMdK*cs#IpvcD zfYON8@wKWrBpDgT)vBuGy;hID&uu@-0rL%{s1j1Noh?`WV_u)|VnTsmo;JpKfGYVU zg>B<}z5tp=LJv&0X6(=}N< z_|bQLM;7h=z_^<9#mTt`)s;@1B{jT7viIkp*!hfYIs({WK4p!b^Bj&EDjgY za$!&(#~sR*xDuu3F`VA260`dD&kNUnKL<%BeJ}Rp{d1=Nm(!MfW~P?6-Ct1|5*4RE zKlfVGe78m=X}pBm)aFse84EaUEh~@ZDP-y1j3WJF?#gVNyiJT7Kbws95RR7Wq zb20Uh_?*NZs+KqbIIqXte^w&}RxxQj){InEBUx^pr7lE_Xi%C0pZ7Gz{U9+nwD|p4 z9!Y;Z`X616OKUS3%NzQsTePbf!U1KqF!kqP>N#hb{;JP@eAN|r)Ux_+Gs(cyf5YVF zdSd$kCl{pA0p9omyfYt>gxq{aF&;(i)k8Fzt`a_Zr;Td^-FcH;e(9Qht0s=`mja{+l;@VumiOYnJ4c zm`~SFV|%5#=$+su4j9Q)4f(x$>m9i9$FkYn!<+38wT2FD-qdt=s7il6U7~<)39&p z62C)xB^kwki}O2%hNRAj6i*9@2!HaN8HZCN`h7zOhV<7Tc61vB`8%{tD=ymo=;JaH zfdj_<=f8lVyC}EY>ZeibhTa&TL6GVC&cw2(+u3^~ncDU7!7`?UpuCTf(;X8mo8DWewA0f@^HE9l6ERc& zIty;mHFYC{xJZ0MN^XPS{Q=JBv6=Vfhp{0ka|A0Z)MIlM*=`e`d(eK< zTgyH*#*%Kk#&n5jbHZ-kn`LWIQ^1KH`_v zzHJ0GaaSOVW2(x0Imnu$S#WOU)|LFdFe0{n%KR~E$&TMI&oR*Cra4llXXFEs41|sTPghueqUFD3x_nIMV67-& zy!(htyT(mGk8Mjq%?PlIwJTRYs=u zeh0V4;53C87t3=U*3l0jeu*JKg(1Eqcll(mm|Th$)+uT}-Y)7mjl^$hK_rdvfuRPF z1uaCz-_BsR+6z_jZg)H`=?UFXm9TA`TkyA=TP9Eb+z9o(znv|N!ysNrw|HktV-V>s z_utTCC~KtYnPAAt0^6VL{Q=2fI#YHdEd#3q%hB7lti#CRj9ktC43Wd$2dH&IhZKPdmH4Izg8all@PNe*h=|YU+v@U7p-l?|fe~i4 z(L&f*Cv*R!}XQ z_bzOZM9bI2uIubn{o*?>o@?+a^?40jyy*hXIUL%vUe^=!DP#6Hv;(Pl9nTP)fKi4X z_+~YHA)tKwoPJwpN)PAO@snk?oXG&|9_#2PDPLqAysg8=;HuaEJZVl{fOkMAIg@{H zsGU$z8B~z4>Uv)kTW_H%gzS)bV8~UA_3{3w$4S*8^c-2u3HFKK_I)#<#DdDfo;w~F z!VdFaX>s3bs-d>z;}JV~)NW(0Rl_{k+Rct!$~fsjb@qGA;jcy^Kw-Zu$rV}(DeEjH zBP8hxbnRc~P}rWHGfSE}t0kfnJJ0)8I?rcDhwaZi|G|5v=xji zvNee)N*Q6Nm!CI6px@Q9?cywH5Y`r~*B1JQV6IsG9a8)5!@#6it8>Y-A zS|+9K-I~ihVS6t>K*U0J+Jnykn}BNRuV^})I!oL0ueKbODxp7|aQhL|(3^kpCPf1fCLN~2^c7mJbbv6(P72|F?G z#!4q!$FKHM+;9WlfNi<<6iW3t!{PPKLACnq|dfu{{56IQfsdsjSO{%#RES!+2% zQhend^_Rg}XscU^8iP zeqY`NK-%q}aIEXFF?7`=TqNQDVeh@-n$GsV(V5W!QHp|!QUxhWmEJ)Fq=WQcq!W4x zJ)nXhQiAjvkWOe)0)!G2=`FO-dkX{tQbG&m#J%U4aqsuJIp^lwyz9aX;lui`wSK*P ze;+=I^E=TLy9iz+=XCDNV{|CusBA)OE&z>3(_iKLR{YGASamE^9OEf)_UoRrg%lU! ztpiB&pwL!wBQ@WyzRBzPw;{pT%w%tT=Bb$)->UD&jz(SzjE{O<=+$K+nRE<%(T!`{ zU0rruUKXeHR5F+@`O?sSDeZ5cCTTuGX&qm6<)K*RtcA#gs>bx_n6?+0>CS*wUy+v? z;A}iuWpmC>_OT4QgGuMKZ_M^^MrC59`^*wTbk91ow zZ2LStC1#H)dX#J8tvcbPbE!bW#3-Q|xCvA*yUSqC}R8|9Dr$Q~PT7R<7fRNu{Gp zEsUfLVK`k&`z=O_^*k~BgL>Xi7oWeaqWu?&%I5WKQ7Hy&YKtq!U3`lRU6#Yv^d{sM zOgV#JaYWYwz7L2rt~1uNjFgBR#g=X~b0iwgr)9Q&ZrYOkxP1O$O8Q3YDQ`{i#m&M1 z+b_~(km6=y_KevA^N7zs{s?EWAC$;=edMnxeS)kYO>6iBza+F`X?=%P2U0S)vipZm zF7gLTwgk^aN@w+_RY}L;3`)hab&5K92QYp$ESd?x;~xrbyzo*ix53O-Y2C5J{P~ng z^Lgp(=1U3_y9$YprDo5;jx!I9tjgWy6r+`f=)Ik%W#lDH{Kq>hoY8x%09BcwehZuO z6>UA9O$sd@kuFv+zw{4_Jj~SuBSA@7v=IF6&Z9No$`WbJwafjp=Vt?xZSTG-Z-bw* z*A=e?OrO;qtn<}l4FSbEAfrCF=OYelhMHN@G0}P&k5!32 z02gS{t6qyi{W;bipzUG9K}-!&Xw~qYNFhW?3{ijk-f&%9pM+1GuczZyHh3)cS(C3_g0xRbXt>p<6=J>^xx5CH-3_FaF1=TL3@cO!$7*;L>w| zRODKWFSl=S&BKFMn&&AC$JWtP!tq31NV{8g*Kx*U?5Rp=M4{lM|l)^O2JRZ;g1*TL^5 zINNzb3JnM%JEO!bQ)mN&XcYA|tSlK-&ClAEaWb-*-IcFgQr~K?RI_0~2hxY*K&QQV zk);`@Rbevw(j`(%U=g=t)qF~!rINUcR*qB!l$%C8hx&rO-#Rmo!+wGEe5F!LpWd;t zjOh4t-{B|kEUC!Kv7^>Y9G4xr$Lk0SE^3s2(bMS}9XG}W;O=|BfWYb@{8{~l$-%)B zb-2>Va7UOZMaRs{J#^f7%D4KRMwz-&yc{kKO6H~Ol8QHTF%wv*quqhdx$9!Xq4v~3Iyb^lZD|!ayhiThld|LU1 zHkoDyh3Qo}yAs&IyWg+}H&6(}xfz6{clKJH;kN2sAkNT8cKnR+rvH5DTmS)LQ8hb)xUv~lsjYOtcZMU$ zOgVSlQQ?#Jsl#A(X~sD^liJC;Cdlft@&rN9liE1VxCEQ2Il5TPV5H$dTmd0!iba;P z;U7~$PO5@-FQUzH0?N>Ac!Ia^W>GeO`N4BLBMsa0OpimxLYS{_Y==#Vf8Z5&T~>W+ zkcOkVg<7eS&6zQpRc`hW- z`miIKb@TzBhv-~jogm|IFTVp~fp~nb>ndm-vo%vF?!RTayY;#&6^4QIyfm0GUz_ch zJN^vPV+0hOy%H&-tGAYT?JtpRfv-!b&rbUT+hkPnhvFzWPHD9_*vLqFcS$zaxVy>1E zh?2xc443D!b>tq|I^Y#4$y0@VeIYH=8Tl638O<2a>@^ND0Nfa6%9^C`bhZ8Z9mWmy zFWDlB6pnbD4xVhid+Np?$Z*QwBRYf1Vqi@zkanz59OnAFt(b@sIlMn?Bk3)&swGnr_Gh--QP~55h~JU1 zHf=?z7+j>M1G}mHz6TdS1adb^^}W*6ap62|@!OWa{qfuX;fZ>qa8$gPKjomNGZ6V`k zU1yf1w%&mwL>3?@!y?5LT20w#-o0=0nOYN__-;NJ*uD9?zzt;{)_OIw6@5mF1K>gT z(>^B?dT4Q8153nN(CEa#j0xWBSyzzt4KR`^uQ65|){;I>NU@vu$<^1)*TN4MZhPS zlF+UFX+Mf_+J*R67CQ1CfV(A3Pz2NF^|^J{o&@d7A5)eUrmwcxpg`61 zUAe%Oup|96sDw)o-1>S%xR+qAk(5g?LBZjR3K?vQf!|S$m}XR!<1u7&%Px1oKOcW= zmsZypYMFre#oWf~8J;)S(Rz5?&|)?v->v&B`V) zBffot`)W5nLCGSYIxrhd$eURotN_frR`lp) z{{AkA3eoa%@2&iwc#rdqth)S;01KU$I*$CPhfD3Hb=}94cY^+SC;ISnlGl3NW=qX)pe_IF5SdG6`#%ZnQ(Vh*XsLJbnSAg+fZI zKf)KJT&zev4dw=(W&|X2qB**iM z-m&}$XNehau5vofbV&qpJu(;yB0q$(nwg56zR z;9v%KB%OG`?FCC-jjq6I-%=^n)(5WQJvHyoma#>bbY&0%4b`~j1dL1NLV)V9*A#&a z!&8LDEUhehmw;BbY_MxAx3Tlg%4oN8RLF6>2i zN9l&xv{A_<@3v%Xp`Da+KO4oP6D@o?tWKEA=3-}itdh_;nxlyuGS+Lb~hOT+ps{Y3P=r@-Z2=#JrDu2{Z}fh zON@B>{Op%_n3ANKG9(v8!%119De>HAkzZIdqssuPX>Y@5FHG0e>mT~oX3cIShG1*& z-5`w-6dKnyfGD^Q`B;e@*)Pxt^kI|nW7bA)ZU2RpCW`kE;Ngc$jl~(yuSjicZ{40e4tDj3XJT56@^-F%TxvJ=Y zrz)7AxD(Wq=@@n59m}iZ)9J;9m`q(XDz7~ee#Rspv1d&y(|6DYe$P@wGVJ5YD0RWo zqw{Z2t$+1y?0F}!AQ_8uPpI0r>B5iusUOJXP$NUWr1IF!JBww@$A5eNITtiPJJv`@ zA<9QV1)i-Ezq$*Hxu6{v2zbN2p1jil(Rh@b8{3~w1fYf0o2UQ$Jdmd}StwItSVHNf zK()Yu`RQYwmqr4fPR!)!(i_MMfupMU#i#9~YhA*@$>{ftx0E%gaAt zMl?Ho&?oI3yyYa`BJ}1?%{brjE77J(J1RXx<$~$hqfLeHW;6E)e{82qen9|BYexp@ z{qlQMTFWfGMD`PMXfWFj;nT-fM|CMRPK7izc1_>THMl*~0c|;0GtOw9s+=Yww;G`AoXHHj(^n>hiid+*Y2J^ltiW;ZG)eRCopv z(Oo#WhP8)|JX<~0^6vRvr0*?h2=2JK@@zb12V;-Qmce|-+XX(@NgtdiFrI;<8&aT3 zimCm0`(MQH=Wu57VMZ=S{#n)KjQd037FxCSYDQXXO5qEfgB$P;Ji{xJf{_lU}yB-lJDa*Lv-E^@)BIwZQpLt;bEz6bqNocY3Y#U+}U?|Ygy6K zkmfb3x{a=g){Fz;z<-z0F@Q|=1T65jCN~-oX*TH%Fev> zd5qrQTh$xW(Hd0>{nlO=cANg|Uq=utmmYf>04VK!isZ~!!Y!~W+)G3WK3Fg{;Jrw> z%^io|*eq)CXw}EXBZyU%N|-tGcuLD0CIt1G#?h;KX#CQoBor&1uUQxWl_%1C;85g zL#c`LuV1H+W%2)MP`s#pp3y%}DdFVgG@O*8L+I!-_Yt0Y_|PW5FqqTqFD8-Cm<#Ug zRa1S;&KY$+YpN0zRZ; zim=CrSVHgrzch$(j=IeR3ZEJ9r?1t7h{l)#mRe#wG^0zPmr;;bUMbCJVC;FjV9viy4Q zn}#7ZwditD+-w0WEh{@)d_vkOHe+qI+%xy_CL9;Ri@4U`s|H{zr;xH zpPeFp>#K3`iSjB|xgPN*sz+nwG4er~4pziqZ=Yunl5f{h`XE}9k?9YI`} zq6iT!-b-}IB{9h_EAog0`%pCxL}O?`7>Y{lQzGITcbiHs$h&qA2?PS!vKPWOZq%NY z{C%&}*|4)R)Yc5p^hIu7*#CB?Dyk|<(O~xd5!Mx2(%O332QoUSp+_?PO1~`0@F7Ue z=W6cP;~JFD0|?2T|2eRdcYB=APfh#N{1E5) zON2YfdT4#}(3aS4`*S2AVc5Wc_NwXVzUD6{C5h~!s;7!2jfv?*-snCYX9-{rQwu*%DAcyL!f zK;qpYH7mj$; zQ6+tZk7QviLB&qb)GI^KgL7*8&JGPiYurq~tUZ=xpK7fS0X(WL9&+(9@)3n7&2k6; zhx3Uq3Tq#|KeF>L;XyF@yO@+AFFxpxQgYquD}{eDdFdV`Y)&2TPNrsQ|D0|{qg_&X z`UrO6fFC_7#ac*^WBt_V2{wE!!G=tX`)8d56Sip|m5-NX4ZiWqQ_%f<3J2IoFAZgl zs+gBh0-3Z{w6C~&NXCk{g=g5{trkXF7yNYa|8cks7JrprXfUXispsXgBeODuQYP#d zk|O^}Qnkh}U;kN@%RlKYnZ9W~7A{k%&B4#6gidkcBw(<|$!3JrI-s$Fj;QbwE-%D{9 z-Vn$#fM2Yp#bIXRC=aVSQ&|^+6|G(217;FPZ=OIVFaBA}crs;SN=+)lt(`Fa!igSA z1dk{e^@7s#%dFR1Fxr1VcIwhcb0z}Yj#K`F~wB-TdLC4?Y3E}XhP6X4%h z?!NeNMDWune_0D|O4XnI(h1+*PQmnxnvnacCdz$;*%C@JkPi}gVEJk~J?Y>Vs*7Wk zlCbN8NNx)L$#38)T8&}rO|465r`El4Nd0lq#s8wsLeluohCjFMgWkk?Jf+_R ztnu*^u8-ZTe^9EXKPdy`B8JC&vJ(j&$XUAN&4dIcNyd^21?Hy|dKT#^vf&(|hLmHl z=Fb(j(^O5#SPur@On7?Fs`}dnC2?#P4DQ}aVJ|Nhiw_=rFzPFkyfG9Y$G75w9E z$M5s0h~o-i?aEMW*O-S7OAJm(_a2*0ydPxs^fU3(wd0gmA|6d@ysoc|Bt} zqo>92J7Y7ZdudvCO(iq~0{ACx0=ml_UKj-KR#O;Fq^CIg@N4x*{c=jCF|japLM13OxRWtw%A`8tRreM~0 zfiY$PSxr<+4X(s?C9R&0_g|2jtRX$Y&rFe~D{5-@sVmV{9Wu#J2kkfD{Sn9gQai?I zN9FypQVu4OwgkiaNIzGzukXqsYTi*D0?aA#9Obd8#+9JT8Spp-ywX9|Kj8Y)%cC%C zdiUN6Wcwy(r%XZQ;eKEWsJn5zSq(||_44aOww=hY2ebYkbuMNm-GJKx1Z=5aIFWL} zE$FJ}CH?D)UFDOi0aYo;flDh3QiU~Z`s3}~W|8WUeNks(3cGav$uPH0^-e&ZNX82e z(Ij%CX$&PL_`zSAlAxgJyGD~%9UbyZs>tPRrG=^@hUqiXQ$52V^`}i*!GD4x~b|&`wk(oJp%p7VPlrhSf1K{I5O(&gfQ~& zU!7SrU%AOFO=VwZUY)=j&0Akhs5F_^pJV$zlYTkw67T*RnaI}LI-xxL2XOmNqFvx} zO?x~X>D$qq@Mj-koEkmbq0?GvQ7s|HW;-G8nl{S_wyOiJc@drJUl}+Q= z9|W;E%?a|LAyG_Tbh~7Z>I8iyUb(-Q3zt!iWr@=-E2^l9?A&c8%lY}xgW%7Ehko7f zkz0TGT@lp;i&afqP8w|d5|F#U;~!YY#3*Mi%9_SN2ZQuwq9yna4yL$#q`L~+iFob` z=Q^2B08|{+Bvrm|iv5i=`kt|GRh?Tz3&%@MXP{DwbQ3D;b!aQSx7(^k2M(=7% z??U83{X*4N%YUoUy$g0)U>F?1zSJemi}M?-zaRh!;&O-9npT>E?k2Ye$1+^)Uaco( zpC@LYpFa#fi!wPdtv_EcXdQCg=U@w@t`;DwNSdAf7}lN__LmRx(~Q{jX7wLW8p&79 z<-pPnGno8H7m7k96!BTtiG5#3+Q(bHc8px3Q(f1rw;8508E=GG`Fe}l3w-S9jmhK3 zk}gTlZyQx*wakF_ZmF`C_m{zN@ z%$fe=auDq!k-MG%Ida}U6I_4eZBG0CksaeU7^zsf3^f0&53gHgb2m-)?fsE=>c=K)deDVl zxyq)O+CRhwoev)kU64}e@<(zwF`F#dsQK({;LQKS$O(?#les#OIp4ClTF$;YFWS4R z7n-gnTttv|u=9a77#%bt({u0}qOZv6bZg?l=`#NC5<`oCG``WQp|*StfAi-pSL5n7 za{EdFKeKXXE{dBtk$UF6!+*>fCN+OT7PV9$I-8Fd(fs~eR5IUEe^i$)6Ye@h@KPS zs+T(WpygVTp%UV?vzv$aFeje--O9+kFU9Y)LD%%iL>2<<0_I}#PxFf&(*}}T@7H9d zN%fL*R`xl!r1rxnZM4U5jognVz_aljA8{fwsLQ!}T4`l0ADmqo!aY1cSkh838nB=c z#9O4LtECDwd%T7s0K=9)V+%eq^5{P)Icim32%Ko7m+m>x57fI0OKaJ>&tHvn2nZ2= z^LsYV&O7@PmuY>F_pl(4)yXF^~&JCSjwd2B^&;Yf2|^26@Fzv1PXmtC-E zk7P0?r``vimOHdy_aoush zoxbgx6m|MNyG1a9NzQa~gSt-v_a?n?4A8gf#dkO2Ro0T~Im|EUaVd#1f1F7G@~GYV zuvRmmu4@&-;-9{cS(WP4tZn53@q!E(tcT}cNxq|uRN>AooPTblM^9p8dt$C(|JmtD zwh6r;o8P7F$1Ss&%?)J;87s+{>5SaVH}^6OOh&!hRnCsGdioI{Be7ie@lp}%dvV_& zPC_h+v&y+mn_a?b^Mm=7IVDfX<;re}1s_zIY;~8e91FMuZzwW*73+ss6ggxowVG)P zT=Y-!RZ@g51cvg8ldUB5NNmES8Bz}X?_w}x!Z2}TITwGTw4yrqsX}&FPJ7Fxpu{R- zue}CiSr1$b?xb#f935-6%lfM~u-tXmm@=-gu`xX}lWs+3i02hjfnac>nYguzVV_+T zRe7MLrFms#(Pd>^D@Q6SDh|%hf|nqt7r#7LSHh~}`?boZ*TeqOob?gQ@xQ;eeKqRs zr5sr#@z1O5J<>FYxA%|?Z^&Au%ZR#|{j>Q9%zBu*I=KFIs~t)_Zi@Y^XHtQPX9Ef2 z?mfMGkNQ)*g{F@qRg%!Lv!>)rf_b0}DZKEn=5!mFMMm5wPTdY7s;`;&(D#I?QcW{- zDH{`v@;I@&*(cTZplUsAPXKHD4qXapS^w9Q2u=jh@Q&Avx-aC9S`w^f>Us`+*gzcv@)LJ`_XjJ#{u^$;bAy$A50R>Y5D&>R zei`_96B`iVg0%E0e=yjtoVOwMnlH<4J8z=;nW;vhj-h#JT?uNK5~?@V8BnpZk-y`d zCX%rhs8Mxj^%FzlX{FFCh;#wq0@|7UZ`r8kfgf<2nwrX#31M(^bK@~7ZY=&-`rh8&{@^OmX@QF%Ni=)GF6NlM%u0g3m302c zfn1h_RIni19*_>3bV~~+tR*KmPx^~x+0$FDY&x~01mg@Al;%J(d*!Uzf|d?t1sWFW zz_eI^nb28!zzW(IrkUg9CgjBLkgZzz{Z(aAp-MzWS>k>?rHW8NLE@&j?gnlH3N7KP z%vYJw&?7qwARxC9(U2W)=b1(zpp-2L%B+gE1~ROLDnLcGZ|n#&W?5TjLC!GzhmDjRy*p+0y85z_8k$BxsQ|r~BFLWh)p_c5t_9EVa%EIz z-`FREvF0+hBrm7F=iE-kBEf~Nh(eVtd$D_f4BPrTGws~0(%5Q#AlV^s4C*3Me84|G zaethfTeGl?Kdk>Q1vyV9xZ}WVT2T2kheZ=hmSxPpzNIr4?S>hP7gOghx|k!FZktux zPdFvpZnQuY%|hQ!hqL8<$^S#&Uy*-kaN^`Xa-s;HHmlL4zCTt0dfZ4WYeQH2Xl%(z zU#z0AUgx@iNWe;q2iqNu79(uK$4dGaRide~Lu6TeOFQdAC`n6Cv4Xd^{85SeiCU!w z$H6Z2C=3nYc%>e={Cc{P2na@v=a%ZvXki^%8t+s1BFAWF@;lFHFi_OqMsIP&I3aPQ z6w?SHJFdF}m|}w=JEu7gQ78;T3#$s`7Q$hI4S;YB)CvtO2D(q#tGYYyX7nDAHzwtN ze473vZpZ%nUk>TPnQ-F&*qjNF`yHabSD~ev|Ngeq{w_X+IhN23`M5| ztU7!U!Us9vDP>b~3-)?l)O$8PMKYs}n>=@_UGAA6c6z3J4h+%2xAdDtJV}DDrrh0H z3wp~D`blPNdiTEBbnUizU2@r7Vr~_J_^)v)%8V%*a;LSoPh#B8UJf!0Jp z3Bnjv0MNUHLNI`0?TO0yoL;k}0nnEEt^WvqEO${FFN2eR%WwH}=M1;i(9~1|Kyi>W zNGjRb=~P@r%_@O*<2sI+CN0SGaAoYL!;{68ra(kZ@^mK=V9Tl4 ze-&OJ4j{l7d$kJlp1U8E;RvN2Azzds(-)_jmuQO^C<3KrP*PM^oo);g5)wk`>XlTF zqO{9j7)(RJ8CTPQbcqBC`S?buz(ARhS}RGkNq*_Rc@C zEP2(RqN3M^)F`5dqU!ZQ+ordFsf-k!yDiA;(M+BSJk?CyHY=IV!D_CMgO#FXher7u zTC`?3^!c%X>4#nxXj!E5#XwJWVWW1sx3aG7pHv{sZ^T)2Q?B-1;M7(_d>m;EJX-R6b1PVpg#2jf>)SbuYyg=Lz$9HSRs#@N zGKbpyM$@hZkhe+ z_Q$!mmckHa_LG++jWjM-Y-|EDXAkt# z(fcdWO}Cm*!Xl0{s92E)_rM8wnSDm~Egr;-q1djxAW^mc=#W!npl=+dV`g`6@| zF-hGV*$0`&MhdwTx|!o;pS$|y`ls)Hi`)q69Xkt9P<;_NWOKG2cJsXLU8D@`Q>iR5 zNn?6@+98{3qToYz1Y=`)ANY|tTXN`I5mBl%MSWS6+^j&!b@sKKQEIL9hYHINeR=$y zSI^;=8s?*S(kA3(QP^sD0rX8_vy%6O24&EWB&`(BQZQRAXIdIyO3hWC__qHLNh{W; zp{yyeb+Ce1ENAC!6LKPqQNhAv*JB}1m_p9~0c)f=orm%FZ3Y1&hq_4m%i+wYE{{qY zX+SGk0Ri52_H|`x-zX~w)GTU3mmX(6oSOR+jZJCLex+RTIZ;K9dCmXrb*Obsh_9&6 zWBtXTC#03j0lB3r#Q^7dH-C4YMXnTnss{J9>qW;i%Z@^s{#i0b2bvb^2`SPAs;xbT zCJnJAgcfTF8bXV;Ui^OO^!SeO*pRMgXyKs%iy8Uq;@&M$`sig{Z($=nSf@xT&BF58 zjsKE3ca8VK$?o|eeo@0fgdWny+}xaydBT!;_4M>?c#E$Tz1dB9lF!QNNMbUL4zDam zmsoejKCEBbEP>#If<8n=30#6yl~wCk{t`F($k19*_Kh|l8JVL$BbGs5DJ&FyM-ONR zz*{Ci2Qgqy2cHMMv;I)py<)t6FPFjJ_35YLe(hcwr;>`n!ab&SBQLU3-AhZtz=EU~ zG>6Lh;Y4?8r=s4J<8O#IP*_;_nwo(ZH~ikUM7$tTk9lmwO4@Heci28dme) zVtNeQkoeYgUN#3yNgEUmpRMYSb-uY`Eku=n6xv?chS&o0<%&D|t(mUrco)#^HzvfvQH{7<0Gz#%CKeo zw;AS-B;CBsEf@&MoA!M|!NaWyq}}1heDhwX)48mR>OqmnyxxpSVIB3`xso742}bG4 zm~>P|VJwcBq{w$g{M$0$cAgQub}2}6jkdekwXVFW)^=o6{$Vp;7%Gpw%H=|mi(7HD ze5PvwlDA&&`u%idB#VS0jqVjLC*Me_xV)R4+g*wpJ8yrnAv3hQBC+)lGz*rAHb>%p zsErs?Uk1Og3!zF#VnGub1s8gO9-UI(0!+Gn{QZC%R|=z( zv#sn-1}@*(o)8~z_$}wn^^jD*o`J#+w_DR3qt3+$mUG`mC(Q(Jr;f`jl-KRZ)dBYcMHfM-B%If(ykge&VYv|v_B>xMy#@W( zdh#uN*uVOS&b(|vV)VAEj{3d}jemvZ&e(dX4hxZ1Rji&G)dZse^Ng^Vr8>na#$Y4v zz%&8kH%>aj?ve$lGBILjyiY{Y2~V-Z8_m6wP0t@9l7xQp1TF8S>Hl zORMxBP3#EsW>irv3(XK8tqE(M(sxHS-Tv&Ot;RiL2FYLM#~H6O`BCe4U)g-n296Lf z+;cMefq%+{ZHlE=taPug2zMfL)D>~6p>CDm#c}Guu05meyRC;B?1Wy?x$^Ryr`)%{D@bVUn)h74#Xg_4 zI9Pq{ll)x+8W}wc7ihDw?0<%1oIkVv=18JYQc}{XN#sPLIGwTPvpcV@r1W7gp>2A> zNm;otx2|sdq{I?i?rrQjoG#=vS?5B_u95kSjb;sv9-W+=gvvkW4t_?M8I!8xfRj{; z@_ILSGBOg+w3U@6I34frMk*rJI(*)MK#?m$$|1X^J=;KHv3S}Dx07JWpF--lAG(*t?2YuSBfCt0e=VHfb>B1GWVgd^hAH+8!Xhg9 zk@M+$mLx$f!#VkuJquPD2T$nRp=Azl9P0)@Z`@~A5iw0mY~nZ4lLlIg%RB*#;4{{_ zfS`dlPZyqbx{^Qc(#*MXA_TupdF}e$zYU6hO3|#=nCbc*2A%>i?h0(8G}IXQVo9RV ze17K+jle5omo1R^)rubCq-(2r!b?1a9^G*r{UoU3zV?W&T#|TKI9}s^U6(XX2>_Z~ zRZ@<|=S21q0+&u>{-id`ywaB17G8yAGTqhJirgi9KI#+=K6$OewWO7ne;2d!G}L74 z^3a71h(RX$d!5)F37(NY>`uv&M)y%HmJ_PEyW9KT>6_EWzpW%iG&x8}4f)RNj$mWC)@{-9OJhu7}Dw7dZ z=_yp6+N_ODSODJDA9LSVVLKvz{GfiRmJqHOIDV}Xp|&qLW>wtR{)%4q+)>0Q1NmC( zxT*~3ZEv8)XJ5_V(=RUP(a$qWKfzyzXI@X;?ZkRZ-a!%ZZ;_7C$jAb(jsQB|Jj5;I z?%&p3j;6`1>uN+Ew|tzUHdF8bK30bTuGZcrw!5q^Ej8T3!q4{|y~QNNZurx!FgD`4*`44shL#-z9-#tV z*3%((Lh}@D|E3r~42hfWBu#n6b9bYguUHsq;}28&Pf;7KWnrP|==k(0MobC6TA9pM z>omc$GPCqTPOcSHlX(=K&r0tYDL0+5S}QWJR$`AVHK?SS7^O_g%*u*!OB|J!Dr>Q= zfI=~dNR`6nO^y9A#FN~Mya8h5)1ax-TZr>*Gx3l^`^ID1wl_v5Y0XR@v+S!Qxr+;O z3X?HJF4B7*gCuo?7+?l*K0VfWs6cJ_;Z)SLJoil*Ccq}JJo;yqGhyv9W&CRYQ zh2OnAl|g?v0NQx%%Br0m*FV62Gl$(1C^BN9UG;S+OHL=PA*4a+TmJI*CxX^&Ok!7Is=w$-P7O4(l%MBe#?A zj+MYYoRh_m33LFTcla&N9hF%R1AJ=E(Vikv%OPL(an|=PeTlTChLkKk`Qm0ZjV9j1 zIeRoz>l*vPNTBdxs(}et22FDo5`pnr-H?M>25wS0zUJXA7?DdT{C->B0$Zp!pS(a zXHR8uUWw!#xsMVGZ}l6vAN2eMuaZ=_#x)p;$>t)WwM>U@n|D*YcOu|wE8K!2c< zTcbkftj;P)Iy^OR+iPH1g&gi}W$6$3&oUDYR(IKjMtM-~3om@Vb-iQF9hMVGHy0|+ zd1Sr8NxBO4YPl-v+PWu&V(n@7FaJuw0G|{NdB8b)ZggM&d(WYFFQDzits|?54vzar zwRTMhvKob~OTL|qzN)IGMC4r^Q)DS8%(#Wh1cqIWdHB6DU-#9E%b629t>1{{MxVaI z50?nzcS16U%wWJRT@&gqNFP(CWK|Xc52%WEG9?(=D~ksAv@mWRxsgTw4l9^Uz9)s9VLX*|3od7lpV5mWgDpKMxXHVzph}gq^l`iLp;6 zvuL_7Y`k8V7^s?S&M1kfu-saT*&Uw(3)g##LIipYdJOPnT6iF+*nfOWe$DaV4%icM zJaMTEVL0K*{;*bg)g6a6UyEw>UEY-<8ins#o>9>CFMb=nYtpGck9_F{%+?)?uNW_H zwx83g4A!{1bL*j{Z`^wm%_Tzrl09#@NBJUM4*-4*0EZtN?aX#KR8X6;)@)0D+v%H> z*!S8FC%5V(mFVO-uTcc zTq0otS|P};{(2}=)>u^2p4lud9vSlO%|vkT?&Sgd`P%5bw}tm_2i662(Isp}xu4R{ z{=m@g3Wz1;ve!PlV>aNJ8_Q!Yx2yT!YF1T^p(XwyvFGG{mq&G9BEx%`Roaf@5cZEG z3WHwOw+6R|NKZuV2$&iM7%UG;!@zE1(vUp-uFP^0gwx+q>o(_wcK1^qif`}v9^}@? zfh;-tTGQI2kg@1I23o@amXD)k0hF`}L-nbvQ=K3|mRvW7t2j-u@S*3&FFvpEw^JU4u{FRV%UHV#s)Sg4Q0qJ^ifojuHt4&WS=VoHiFO(<2$lEHNq; z_y2tOLzVB9{;0g3@e?@WR)YgxY+Xuvsb1zPPDHOI`{YAHVqv_bOd7i52a4UWdY6(= z-cpP&e#>met@TvF&#d8X$Drj3KOytlWz3y-A%f+GOtVjO9uiXG+-O~0wp(*AP8}-H z1IQ*#pB5*^Lho)CWB`54duj)z*>-=hkfE9da^k|bD!|~uo%iCNWJ$U-p2PQE-mY^J zYB~!UXms>)cbDl4cLH8t6Uiwxz~N*QHYZd_$YjEKhT^T8QikmJG|W@I(hC%+dN@#{ zan$N&lSH1!;IBRKQ-@gM7Gc)vix<+Tn6t!%8_X*?e|{#nsOj|(YRO{$ zA`Vei0whgeJ^p{#d&{7>wk-@W3BfHvfEiS`XWO^dUh7+XEwMm|=lEF*_(XQ`We%I&RQt(g zh#SVA39n4u!as&%C-3)%UVktb_G-#)?P_qKDd&vuoKaK>hPNgM2jL9PaGrK-HeagZ zg{i2<7s`cC6*4nnpKJwQ2_MrS6_zo6GB|HK$)_6p(Cq{*h^YPLW`dt~$p)h`1`{6` zk@sVrRAt0vmD7o55`3t;0}K@@a>cb{OGF%bhhMwfpRTp2hL;{VyCs1(T1+wN21$oY zaCcOkeQDFuaaIIv3ZQ%Ja{#+*+?Q`UHd|#b(*=lXLmtRwqV9WrtAA~FQM8% z03i|6(>zwv<*;ooVc%EjD(^(0YE5CXk7R4u6E|-vIzynB?=P;bTE9*dTNESFuYUSU z$T9FI`UXI@H*4V@6;C}`I+lyPNfuAhP#Emm1nl!3VES05dR1L`e1p&s?0cQ=C~3VO z@%f%W&%-o;J1W549m~Td*63-dQI*RzN33AeWrCrMwgbXRhm<}fUDQo6&w82G9+M#j z)b*D&TzSEQGmR6_a$x_~Qy$zCW-z@IQLoZt3iv>W>CX2_rt-{49xhcPP|Bj=2Rk}~ z+^2WPK`Gs&FwfU^0S=YAEz)p{6S#GslYLqwrO!1-wpWOlpLSZm3ZUAxR3RH=dVNS> zHk%eBt#T#(7w0@^F?|B!n7m+DCsu&(F3{@&TkcH3*g2|ubw=;$FnM&m5d)@l1|{LC z)$?GV82`@Wx?*HYT^}-5T(ld~1P}NUI(#~g^tkwbn_;dqH&Wct->8s2Q;M{53m8xVfK%ZA~Ka{uj^wd+9H}|yp|KE zg;W<1ixD#!OaEo`9$m9|IQh7$elYIGFfjw+pNPuEy6rw%hsc<2SlvM4cag*dKW^X#$iW)yDK}mC!=;NYaVDGtgO#ymQTGf1TT(}$~op-EGZNj-m>CcD=;Ezz*KC zdV<=xzYYvdU|1?kSpT9BOKTTVFC!r$vq1GFkS_4%*7J5V&r5U%)B*%*!DJ6|av-Ix z2bfeYt+MySTXs%QN-bs;Wz#%uu7^IEJ+9)_!Op)eTH~{0<-aq6MLK4O1cZVOG{ORk z)Nn&+9Ab^67lmet^&?1l?{C^t0PdaF+*$IdE-@3@(K~h|wVBIP&F3ecbDr!2*I!1O z))7d*Vs1#ukT(GX_2)tqYe>fkcCu{v=n*C7yK6{C=PqC2!v*;+jtDF&@@Ei~4?_&c zy{=avX+@dyV){X0$*Gr{_u-vUY%y!B-r09I>@}})J{dFt^obWxG<=?9#ENYqC=7@td9WgkAMxd|3* z6z-QdRqnnA z;Pm>sr&Q~l>;ByEM{e$dHfC`;=?!C!8ih+?ZENgn;la4_Id0_2mE#b?h+6;bPTL{= z6d<1@E(A5Fx5h%P1V`ZocD=h*c{cgNJT|yE<+Q&A_fGz#Vtu<7oY%7M=A%R0Ur7wF zz9zhKqG|KGg<^(psX3=kg!BjhrXxoh#E#q_cyQvu>KVP`h@Z@lF(UT_P4u)cYVW#3 zQiaF;(nDOf4SNSZkx{QyH3G-7_va)7T6=e#M2v&P%uxIY)IyOuVR$bdJCOb71AG6x5AWnpt|2u0{Q*WL&Xff zrg(MSZM;mZn?b#>{JdtbPAdgjZF0d5@>KVJCwf4HavSZSNFiQx$-(BRAUwuC%f}>i zf~+JUCBNls@@7H)W}4LJ*mvJKd7!!AKS&_2_}8&i{xtIhaMpMsTRcAy^W(R`8C>V; z8Aw2KN*~+UQ5U{>VtPp#rV)6-v(tGuiL*O5Lr@u?+STvpE)r+bS2U5Sl<>Xq5{CNx z=6##nyCu-w3nIRix7mT9$4l|*aHfiIj@8p-s2+MwAeSH+XOgD34+65Q5<*o4Vjpnj zTN-+gUZ32e!EVY(V#_w~3|Tz!dkzHuIAqCqmp+RwEaLat_ju2L!0IUULOP$o_SG~c;7&L~pm$kh0V)OFj~z6Q(+ONU1Xuc>z=0IgREo$zxQN&zV@ zN@LXu#+Z6zQYdQ!BQA-H#|D=kO*B2>s<08#Nt}tLA4)|Q6trLPJ&{(0T5^`}8Xz5> zQ+r;d=!EJ7QJhw0JiG%u90N{&T$aRKS}Zj8+{Ni(^V~2lL0zo56=85~P3ISu3OFb+ zNih>!8-PgVW(m9eDswn7(EXPt+=dM8@%8mli7zH-i}A+aY7sp%r9YiK zcb9oxzV^Hf1+Dh$Ji@d-4O^Y2=sY2{-p!+)73n-908IJbfF8fVHqg$6`cll0T5HWukLMdimQG?9(us=d;kh!=g)l^Tm?kxPh`C% zrp=JdNd*!-l?Zx>Ji6UePrIuXue_3M-r50sN!VI7_ZvosFY{mBil++e-72K6@Ds_} zhPhQ9aMzU~woMNS`30tme@kEiMz|s3?Ob)HBF8YgkKo%Mp9Ej?%^E!Qpx4D?dJjG| zmb*`y6~`eZ1x$9w=-r zPb1v)E`s@pSZD;?Ht6z}+}@^lL5aeKT^`7#R*}(l_kLsOOELBp;mZB+$?3lI^0?*H zSENhXu4}V;Tk}u-We|9MBAosOuL$#AhHlqjEn%8rLD581DHP=P^y!gZb`Pj@Tdt6K z8WrNLd_)wh^xzwcvTj8Zpx*Wh9O-sEF~>bVnqzo(cm2^?xiNnOU2DKN&9yFwnL_jG z@bwL}-PyLL7w3^wSJJM~ysQC)x$#`5LA9aaQD#%GKB~!Kezg&7PiArR;ezwNE_W3pyKuk+LL|9ge`P zN4Y@VCBL+}H)-LBhPVpm8D~YAD$=dgh>`d|p^Ucey8`4qk#Fi*7;U|nm2Z1La9*ye zxXYbNle)xr2}*nQfzzZTR&`ff0vl^%(F2!a1DB3NHaM}}FW2tfh{7{A_k4vXd)x2& z%KdoR|%K7^MNa5jI1h88VK9vyuVrS%D@&?ypEY_?Q=+!s&6Xwr{E3mmiI zpA-qs)n0zQvzXJ8<;!FN!`VV%>2F9F*@OFgcb`jPd9PouNkG5Jd>L2BE&Ze$n@voC ztH-bS(`v5l=TbdhZYdx{606Xf^}{<+CF*{=xA9K<;d%g1yp4d;F8fxb!zRP`HFaxc z=w7ji5se~$l+QXWvgb|GN>rCVjK&3lZ>sE=c>$gTj~Olqe6TWNy*ZhQj?B0TXpcvr zV)gace+Dk(8jYinA^^G8@6H}6gGwJqbzuIM2QEN2je;b2mEEXmSGmG z>Rx!sn|Dej;BQ-Kp>Jc-ywAfvk%BFHuDY{V*$PqbuMho?g%feN9*y&1NElN2zkaKEGtTJX28c zLTK2<$i4Y}08rU_HsJ>HU!#Izz3A?@ZRmG^fVz!*4jMY6GE!M8rP1VF~37hV?5CTAUIW=22 zU@ak)bEqtSVd(NUh>sK1C{3rg;{(CjQ)Iuh$>!Iv>!ollSm1n%MF~F7PsBz(af6G# z1jh9Z*;}L9{@cAk9wtlaH$s)6^565aAG9ytX(2t|zQ-WHe-D{*L-_pY9^6B1OHaRaorwj_u^F(}|Uqm;p$aZGi;a`s3$xoL&bQC>e9FN9D7b3Ou}= zY3BkQI4af>w8OfZ0+)?!-zs7R`&=q=ZtMkjmwATN6V)4xJ9-t%^>z9CA@<3rqCN{3 zt@7Itz}(!lH&_V5B|LqN%l*!J@akNMWBpXYNM?TpzS9-8>-~;D_HjKbVl94;H%YI} z@wr2Awv5QuZXfNq{N1-a)rG6RR2tm6=lC7rPyoWw`e*zVP69qH<&6S4c7yXU9Ju8N zc*l~oAk=Nw4U?OLQ_iHYDj$ScaxJlVkj#=Q2o^DZNEkfd%hWcFsErQ0di&!#ai{!+ z$INn@Oe?LXZ1mZ~0(h~mw>m&Snga3fBK@(TxLCx}l3stSGRieNRf<}@Tpya8OvJWXipwY`W@F<&;~F zAn32J%QES!GfN9weXOha0d>vE?+uNZ+hHTe9G@C4ICj;nbH>-sP;MztTLlqhp!yr; z2LpNlL@~?4j^({{936B_>5So3dX&z6!(dffV`AA3!9D9YQb(KR{neJ=K> z@uLmIGwJ##(Fb|1d^=pNBd5PK1kZH=&WRnO;68x}!nWXmtg{0l*w)iI8;NSav0Imk76QoMT!UTSQBTarh}m`gT@SZ8R_15><|d`^4TGLamz?Mh^-qR)^IbF7kS z&1_ZR(m?xhC{yAwfv#J~4uGI`wXBm}Qp<_lc13Pd>U;>RoN|cM8*xxv-!LVQ@s_By zJM`HZUXFK?aJ1&wPgbiT)9vP%eYv3zqyY%M9_95mdOD}|e3gGL3RO#{;(G zA;`PFb4Opu4Xapt_a$iT<6NB=bPsX{(33!u$!cC6A2=#3VToJ8Oz49#Gs9Jo(hNcxiCr&h<_M@1Z zGNpc5TKCF9Dh1qo-E1JA*BzC37 zt4|v8FX*mVtKOidE^)*9iqW?tp3t@X$!A;J_PfokZy|}7k?hv95#W`*BQC1LjhoM; zgje&uHP|ROuZHE8S@K&EHZpJot;|i8LGf4QKsiG_RjG5z%mNmDAyJ?#JQ{exc z!nndI$ja)t{=#*Iur_(lCE1MYe6>HV+T>h*6l@!aO4JiaqY{})n{hKZU|xoxESCdj z_Loc_hU9w>1)cB`rG>;cO$9d8epbNn9e{}D`dv8E9c|-FFp|vqmuMq{cbJNxkq!E{ zf0StxZOD*kyDUU7jx(&WqK{WH$qST5-)%a? zMp-(jrlGc>xF<$1m|1<0MGeC{gk-~|3s?+c;Y?8Yb}NMpy&r6&PE|N{*5e~28hQdmp1z5L6P_5f+{bwUR05)p9mB)A&$-~d zBZBKODS0(MjYC-yA~LmSaf-u*ZMU)?0rw_;c9V?40mY%Nk!A1%`x@9xqw1gOP4-Wg=Uf zfy8Tsp`h#RAULu7k(poJ8mWxuq)G$i%UVD>y3fi*5B;7(59(Ux5l$B1g=Xco^SqAw ze8Kl{Vh}O!uEXoNc+>s7;C|xu^z9j(R(rNNnsz!q#Wxoj=_?(#CsEQe>#0q35l?cK z@NMpbpL3TNDV<~07y*9f`m0n)Qw`qL3_dpm$KAr zFzUkLY_9PwB7jb;vGjn^O6x`Gmv_X~jJTqbsEwmjhY3oeYJKpkfqo8JYn8^>0mGmG zr=?N78nAh)ofqul_FyaBx!|k=yed|tZ!s~rOpgKB8Z_0ZXx)E=9Cq;F_HaxA>L$`T z@N=BJ*1HU*J`61uvz*_Vt-MqILkJemwr{-_kX8-6;745JHAh*fP7W*g0P8<)Dyz2G zBat6*!tPAsqVyQ|DH^Cdxx+_q461Xra1M#hmdaY2E@M`L_QPE4W^~u$WDe!xxEPcd zO@t)V%coCAX~pGD;Hd|sKB;PkG<7gzBq$9q$qQG9!RyS9bo^Z=I7K~_2S!K5A(rKl zbUs7|1_lW2-(WPI4-OHrl21~W43|y$mkg{K-AUNIxWi4=;Um~k=UGpqNM-aqCo~Tq z6%@z`V0DlaT(112^QnYhcz>F&uI@WaQ{V#vA>kyGRCDR05Ur1u`}EE0)~?5(1~&v$ zyVlB?<`cU5wN!8;#2?BTz_8+fjEDAf&Gx7{hoO2|tnOLAmn3OZjoz!D*Kg??v?@UV zRRix6)xCpim?+q4)$f6K;Wf3AL;OQ~tm=@Q$YzTPC;PdIDoZ_0t_82{?7>3P=ACG0 zNQu?#zl0oX8R_Ucgta428G$NfE5+XtX{%YazedlbXF6Z1e? z_gh4o;xDO25j}NAI-U81KiTvP?U)fyD36FEF?2WfpcGLTVPET zB-8iBY!^JgydG-bmlPgCvbWc=I1c+XYSsaQr@tkw=-iWjPuRB{HP6v3iZ);{4 zN2h4CwzvVFWmV$OGbQ7#k2KiKwn$|drg`mEwXEaZwn zA)J_y#@>AI#LfP{aiGK2i0LCbB#N%aFFP?2`xXp_B-`D9LqQR9b!|9Of^>{+xKgr1 zw2?!wJ3ngl=nl`@pN6}bp6I+g6=jsgfl>6y# zCP;hem^Ox6KX(JgAxsi(OiKQ6_u$r}5#a9g=7=Bu1? z%HWI6y&OfRG7o7PBIZ|ij;Xzcx73;g;i3hQ{Vf8iKrR1J1Jr82``>2mKCo*dH-uO) ziJpF(wJs8Q)Z{~^$4ZV5a(;H;WZom7b-vlb=InznlLbIgWYBODI4nF3C(ohX8ZC+F z^)qQMau6Vb+|VC09uNbNt$TNusZ_DDKF~^wE7`EymRSg{*PxcSm(y`STsZLFIg8ul z9{Zd84_rVI8}i4LSUC#9*`QdRwHgxBpdc#dB=GMWApWumlSOQU{xJKo9Vc%Y7b z*I1Ocb>khx8 zc7GeOTPp`6pg^MNi+K^qrf-aO6sYyj=|50-Ld5VBHc9#|8UL*jY|~ENOCn3@u6VQh zKIO%q9AdQ@`1NnyGy&~FI?wNXS8iX(+5vTYM3H+p*ftXmDC-^I_gYHp4$n|}98CQ| zp3j)PG&YR4c4rfeH`3>y%hXkZ)1R?hpqqCHs`-X5gq(5Fm_tA1;PlZHh&U?{qCk`D zu9JIJ*`Bon@Yy#;h1nNMP6U%7q%P%r{FJ813NMVWjbWXNbQIsO+TyH1o(M+z`qoM! zJw3$NH4+10BG$GdvN^?AWvd1I~xJT0sM{oy2xAMaw{Q=HT4*F*$9S8_J>T#9S!fPza8(8}or zuG`&sp)VJ0e(B&vN&-bvF)r}Jn+2Gsgv&2SM)`n1IX-_7-xI#}F(-^~(}EI! zQuM4%Cy7|nuynhF1rGbm+QKKOV?Uee*!~L@CI?=J31E<0b$Ay%GD`KhjM4C|?Rp|j zzIp)?`L4Q!6`v;&M-k=aKvu&g*CXC~5cpx4@8_<-8{p^9AA~|hbGrWrDAdD`5l3XL zcHpLRRY8T;;I~g4wamG+VYRgMc3GC=;Hk)TSAEc8`f-thz0Hi($+6N_h`3f4W&1?P zVK%Uqk>=Mia1g}RjO3Qa-FcMLs_&ekx65ou5x{WMO--bO52!#5tR3p$A6-dg`cANN zCoTQ3b_U$#UqYP3ql?-ylQ=i8dSYjlw`;k~=HY*QlE%JVp+r*K^fh6&N-@8d@&UR4f^oX#@Cz(nCy$OmL3iwE|hUv<-R<4hVy&5L#5rzh$e7>R~w!fukra& zKu{^GjUKqyw0J19AJETMiqNcN-OA7GkxI>SB%-h5Ko>n$^!g#h@`)};PiCp*g_DTb zU|Bc&BR+Vm@FfUWu(2HcE#zQ<>6`}{^zF@Uz>js;b-FJYep!qgln*LlJ%u%1oqpFR zStqCUyG)~4EbO=XCwe;g%gwm3O=7yfX5#Mmj(87uZe^e-SAHW= z+D7H)5^zB6X8#mP7q}pqz)^qfp=FQhYpI*Ow3-F2+RS8yXd@T>7w2-a!n=i*iHFRD za#x!EBP@?U?`(+`*pQ(sWTpuY^6@O8(HaXRnwoGtS$GVTM)Md~44E5B5W1^k#_M8t zpW7arSofGK9=@*koC8%E^N|+-&j{*{xIjn6>&#X;>Ly==NG$~ixB8z-Cwj}b$Jk3H zSguH^-lfOAC#tfeagS8Cy~4*V)nLQF?5);Ut3pF~JlM?(jsmkaTH~1(3`m4LsEDZA z-IcIb3MPiaCSy0u{<> zieJ>{+|+SBmvE}E+CM+K7rWGenHnB0GH#zD7T0vrjP$3rU)=V&zs8*6J<2ABXGgd* z3AC|&5~u?_l3d=-pPYd+uG%8f9edmEC~P?Ch~&{0>uW4{cM~+(dK(_9HWWaw3r-Bf z+%7ygxf#0pO7hnB@O+@!_v_x#^;U=KSZa3It$CRM5IlPIpV#Gg$DFtcPwEgln;&fW zv)@onY-f#z%Xc#N$N2wUwpMcJ&m=rNO^04*-{+W+xp$7v2Vac7BahJYbZ#@yxAzA@ zpi`UG&MSOXE_h4X%2T~XXl#zB7flT0t1yL;$UR+k9y!dq~)lJ=)Ru@ngDkeIS%J5hLD)GGTi$B^tBd=%LbhGKVWqnQ6mBWih_u;89d6+HM zH_iU&Z)YQQT-ON=#@a|n>sY%;wZ&w2*$>q?5oC{agv*o}vh4yLjX{+Z+*d^3An`t@ zo@GzFXQpoMxBB8?j#ob5ocoPp%dg!1w|s$5tsa;jD+m6BB>1OK-=3Ux_IFou2pXK6 zp_h4Dyl=pAViDyOj2;FUvVJ?n!VIFBRb~6>!E!l4R0D#d@}$uW7D8jmYpQ@;EEvbb zFqI6Gh*}LNp;>zBQnTKCIWK#nR_tZ041aKx_3NJAY+?X@KSlh9z7mMi5np3}90q6_ zCn&2r0FG!iZgk24I==S{GY(C^Bx-u(U%6Ys+oiKveW-UfNrbda3*!LZiR@zF%XDVK zm6vnY%=qcBK8%h>E|9bEeu=l{p zZ}1U@E68Hw5KC6h8%oo))#yVaF69*O)9YoB%!J*)A>v&Y)ORB0*K*$n zZe3Q`bM^2a@+&s#n8u9_R%T*#6K_9|A0|D%%)PnAbG_aTZoNtbqJBMT&%I!(F{~WS zK}{}>$#}tc4OcNr-vjL4I5Tbn_S4px^99B+iQ1;pCNTYc z#u&5et}NKZM`&Gb)>|=3S}jgK#DE8i!>;@-;%KTWku$M z(Qtcs-MRPx^=!<757;ZmG+@{6zADz&@G(lVz(bWfFXo!TG=i4)h{Hi>h(0(k-|3V^4hFkFLh4~jO6>#Dtg*;4r-t4*m zu>XzcVcXr0%NNiFwgB}uLS}`uxLRJy?j?Uitrro|l|y@^8A(I_E3SzE zX1*Po77Epydbbq!V?xS|Mz6pduLsyFcQO9n+7sYR+K-aLv}%vTX{Q%3qne>-JeK;C zTc4L?q&*;R$MU-9NK`GFK;`roCA-8z9#{s$ee~G(`=Ifsw3b`DTK`+)5u000Nr8Z> z>QA2+7c}h{HuP#1Pr+|>WHu;VTsOup<<=fHPsT3J09n(OC1;0?e5c!Pd}GyasF%C) z**CpVO!n8Vb%!AxGezS;0}WF_kVUz+#LKD*>@Tk^MR#2(%u`O^id{XtIMTQl*tzB- z4agzT6740t{XR&6y<7E~WGACDq|>I(xk#esv%f-D#}^1F(fUb2UT$z_S`Q2vsvGy4I!P!X0 zTHW{VDQPYv*?TVQ0ClCuV^M*6u={)dIjs<|xNBcqm}$E}JCVr~otMFIEz+FiSlTMP z{J!WzjjF{UA=`HO1k5xlgb{~_6wR#>LSc5$x>%;O@3%uRn>`yKVcy^lttOgx2yEAz zw`{U#ysFi+Dh~NltRNrj0H44S-W#AT*M4@_dpc2O=oTRjcwRt@sK)hcZDo70ys{s{ zbTZfwYPei<-Rsf?0(AsgTIr2_S2mtMFLOTc@3pFZ><2x;)4|s3jg4SH_WgX5e7AbN zd@Qc?_A+&F42^wt-Bn!X_!3QBGR+G!Vs^&rV$70FZb$A`k zfO&;*-O6R&bCKON?r<&0S;`&miRdxzI6=60u=LDrKj|^sN>rV`&|)gCD0x1F#24~? zy7{NmkYXac0dIq=c1LVyK^?Y^xzpW!$OZ%P)hUMN`C-TzOYT|$lbfNZ+^R%hFf1hB z$=R3!D#<}KEPJ?w}Egsi&se#7hmB$2T5fK3f80JB_t*~W1oW0gM(c_FOMt$07)Vy^rc zc;CPm!0wfB*051G(^l6CsuS5>JC7rwzHhM0=ojupI_swiD8eF*)N8QtJ8Q;|BjkSTPs|laC z6mQLH&y2UUAi(NjrR{Q+c)U+DFlp~%iU_BI~ zbByBKK#3+buJSlB=04ulI_un@M%+IZ?40R5z4SUb_L;GRT61MZN+nh&Y>cHvBhCyg(Pn|_RaZS#^NqO50OrIS%MK80+MuGxSqKKE1NrsN--geiO0 zO43o{D8J|jGq{VZp3J0DRTfX)rLNoirFi`ZT%93a3@Fek?Ph}Vj0T753?K1<>)L9e zFsBU_%1bV8v=E0_l|l9pg-i-9fhRVrTUUl2nOVu&gEYo@=*oE6Uj2+a>onH48T=q3 zqK8d`y0FC%r4MSHNjgDY=P>3QEfxi_TNR&_34CLJUex{cguRy0iO2@iZ`ixP6*9z| z*Kx%QpVs+!UsPilfqOxldA~;UsES}!U{{{_S>t(GlTTT%Wt6NKwXbcXY^8upevGoBjUs&AObM9%!5-5h5M8IbP{ey+vK|nnq_q z6q3g{2^<8w|Ma}4Hjmyy;XAagq2PbVyTotj27v{w=$-4#2!pCnC~Z3)#NK5|P69>e zUfUZUlyIW5C)!1Vlkl7ahBgjbXr>C;`21p>UV;|nosj!MwxJ`{3k`n{Tg}9l0n{QC z|8)h;8oG8xGQbS)W0shq34cY0$6GsNa(5@X?g=fY2&Lr;WS*I2c~J71>OT2~L$6JV zw~be;O+TezM+sxBXg|~0gJ3bp=GEjZtS)Hlbr)7#roci`dNEjS5fAuJ)dFOGw;dC{ z@AdSUb;Dz4&6SBQ3fac+c=C4ryoF5_;DNCHCn8k(Q}Aw9mX0E^HAW!3lJ3o=@#-gwhVZBIfM~ZBMdMYEICb<~nchP-@amq%Z$Ky*#NOKv zo#g5RHu{Z02po+<3qRZO6dh-DMr0R>OdFA#iO#xNwWEy+B!mrZ7>OSpS9cHhR8Q7@ zxH`H~95NO>9tCNyq`St0>`Avl(GJ3f%LWz4-1usC770dxv>@RG_7uqgzWYQqAM8-t< z`Q6ry?uVlY3*G9GLNoL}b(dn_1&}NNm|l&<+~}IQqr9S~iBewvX0cRDmrSeTZCZk{ z)qU3|Hz@E`2-mg(AyP%%f4z|Uv-_R}tFjl{UfDuCpXm^d-@Z8Tk^~1w!6-VYsOXvg zESO4Sh*m&d5E@}%;LD2CF%wL6nRAN)-gSIYe0iaegA&yMLdB=Z_-{j9s-!(dN0I>a z=r<{`-WvUT5+7wnzZMp!P#nb16YaHaF3*)~#MHTZ#< zV5`Q;36SsM@R%P!zc@jI_(?sI>LS({k0MUwvzNR6#yTWZ!7!zWx+hM^pdpY=tu_nW z)ug711=FOz_E?pIpGm%l6`hK!UP5|UM9h7F58}-o3Cz=dxW90AIYi+-s>1Zb)d%z| z%F8W%2Go)na$A=3wO=sQP&o5z`s8KpD=sQ6svLbfDxV!G(@=6@8aSW)6r1$zFqQVl zb{uhI9YW5HYnn5kx*=6zNTqyoLI`bewcikN5(q5`6b+I6`_sEh-TBnRqJqlg6KD#N zh!<_TqIOpL zjif~EXhYIX1MKN{H=ighYZ`kRA@?2Kv&ggEhYj!D=VKw-B|GF^YF3fYCX~$w{3AxV z&N?}=?yt}kDkEbRpCNL-4rF5HD|J~cB5Lw7q*5_5hS)-4P~c%FzHzbByf*WOq$ROO z`kYk+Q$~2b^gZ5Pzhs|`gg}MF&kbdLv}l$KbEX6x?Qp4Jj!DWGhYQ1Hq)o%k?C*7G zWZa)jUgaLqfgBc{$84*+6`nuA?~>(z1`7p*Y$UTUS5%Y8OB_-d60?+v^o$GCn+sJ= zXFg>IBYaL6Of=eluM$6)u!V4<3e2IxAa_CggJ{79V%~n+FVcowNBt1Y%fDsI0ZLyRz-p zI6e~@?aA6#S(IP=d*sR9!5i7u@$c1_8@iV61WF*w*E`O* z`JK+)8UK?GHprooXg+1VmDJwX+JeO4gw(wx7r0Ta6Cp5~uB~dz`5KE2`D|SeWG{$3 z>HG`BL7HoSx{~wvAQl&_Px7(epPw<|)aKs}5`fwpEdp0j%UpGT>`=`-5*Blv-)c$JJEDjfu7D4_G!t77?O8^nh*hqa6mXQwfCS^$n7_}rxMla*w7Ej=3wi8sHla#r>1$e?JgjLmMwn0 zLh8rXI}%rN^f5LAMo8JL1^_^D73=4b^o$+xmG9gdv@IRfj=fm&F@u)Df-fVSCN}!yJ zj?v5EpV{^%i)Jh*d?Jsq_A}VI-km*nxV)Q!=G!J{yA;km4IQk3sAmir${=|LHunGS zcy=Y?UtUhXHVaPvMviw5_sIO7TO7B&M4rB&huoeruPgC~b&9gJ;OC%WzTu-a>@HED=MxXIsT@jA|ejX%I`;qPbHkJ8|b&>^o!+;Rhh?b`V$|XD&Qwi z5fDBu=(f3Cok&wQ`?EA$szTQyKXFDW1yOz!E?wr{EBd~!*j*5!0_jlJ*^WPLzw(oi z)hFH+Yn!dSU)B&dDQuch{s~Gd*H5TM4@cczAa`SzjSW1-i0B7aE>xTf&rD-&kmnO* z?gq8sUIWSaZE3mQ_oC_G^I`h6CCYSR?DbL4$`{NRWpk~SUo6tnuuM8Cg7qz;jSLOR zXa@_Mw}$_XLC|rogn2bD-QPbVW_+|$VP#bzpF=5XsP?WxzwE>I68~$$dGBnueNe(D zln|D=MgUxbP)yV(1wFTqZu2|)*=15%(Rm>%n6=cN2l`3=IR#jMMgJrd{uU;D0*+tF zg?xRi_m;RcqVpOGEU;m`xH|vs70xl=T_p{&4!e2MH-anib!ihfAu*^Pp{5(4-Jxp$lQy8hR$DEYglLGU*QOl6L;wDc;heF`NjDH zHhLcvVxr%?!w)li`BFkkLO`_Mbur*^)LI0@ikU$ztJG9jr*u}duG(E0Vzwf!YZCG| z)Q0}nZc!sMQbOnYBwp*(`{bu^M7bZt(~Va)HKod}>FWJmOg6Ll4X7G&GxLAG!6_)H zQGpJGg6uXf{mk$`pZVR=GLMw(!~OQhE)kKr z^zDLl-N>YLVAGPO2AZ*_HsNn-BwN73s2Uf<#oI+3XZ)kZIgdZ0TU2~e`-7&Mn#s)t zq*ebMdW#;fgLN=_sneA-XS?f`Zz=A{PwS+AFXMkeP#Z!n-hDX$A!~9pOe!iwzQGIa z8~e1>WCOMKTfe`IQ_N`9CnmA5Qu-7u)-5WUUs_rNz6;N%`gB&X{<*s-L<6(6DMDZv z{;!CIkBBk6zaqj2zc&;jU~X-($z96GbPY$o(L_b++Pc`WS(~Ct#oBpz_|0q1f19eZ zX*bi&Vq|@_F1l3bcyt}JIUpr%Ar~{rI()ptk(DdZofo2rSw?NC^iasDd{(@!-d!7F z=XNG{`Em6xac^P}O#x||aj5*1IVB|}C*Eg@| zyjbwrSq;PD^dIE8GZWh>{CrNOGxZx0x!-NIcucm0c_RWM{nz-0pz<$eiR~LirvpQO zbaAOaqJqhhk_`R`|7VvZH;k(9S0>zdXhA~3j|QFgD{(T&#fJs8ihqx^IY)*}_L`$^ zzHyG=e@XQ}huZJP{`>gx&F@D1-9~>Oli&ZPv;BVPUq?1UnRC)V>iExtsn1_Vo4@b< z>ul=v@4o;0&VTj>JVf;Vb<=OqoOc?7zkup-CJjW}k$#@E28V zh~WH>;g^j3dwh+Plr$A1*^H0ZS>LnD5&?jf6tb&J{W1T%smMpd-?*_Gr3}eFGEr{_ zSMN!{6czP06o(--4*nY~{5oZ0`wcx= z;<*2bS^4#Uq6y!`f3^8A=3j5x^Pk9KTKebJ5v>0?x#aD-e_!qTr||l>=1QjdtEv8! zrGM9EO7mYe`A?k8+J;1o|GM&0;7ZVTc$AHg35m~lgr4|41r`$w(_V%}oG&isOmI@987=#nD^lfa zmzWG|!@SELG)Tiz6?R1xbjG!==G8_hAxpF(I-O9Mk-L5m#?kaZ9A|W~EZU-IzM~nH zBB}dyJa|6Ad+Z9l9+wlI1D<0NU?(r#Vpt1wcJY!Y->+`DY5VUvLUxQsc|p3S&%q5I{Bz-V0~KhNOSpsEK6 zd^vLJMN+4p3vEF4G2_q+wVM3RCpi%9Xds~%#=WQtb|Xxu<`Q`1o*eZ}jNb5-kIQ-1 zW$PQ5jO|~JrC*H3-&+a%HL3IKT_HOnp&6@lSNWKY$u)Lro{|^CkGA2SAu-<02jF}- zpiM+DOJEoZjbdE4%fymgruHr`Xlc-DR%kB#xor}Ulkh#z!p~EmcxbCxFWen^=6l0a z>no&vvYz&HYhN2vs>>iU#u}6Wwrw`GV~0C6aowR$s*CQrV%u#J&Cq;TudDiU7;BL0 zZ)~}6!x zGaPlzVeRjAmoyW>avgocM$r^}_l1MsRkr({qF(dyy%M`r!j9t5?ds~Ni=zj7;|CTN z9+p8=^Nh~_?#z~YQn^5tZ}5D&_2E9%h9ol2r^ytqg(|gPBxNL4-}Y^HbI!)j8H7;h zUl@!!@40cP#w>Q&I%jG>w{%OU3+FTgNxo4@>k)EMT&P(`Ktl5tuH1J;qsE}(+f{D} zhvv&Va5cQ}G09yfYCnm_AL4zmmEnZh=)g@((bBV2eKF}qF(izo=hrRFKvmfa3D5FC z`R~5EM}TD1feL7O&DjLQ*@E(a(DfevY(L)rs8Q4|ZH-#BYll{Cik8}MdrM-LP(@L( zik2$1#i$0g_l~`HW7UeSwZ$qCBi2nnpU=JbcfX(S^%r=&a$e_k&T}2EkbwNdV= z_Est?|Ld6Nijb4rX3ct?ROKJy4X9hYmY#lnUui zjdC8{a7tvVF2%Rg67&s+*Nrl&nJ7jJ?qT$trtF1F471m*!##fJ^i|sgs=DmpyM3T# z@=_?wn`&JVUh945IfVivZeKsfGwyA<0D{-zmD_l>r-G_ozcq58JP$ctBp zHe<10LS*Xi0=E2qs^NZ;q&~Sl{aK*WMVM6(IN>^%M2R53K zVLD!?qQb!TuxF$A(#&b(^=o_NbxjIb)9KLP2t4+BkGrTG8FwTzTWSWWX??{!Nt4k?|KQk&+mw#?K#vBy6EmUZ=KvGWv*%go^@vP!j9qQ67Q zR`!1_2k9k!_$Vpp-PFg-(;GPeJ(~zRc5(#;HLH6U*_rX{3eYar<71~t_+1=f6slv+ zo6Yf!#BlhUDc(-zif#mBbpLJqX&GK`&-TI^#5JcE|)x`bZ%ggRAR`fWUA>nI5%bBNYMGQ z&NO)#dlOyX+%-U5i5jU7Gp#sdpC@}`d8_m^%unVPRG;*?i)Tv%40vr*PRF^jevqaC zII0Ha_H=w|BIQ0JjZQUVs<*dn{5V#ERv@X>L|DdADeTD}TUG~YyD9iaB|%qm+jxqk znr}n5tu^x3Nep74-=GA?S=h1I*kr{30!T45bW`j5W5BD2r82JpvC%f&@L zhrp^Cadl~crvX%uM5tt5^CTv|Op(ga4k9*aIPB3lR59fHI&`RPC^LP&uo>rX znH7ENO~>WosfCU^H@d2zM~MI9mgrY86bipjtYCpIiE4agF2<{DtBY0M5IlDrW>QB@ zS=U>|38x4nHLUXtobrlId4CyymPiYZ+&=a%^(T|7%0?HPV5dw)_9aQNI2H~8uktyu zs#Gp-wMFjhUAI-O-l?m;+9k8~A5dmr_io*b9}ZMV?MnaL79x|nkP~7+X81Z6lGdMrY3lA9 zZ(`WNN5AVQ$DyFD!+tQUB}F%qB!Bo;s((r+)$vCW^4(mi=r0rhvk{lLiU!(ax75q49x~ zP#k_La{Q=DyF{?saO{y{=3Wrnwa~2JC)TntnC@2%*Yqp}js`CB4|9ZNF zKL)*6af#|Nwq9^cCz;Sg(9w}`zuZ9gxG*Um9a#3vjUvFWJrmb?rn!!IH}Xd4jooz? zAQp(B_EP`O>n7iXnZtBnC)dJT-4w>az;%_ru6?G-or5K6iOuTK7cYh3NoVu#V$W*o zzlhy8J!P4I+TG{dv2OBb@#%YL8pGDeIcB(Xpe~6uw=wLsts>c|@&eE&a9q}+{-0_J zzz;xkB(NQpYT!T+U{~gl^w*<{`59UVrFgrZ&mI6@Xs5h4x#KHDbRw&rkkL@lQ+hi6 z!2jM^&=Acdqn*OF9KkK}0uZZ5Xw{mtS$Xy4A18>7s{GIU)89n^x(8wKV0!471m2=p z>Q{F0(ERnEno7sO+ejzzp$SERX-t?*HLq~N>*_sR1wgdakIUwxtCSRBUmh>uY28N| z(>W>p{nJtAC5ks}w8DoW-e(liTSi;!1`$xfLQMuO(?Kgt)JOUP zMGzULbXm2tc675f+`Ybix#_p?TLygU15=TcxjEv(Mm zz6z+g-}y4hTPu$yd2J?(AG(Auo-?w_{L^@u_;d3=?82L{Blj`~ZEJh&(=J(hDsIja z1bcD-e^ngA?W-f!EyYDJw8hQ8w|RX*d78uat0hEDtVosj=iFaQQ&F4x-GX>$iFzXz|l6EzH{Ru@v|3G0C=4TV{P zL^%k&K1XAi&S%G<^Gw(n;d*VDRw$jh=w9g;UlCKZ?g#eY#N8K$sfG@VRn_I1uiJ9I zc=Py>dK0K=mAamUGk>?a5W^-<@*YgZ0KExoKUMd-`xmcCT4W5Nqi6nz52HO z&`Z&BuI`_?Q|Do!!**Ch6F!xn8j`%r;`F*xo^$?Bn?DP-AH*^=W*?dPQpSfhl)d^+ zpW}7}^r&R7A*)b&n{y{RbiL6gMvfEkLkMg%C_NRsSCRL(i+z3!va%NFkF0l4%xm*! zt3ZDhw5!#PvE;uCe!i|ER&vT?$Hmq3zbwuF>RX48fVt0N7pUzn9;TM-bwA)ome|+- zY<<7&1umN-TkX={A}QGA^Xpo-HlvK_ve+Yn^pRDDx7%tReZWUsuxxBcjbSFToYbGu zDv_>EdZt>2cV%42mPQu4VH0xDEGL41aw&ig+PaEj<9Zc9?B4ZKyF%l{6~C1WMoKEY z#5LaS^S~OZV&Cegg*A!Sp+p(Y9e+PDLk|{ghJh9Y%l%}tq11JYe&q-FtQlR7uA?}Q z6J|26;b&%sON8N?^Zhi$Rw>D!u|&*7V&$=BIv2U?b)57yI={#tbu#p*>}7^cRLS_U65e+a_pXi-r683 z5_^FzQ3{gblsIh$WxNe*M6^dQ;y;}ltu)0k&@1nKzQ5ltamiJMStpx>Ln9AfyX*UX z_yBj3)?Icx^d!af!p};CYx0$y;?Rp~vE`~SbK*>#Zonrb(~7h8v}GTwe4E@jBsO0v zu}+m-I`~<#OkO_{muleu_0$lSawR3qtd`!R`Jy$qzar;vZA8y&z}^3jdxi1;%g|RL zFj%9)gOo*ON0f$Cq3u#*@C9J<_3X*MDrkh>?5l3qZF!Q`t=cR6MuFScFAJ%1C)BM# zHjN@rnoxXxufzOsRL7T0TUF{H){I+T`ebGkmYol-RE86AXeEsbMdR48$xR-tE)$QN z`EAG|IF%4Q&XCOHLjnce)jAR$3};7EuRaS-6AbZP*GrEb8t$zPv}J zqcAH0L~DFxZ)NNgB}=WzquD%lnEhQ1hh81uVhUQ#ZL=Al{#ydNg(!48kH?r!pCQ`U zk{Z+Vg6aIDfhnv(eH{Lox&S7TIUe)VZGE&DXt23h_2hZqbW!`Hf~Bn!$518H_CYtk z-`&!QtjMO{lMt>0|e&Gr$s?fezPG*QIDWgxh3HNLZ~`LQh`+ znYjttC%NH)7&badhN&2*-yCQeY&>32YqxR-Gz&E&E1!oG6sHv0>A6t_vjtvA92)#Z z^S@V6{I3JAUcX64sd!}zqSHXHr{yiX+6SfRuVmTF3%6JQ*r$3mbv-yP{bw+tf+#V9 zs07g=>&d3}j-WQdYb*>FtT^aZC@gpB21+Vb%A+my%j~j1Q$U8HW^%FJ4Nw}3{rg)| z)7>*;wE0n`CGgjU^rdPo+Ei%Y!J+m6w4o{d5t-sCOjVNH65IL;iWEPe zXLh77Y2Z%jOXDSI1hd`N<|ST7f!U(MnJsQ}H`{P6D9nEK!txkPa&Qa;GrD73yv$sv*g7RGw`}^rD*t4W+%}hEIg#p@w+uP|4`MXKxO8?uNm;Cc*XyBp zklX!e??8yn&!BduOzw-pCsVqS1^NaBA~NH;2~OPo$#m%i3Ongn;%t20vdD}=)9g_; z0j$jJB7YO9*$PYiHv+T&$V<|wF!wd%EE!+1%q}(LsJ}WxSPnS%i!bn-u!po7qAWqu z`1{6;A|jA+N3XkumAdt1U#W#rkj~!%O%SVM3L@x>^Z-0P4d3=awam(0mjOX?x@jm0 z5YK&0){=tOx%uG8Pi_A{+j;S=@+xZr6ldi|OlaL(d0{c9R2yB}JEeXH-4B)@z%*l6 zCk<-J9CbqLE~JNk*)s`%$9{;-=pC^x(J)~I0B#RTzm$OBi?pj~Kc-GjKvz!IGR1p5 zRDk29O+_lbU+3A8E$k68_ch=!6JqF`^P)c*z-Rihd zl_RWl4^~e*G`5>=>dwFTfjyWA+9APo!3Hjm3(|J6PK=gn2s_RZD>Y99?^)13{&Q<+ zCj>A#A;e9b&A%J`=EzYsQGTK(%PHcSUQ$~Lzs!h>0J4n=@{R@cT+b}3pj)<*Wy5(p zr~UY_rL^9Q75`mWFiO7j$nG}}a^xGYw@sV_y~F%RpN+HECmWZ3%r&MV`rqthoH|<` zUMa4TOknKNRyWt2+y`drQ)Dtl?br#pvyE^}F3NrwM+syp=y6jGigPQCWHK@XGT3_I-de) zBC|~yRmEN=NjC_KbM7^XmQT8GayoA^aC+f$UWc5WX4|4O=ah19>ifmoUfTY7Po1?rF?FD)rP%7r5QXt@ZVARHQ28FQ z7h-bf`-bKmptyk5f8qT)9K*tz|=+zZ!D>32K8Q|rVe)hN zMpU#+Yq4duVnl6kYWKw8&>LE_<=#pLAcpK_N6s@HNa)nZESfz1eDYkx>g>2u&KQs^fZ{pX&lv^r#m=L_+Zm0^I za5#Ah9lW#|cu)70MB#v41MX7ls9jw*dPJR4^`j^<>`CO;%JZ>P>Y^{ik=x4dk*8q4 zp)hY81wOwi=bt+Lxni3-8)H#7kr108U%9-Igg38v3$n;WL#rBmbr$Ar_4`KMcuHHH zT>1{?G+v<=z`N&0eRbb1FJ&SR828y$nI(Xxj4$Ps-b3r;)CvnW=QNI7*BT^ZzlFfx zxbI8qp1%%J&noB(eJY1@`4wYCAHq&ubENyOh5f3D|p+z8Nv@j-&658m^HuSgv+{4rP2w!pxv}HK_)4GeBw{dgbBMKt@9!pX7F4F`B-On(QJPl3q(fV4HOCUKOP59Lmyy4OsE@l4-~jD$MS)w%}1 zsuIfPU?cG=hnC?eR}?k;d$;K`Q?k|fBIp|KZfHa%&+jD#{yMW|>UZo~c(}SExXLwO z4%yk`8HF?gh-e1Sv_pR{l1)=N&)-S&w~Rim;aK(iJ(eS-q9n9uHKp2T)XHboJ7tac z>av=i>U^k`%6GZZks(x=q3+uc0XVgC2bz+@=~ctlQ^k?Y)31T4of4!1=FD2;2#$|_jRbun=4~ywnx{qlgnj#AK|xf}!w22z(+`+% z4**R{0B1ZZegXQ>GvN8)STlQ279V~lnEb(yurD$Vuvv#ts2lY(7_@N5&ubjhZ7hHa zht7e2^rBpe@PVPIY_fMMN;8c4o6Qm%Vj3()5(`n|%cddmZVmx*gm;@?wl{aAPm)hd zGe^aXb)4jOXMg{RPiX8~^Gszl09iHMTHO+6S~?hfhloFi?dfij3EL1ub_DQvnyS+N z*(__3{oH*mFm5r_Lxu@A^@UpR=zmaDEYtV4y}k{OpAJf>-E|OEN1D+DE-|P-rN$p~ zBrmPod(8dA{sJAD(K~ijp`tZQwCHZTXK0tVf5E%w@KJ^Kuo}B)h2oeV+Q-h};I%bj zulNu7?N-i?oc4@7fGKN!#v3=6>|6X9AlEpom8F7opO$^FrV`IQoZn9IS)X!i^>s;X z$pxRv9NPp}S{U9)DD~{r8#WU!UiD@BtID;!9&Xd0+|iaKTE4F3Sj@EViS3u65aOZx zi@7#f7hk!^xU}*5Eca@6S~{`qzu=LJ_J2c2#fORV5pB1lUC8h>hV~9EGVoz3Ntja2 zBTwt)(R5cA%J}E8Qh}H75NIX84dNo@Eyku)8f;Gg~M$U zOcGms{Yav}1%gGPEHGq=Z%?M=9(QE>k_7vrgQY|!P4AIDih$teSmU{}k=V@2Kz^qN z9GjBZfJ~_>6b(0d$7X?}VU8*SC^XF_oRliN<&|L*PR0en_F7g90}E($=ZTZ}# z=7RBtb1RR$o|X#%8Y?cp*7~*``!!u!@#ap~)dVd7;L~og$b|@=M_&eq@2B|Ef{*&TyTA$9TWd zwqg0PCAOp~EfXm@%RhPjPj(-t?nz`^GmcewvZZ*GHIklI0I?oz=_1p39UXV2+^fAJ z!kieIKI)5hK1L%oPY~)rwq~zE85ij~F{FpJ*b5CC35lEvZqYGXWyVW$v(f?JxIqMs%Z*XL0WGvqiTD+kPS z*B4d33p2j9+^-e(RfbVM@4&uV&>m6M)VP17b);`>(2nP&2OFONSE`F6`|Q0PWHhT+ z@JF8sJ(PnQRt_Q_Z;Czy2-AR_9bO8K>6_gwG5o*Mk9aox3?_3)4N502btnPt{Zo;r zNWlGP#;F`0L01|CeoLvQCVKq&2NWwYi20pxXc2W965kCjvm(G8+oYz%c9tsbW391a zbPuSwWz7*^$yythAO{CUAsX;b{V`Qvm3DdKjo;nrJa3(Ls;5 zbJQC@@KjWrMdGJZZ(hIrq>h&qA@E8LoS*YeQ&6SVa$HcmaMd|0z-GgBiOOt8s#Cu5 zK_7`8Q*&QO#?*PuUT}^E9LQI0iwDu&x-{TAE$;v78%AGJ){4s0)+};)XrMDeOc9P< z$1tx>Qbw6;y;pa<60K6sioAT%hG?;Z0m+{mb)MxdJe!kTjfg~?=Rx`Ci02EJdEdJAuO|9Ddo*#7 zW+ax{j|t2~O%yKewy?E=}fa8gQq{;dX%IX%9~Xd`k{=+X}YZ zli(#I%}~Ov9QeAn=0B;Ze~VQA8=j7>O<{Ger}1yoPH+-E-m)Iklj$&9W`;quKwCSK zgC7kUy5^ww)ZWRvR``|s+s2qsmC4?>uz475_!^*)%ON^WJHIoR$3eN-HRr{)F-671 ztiwBq5saq9WFKskd;OlTBZnLecoK(r)PVOeALG*~bBb{oauA}RrjVc0c!0@huzeAW zxo`m`IKAUKzQvqVcpuOb(fL5=is>@FwjyjuU1~cjdM9bqVbP~!fb)G6*-%)43!Ea+ z_bzTx!~Y~f9@CZG?;0BPnrdiD0Rm$=YMHEnKbRwgZ4#MXgn?`lapT1Hm#3W#?h;F; zNo#2twA^T(+K0YO{)!(ZEpeqbcNL%G7lc~BChpQN{$P0IM`&@1i6;%tJMD(|^piif z>BNhEwf`XIu#>?I-tVzbsgt;T!O$nob;=__O6QfY6TSg$X@ll zT$wcZ9P*1*Mh`X%nMY}S^If0IvgphHZZy)XG1iSxQF>}t{$lOH+aD~xBXtUf4#Lyt z9kOYUP?1OHdD_;%nRye#g7UAEk_PO@R*g%#Nf3!;a=@l{{JFmc&Z1s#(gqpp@v(7A zb){2l#a6SsJYx5C%7b#B7^9>7&nSaNQPJelT2J{&ByV`hq@wkK#SysN{9tCO-a0RX zV{-F@^uM!xEV{924DT*BMgFwjxP~x@JlNPAZ3~mKZV_MkhcG||8E0bl576*uHJ35p5=*WJ_Yz|ZxEVf_)`Pv0=QDoT+>nFNKl zm0gEASzPi5Ev;;xjWUe>5-aNmb^P!$yKj8^=27rHwZC!R#DILP0xW9cS7upup@uwj z^GSffW@Pb^LDGFjPC0QR<$3EjW7`F9{Ax(x$*E`iwD69{f%)G@VfMm}-#MkbZLI%F zr2g}l>Gw849*N1~XZ;W~NYaO(1r5Ie*BZ908rd~_ol?Tulb?r&T|5H4X z)H?`(|gj_YFQwqbZ;9?Deu#S%=) z-|tCE|4zdZK&$K1Cqj@X$l`n%sIi?eaMu}*7l ztcs-3Zcof?5~P%Ozk^1 zWp+)(iEQAqgj9KE0&YQS=;vtjYyB-k3`iK(HXn5XF<9n}JoLiaT^es+kQo%z)Ef33 zxqKLE?y+h7tn3U4x^>)8Hg@&RLEC{%G9S^9Fmo=rs)SpPE%FI=V&EM9rhONjvdrp4aBBtQ%mZRL)31b?$3y?vMQRCwcU} zlR_C$>j6yssHaZ&O>ZB8{^EB(MzD;bu2YjY3P%PU^9hj}>iQe{>FOy7pc zlz0zM%pJfFniT{!;KmX(d7fXA*dAuiKkbm-5?+0XYEE3kO)}7Wi+A#jx@#}8t`8gv zUN%HuJU!p#%uF1?%kLg#n%`ZYGvW2078&Ik6)W;ckZ-?^ zC!I(^?6!uox(5``fPGUWe|%BbI|f@;omZ;u5NjL#KXqTY74~mDqn`t|1lq2dph+Pf6Of6YT@hN^j!00k3UR_fQ7BA)I1gKVn?306@ zDr%Y(m+sJBt$?=a^oamU5BzZ52{OFZNvMe@&JwFD``CMS$S6@iL-G zIQlFHWI%7}hpIp(?fKMVv!;?^pmD;cNLodf!q^plJK7>b*4_U#MxQD{WY$19-G%|U z^Qnj>h$EA6628hxa@Ku_=1B+s{R*w+3e9L>5yz@TzUor4_#P#ss^Iuac1YN{K=atB z{oOECDElt?6$qFLKbYoOpb1i)^E3Syl&$$;@~dWo(`%;M!hct)3p|1*@ml1)-=EsO z?Rx6ve}T;Sh|A48GGsD!Fi47SC2T0v@6vM*TQs@M16OfWuglRxZs9EnJgUu&5M zmLIHLN*Rpgsb-d-l+G`>zpfP}h_BbY=R=Wt;F++bQHChlxwg0XuccVSxdZwVUT<1`KUa%z*z=VjqTLA(8H!qPMviD}Qh z=Kab5(!`w`E^jwWe}%#SlmLr*Xa@QjpXBuH-9CmBoW{;&W88zo z7&FfZgRW-USIL&$LJltfC7Jrag_>JY{`j^k6qV%w3}>h(#CbTSQZ^IBj8601qoFgr z=(cEP*rVACWfG_s!M@GQ zk6TN-=j0!n!0?2l4;E5sWkVdUbrVkUZ*FSZHO#w%aU%}{;L6SP7X9|VDwrku8w>cB zHNMkMp5fEA^Tsfq+4sX$+Z&kr&@lj~7U8SLos^}!N`x@C4|PgZjxQe^Cwva)_sa){ zu)i}UTG)Es5iKC;%`ShN`|SJGdD)k|3XwrfI_=x#Y{0a4s3ev;QbgS2HUMR~0^uL3 z2?BIEz{~wr+n><((U7G+UM_RnwD#aIx~(t-w6(u~oRb3{+2c`4@nD;5;?s4E`B-OH zg72AU-f0JKBsV3N$@;p?Cg`Sx%}4ZkrT&cqy5K{WUwDieq?<1rdA=UA-6B(}=H2Xq zWz4I=4n(R%_pIA3Vk(?KJue2TR1wLRd>3(0HYe3nC$8`ADHXhU=FKWL+J%2JTe0Iw z~@qO`O*uSmtJ}^JN^Q@W|z_KCgJq3dVR_#F_i} zuIK*OQ+P%{JP|WqBDq=c^XPP&LqjP7>E{+6=ap@h$b>po(Ocj~*;0ba-z0fuC0@F6 zmEMm6!IL0gbBUPJJgGC5s1oE$?1Lz{vJ1|C)b$6XqRF>KB~H;I1n6|zp05(83gBTT zVJ|WHo=^*RdP>Zi#bhgGsl#~iLD=|>BYe%AD|1$Y2Dyn}BIbmzSjskZc;6wCcB~tN zGG~aV7YN6FoqltAwJEQF3VOOZBcr_OIRt+iZp^Ee0~M^+ADEOchH|Z^t8FwsM>`Sy zPBFd5jq0eTwfRbJ7seW))=q)cP<*@?SQa2RXlSjchLqeFXr!?g%ha0m7TPTQy`Q;u zesFVoakhUqxP$iQ5B>GoP{}(i7WQfieg9C{#{YcuY`!8m6nMEA{EJM);+Ncy)8Nkq zP0^}fd$UvbP2a!I^~66@uA`i+UUzj|d%(-25g7r>?WB`Ag?ruGUf(}UfkN~ zItA+lQNDRc$aGBuaC`{R!g>F>6>WJwX1tO-XJYvBNPD!lHOQj5u70ELQ;o%7^|*R+ z?bBTckSk+{@pPt~=G&t1k zo3ENjta#yOHSw=Y@hqFErgybHE7GY#;ay4Z>K*ZdGZWtTlRYh-a{KNBZTI;1h8D!^ zo>=0hR1pG79Jw~sg5D*KnIc~8Mz#Sj+@i&ds~+xo1?Ftr|K2@0f!M`|zX8St>xAOA|Q~$c`??Nk-k+e{>W2AnmFDC)+AWGbW)JE)ytkvFWvv&}pqEg+Q$5>WvwKw5EQqU+`dJrj`HBwP`3_CUeZd7J=1~T(sSiT;-@ghtE5XZgBg~?N1}mwQV>h z46pR*Ch*-2Iqr~2`TSbP{jBW4m&R6LzxwDE!>IhVf_#30Z0`;K|3@uOyYo}ysJ2x_ zTyI(@oV|`QJoYYLY_HjDbBi^zL<2vWyf4$qXimHg_#`Z~dmq1pc6c+C<~4)ilx-MB zpbqEYWA!=1bWS^tTUQH2sakR!894gVpQEVb19;#)wD+iLIFTqjfEM1x=)dTNr->nV z=YM!+s~^A|*ubvuXkifKoKGP?6t5JQA)UUi0dzZ@AI~+qzDg+A^WKZfI!HM)TVS7l znbs_aE2C$2kV8jWbOT}MDbVmDhsk!7D8`$|kMBnS$==6(Df+&?*OmEo#m<|1h~ksN z8Gq%uQv)5j2;@z~()r}X=t|oV1HZ+&!0mO^3A9Y^dQ7@ ze|l|!t%bhtC>BJM44LPwZjp_Ny}6xQPc`GIJRSMbMtH|)Pksb?98qjoz(%SZ`*aAV4uz;*VgsrriVHLmiWruE$%*M`c+0ktX3r$g$s!L|yZI={0b^K(J^6QHl$;mfL}qOl4h} z4(D8+!!i2Hfpb<$;R&Jxb-BAWa!s8XVyJJrM~xjtB~~ciTO017+dE>JCHBiEZu%D` zpLwTXVo%h45c5WMsC}zq9LHEaX>)MGrd_b}7bP0A$e5CqU+bA)hPbwK-~vdX`s->b z8r_@QqV1QQb2t8!m*^Wv2*dIfp@sY+i-_XP2O4-vmDnQ^~A;yP=eRoxWgdT&)aImcH9>T&-lBw3d_maw-lcjO|z3uu8NGs2lP-FN=C4tHdGI3hij@S2~>NZ;N6O2@+lE zu~YI^p>=Y9x7hOWG0DeI0>aA59x|E^LnSxHxoDKCg(xNl@R&(+5z-IfS>65jEXiWK^ z2iH&WSM(Gv&zG;Mm98spx`HoHgIAUClf@s7o6VcQnE?q3|Ksz|owQaIRAnM~l;w1* zyJ4Srbxb%Fg6qt{3JNnN=9BBPXd#$B!TZoiJ3ncJ@1;z7&%dJA zfRDq+RV-VfLv&0|8=W%}_ck(4@aid!DIxSha&5lN=%ze#YW@915)ErCU}_ofchK)_-QWJ;``G$)z+*jp3wbJ6`WCP zi~t`n{q?JUCq3Utke~7}A6ab5Xy*1AINvl(OGi$=#s z(aAeAJ7X1W;T{2rUy7^}+SP#(@vOw$XTs5j^Wd{VELtX+^#LKbI2*#gs>#P>05K7k z6@kRQ$(r=aN5GrEEf7xJunz4QxCg*8HYe-ewq7%6wK|WNfAv(9LOm8m zBjwO@s@BWcTUP594q;^4KzErN+z-D$52DBJG&0Y zKyg&J$~TgZ1mKN!L^AdL7lYpI$3KDC&GPH1MjqsIWTS-Ev;aNY%Ca4PQIr6gGe~Pc z_5$b*#a-8jOIG=eu&t#}~$l)jm1T z^3oTE;JwpObH;)Y&ZAk)6;4wgc*^x&;?qH=f>pWRp!3FB0dZ=zDp&Quz8YSOA|C0+ z6TuW|ZL0SkFHW+(#-A!p^@*t1s+K{%0;l*Rn?aFvhNqwExYCeZX8h_N>)c?Fu2r%gW+s%q=;P|VFD^=^dgj`GpRS~=a3UAa8d>>0?d7Bn z#5sH$^uF%&j|rT!B8(LyMB+vn5*;!<<3=@TJg;QX+~*5&q|=%*;cR9?7bUKbpQAP6 zp5`JIjqli0w9}^NSm-GD?2R}OUrd8&6W0VX^^bY(IcD^puhW=aZ>(;e?l7ETPA#%} zecNIgg3+HD_F%vE%pJ;%egiX=XAE@dvjOB;^l?q zCE@awjh6f(LP;@Io{bw;8n!c+V}{tF&?UXaB_Mf+PFekTb0FK(VaxZ)7!%vh79F$t z)h96|yqwa_cLoQq9|eEH-{M{ySxBX9@OC5-JsawV8T;V)8APl(SACWHD(;}hz3mH` z3d>e0s}k4FFYoI8+D-xXEzj5YFW+1`U0%s8cUD-wl>d+S{@?fod)MFgSO`og2L8II zBBmVyf6Lal-3XXQglzNeu~-_8Zc5kQ%8w>sc>TUk9oBx-x8 z#{$2BNBs40n1thkk~iWryrsDMcq1-j^T>THqwXORuT&i483u*GG=l96!q z)Y76$-)!Lb$!$LGQJ8q4<^IkmAuQ!ce!^PO$!|PXHh(vtB5U(`*B{_*J8R2}e!#yt z>jA01j3JpZS8PV}Y5$Rs3SWcWi>-QywN@&0WeTw!Sj@2W4eW71^2z)oPiDGpYkf;^32 zZzc?nwbIiKV4Hs9z4tI<>DGpJc%3=U(?pTDkVnQ+BDaBCL;KtE`h)M9ion7G*5ZO^ zu)B5txm%5Y)f@+oy$7eQ9 z&-d->*~>&COJ)J|Q<9%2Ek#kk57o1QZ$DNU&TakFFW0fZ{>DS&syAfn!Fecdq-gmi zh%9x6IaQ{GPZzZtiWhHkDO*|apz`S36PwAMV{zXXEyN;M@1)LFizM4SX!VFB2iYqN zC7j_Y*?Mo!y$#O2j3V5)^>Kx{Z!cA9TlKYZWHTE*q{cX7HnNT?`NKBeMqaZUCCGPB zWz|-zJZx9DTi^S8teO^i!iYjNMlf;O1D9K9H+0SyUR|i@C)8qPkH1>B|GM@kQ0vG` zzjZLfJznlVq#l^)pww*ow_O(dR5}iLqaUSlsHd?=s;jPzb}z-XBfYm~PAd5Z5e!;X z2MJKop3d8p?_pf1hWd+(ESch|$-gt@(@J;h69Aqom}{ltmHBylUWSm2?B?D`MO{aY z9^zTl%_Xq*%-Fy7oioGI+u7R{7_vL*2-;@G*uGs;xa!UF4ZHiNcBNC+B^HGTIj0Bs zI7vPH4PCaJn@h2lQ;XosD+RrPwSCHi4$GHGn7?t4^s`cWTyHTCcR8;7qk|4k-|Zi? z_aEeykNV}v1uZY%tr%*&J(@`VQY_A_V$a>!gXXCG;Q7jl@*nnPdJe=jThLYFO(*U3 zX8WImo0H(N@4f9&2P@0hSK^nWcwS2{=*sePW!C3xc>eC6mG|DMZBVxITNS;(-9%Gy zV7Zpl3#HY%<@Ru;n`?#IivhN~EyPs{ZFf+%SNiv^dK2Z5l;iPl#_uw2wh)b8x2vB@ z?H=o0UNxH9Uos%i^1xn&;a_Jnrw%{P;AM$dvB6o1Io!~Z%vkt0+3d~J_E?lfZAaq& zsU-Ry@h46L?l4ws^{Q8YEDX^(Bl931_0UW!xvDat1q}ZZ${bJ0eHz6>U(A0ePh$~0 zW_Qv#Bgc~8U!a1v1~5%e=K)5^x<5^T3cnuE;z-=g*^dW^0lLv)Re^VgjO(xq!(R7F zzd%5Hmy$X?yRG3-LM%Gf5+5 z1&zb85+*`Ct+v{E7-=fg1tm?@}Z1QiAw%-T0GPcwBCf z9~-sEX_9a|dml~mLVi%1%+->e@morZ&tk`M$pD(cRMC_w>xXu`zX>6EJxMo`OdkcE z_0VmmmJC#h>-~|=lI^#sWNEkufqj#deV^m&s^0p3b!dxP$-0kIJxy6RS%NfPVBJ2s z8rm**8zY*n5i9~#K>SF=YP<}IQ5!gN3EG^JpW+iBP>buiiXrW3U2G_J!w^Z1;4O%$ zEId9jqahxzxrU|!L4WfP;-m;8mO6UKD}C5PnZ*Jj#|=MHWZOQACyPJQM^gG9RvW>v z7POE}0cPZ@t=>F(A#ZW~u?drUJ^3vrL=fQ+x2J0ZjMKx$EK%5?9xq5(JQ?QoD_*V6 zh?+FKwxvPV?EzA~G7$>o8&qUm)U0Q?SI{(1Vk0$= z61+e2vQKb7a9=vUkoOLFE)u^~r8u7&)t7`OF$#kg!79tccmH$P_Fx(z#G7r?_#gI;#U@L!qe) zBma*Et59}9)J5|eGf5S4cs6qrFq59AZ4}V|ZZEC7y0ASdmnWgH1mQ@jD3J_GC>6e`!Hixw#HY2-GfC zQXl5=Dd}On8c$xlItgOu8#D|=JbLEg^C%P%6E>=@)LXb|@e3GRkMF)XeD`%Dt9|E2 zGp9ZG$(zxKQ{MS8LVGXlr`{!jd;O~r;OB#Y1OIo$IxMwm(sXQ!*Gz2J$NaVDdgt|- z?OzV$S3ghN`GD7F-#ky*sX6!0uj8 z(7pNYm(_bRM8)MTRm(+gzsJRQuJx}UMZ3I9aC!k|phyUff9J;^pr91)bilD<$2_4_ zBwja>kN?LbB!U7RE`4kl5TM;QSY)adoB2^==}}aVvNJ_(DQ19j_Pr{66_AZ=_LOD) zw7rwkaW%%!K(!l|t%P%3`u_llz)8IAdRpE?rD7liPDjJNaxeOq9iUwBX!G`YJr9;r z!hC~L!Cd!>tHsRz|6=dGzncEGc2PT01f_SR2Bb+BX(|HJ1r$Orp@{S#B~%gVO?oFP z0-_NJy>~*W5l{$HA`lWfh7JL8$+Mk)#bFWs&X~^l9N>p4N&lna-F5B%(Eq5v@lFNQt0KV1v)%uyPR(<2p zc<|urv~KC^jnt~NszYu{dxqQY*MpHZ_JH9kEoMr`cWv#{OD(D$zL%eT_quRV^p8?_ zt8E>4TV~X^2p<*-X;pZDfN;7!xiXot$1}^nJCM|uCb8Qje8`!-PDhMu+nLgW+a&hB zY`w*ASuxa}v>rcCu3YsvO|W0Gr5XrDl--f!Mg&>lz*d~%@(qgyoEi7t>R85^oeSD^ z8H!wQ8OY;FKZ@3Fq1?f18d;73wy;4gW7lra>06NWE&b~83j+`22McHA3Bwxp*og@WfMy;l%8scOS(;2Hkk=!Q?lD`(rywDIWXDZ4me72cA>V7k_D{nT}e?7l6D z!+<7>(>?VAgTJKafCUfo!zTeAznFU)a|JST;=>we`` z{|4}QDM5%NS=pKtx~04k!w=VR9;!hfC9S=`5mRyMn_|T19G8mWI0VlnHrQr86UG~x z?vxf`(|UsfeFp#omi#Z8p`|mIzpPZvI#vk#BTjgZt%#K5yEU+Ou-*e$pVpRLB%U4ks9|d zt-@!fRp9(K(9<|)$@@kp+JJ(hK<2XW&?FOauXgsDcqgq%2Bx~$%*c+eHef2AKSc#m zQ`tWF6&ljb;ngw1fl}%Jnv%IV-C??%dKmL`Ae2q!fP2B}7lig`#A&^emRw_2B+qm{ z45++MSgSEmK0u}<@FXZ7a~eptk1%*m{oZUo`^@ig!}ir%F8orgl%Tg%XUumZ3@Nj@ zXe8mz)z4jdKhg78zV4iO#YH3cR@=y^no)54fYah`v-QvvDQva=&w0Ga1%QCTHM&VWX!vy6_V;zx_jQ@I>Yf=*1 zd8TtFoygbzNGuA%7+S9aSc>0R9ItZJ0F6>1z=KCvH%s@(`JS!w^UTGVkA^+8{i+bT z`Zhq*j<&Bj?K2&b{XZvAMu>1}scn_ME^b=mT<5^%PfSp`9ov!f)IKUGqFFS|;^<+m*UJ~#km zppvjWYYc1O^bFYwkhm-XHk?9XRmbM+LL7)D$H9oQ{AEx5fZMd2mL zUFWNQ4c38Xv2sd0x|%eT{1a6YF!1t?qP9fCr$adfNm9sA49e)dIYCP8*q5Ic!D-#m ztvX~GMzTV%TfCOrmk%R-D(dGH@}0&fdzdbXLceYUjSyy92>hGS)jRII(yB{Ivzqqr zi{&|`sk+moSTyYvJ2vJkEFXTXwS4rUz=+con^sf1gCu{ARfaht`3t8ehPXRva3upPT%BYmJ!62)9i9f3s#S(s1xEKkJnb03i= zVN0b0N4}D?VX6V?BrjN9LgEr}HlriFgS=HKuPSBX6D7m=;Q(R5`dkGJjMD>Gg>J0&gPR2h2G_U5IkiqY5UPH_#VxVSRNX}PiT zzMhCqW>B;-N?D`4j0Zo^AKn8>Ik%{QMB9>%eGBF{b^EwQbDBlp)|69T;mR>wnbjQj z3(L;qX+=&LoU3d1>uA4NI=UZ^!Qd2ki=WxxbibHAMAiGoT*GpW{O5O!OKMfG8Yde>ZFUwu_xMfl8UFV^|GVSW zGMOQF_B-!V-2y+ppM|v(!#CLP+s67GK5|#;t#@ONH3v56cj0CjW*YBncwMdz2qq17 zJl&jPCps>T$oInw6A@`nt-0ey;bZ{$(X$Y4jCEz?y5W8q;qnF_1hSOTD(c_ub%Y3| zbjo+g)bsv?2OK@kh)jm|JXP38n6$(2B<^?n3@Z}3SmK(VMQF9F_ArwCjrd5WvAwo^!^*%v}}Z zz+=SFV)PlmBiJY(V}H41Q(wC18O$gZ*zG@%;|!V;3lBG-b_cz*+kXBK@mw>6cdhF+ zExL_jz$?KOJz3dZ|C49Es}T6cY`*#ZmOu42{dmMIevamTOlrrQ2$DIj$(-|AZvH5vz1UAeXjL|= zMyASr{r2Y1C~l|9;TCn1m1!2@;0^Rg<0|LD?b?~+Q=%NsYPg9-%7r__Z@0Z{-C0|^ zH_hZP63pV~AAsvb{ZSXwz805k`khdwXE@vR=GGyK>c~ zb<^CbYj6u({o0qzrM|mk9QgsF8<)QzgLHAN~LId=6P%5hctlmt#A1Wkn zSwPAJsiw9mHILvCoHDO~g%T9jG4=T@5LH4q=Ex-X+Uf3knCymh1}}gA;)2xUSJ^jZ zOZKz3jo?4hGyH=JFiK|;{b7e*HeY{cS923r8{}@15`sC&zu#dsK($6sP&+}6d+vu! ze-hse+V6Kd60-uh_XY18Tr%+B7keQ!q&d*Wa~e^3j_v(wc#n|Z55+}=XDvg2D(ygg z6)gPy`{(L7wj@Tp-OQqdY|r!QY{QaSxFH2DVP<(+=N3_ic{Kf@1YXmqoO^+%w~dH+ zZ@VzV);YIv_=%bb5ycXCLcsjSKGSJMEE$F))rKZZg0xuj=s30T@F6y7UkW#Q@#XGv z5%+?ztO`LUuX)c@7ofz&v9X*q18`UZOF~O#S$}ZKpK05oh1`Cd-%Z(SSd6Xw2OTAa zyr#y9k)MU5;_G9ly9%Gr4FTuJZx~WYh&W8gnPQ33(No`1!4TTgckc)$^P?NFWJvg* zL83XJ7HLvW5lxWH9hb_N1W{rV{dz9Ar?1=bShBPb;szg1AxS*K;o)}T8=>uQxuM2; zObKoGh!j4ElpaD0H_B$^GfbBxC>g@n3Fma=qE~%GBETukw58c%Lzu zrqa*RZ2?ZlzQqr|3lB@jUs*;Wk~-Ue@>o8;Gx_Q1@bSgugx|6j-{TU0qsOhcT34In)9r!5A zUQw26y}%T0Jv6W{T`|h!xRF$af~IUfxilH;zRJ(0tMl2agDQb^8`h4|$$wtSXzb^H zd)K>5HEb}Gue|XIjM7Is`$~|m0-3s%Fe(l#)+h2)1Vs%9M?U; z)?ruPZ{4+5J@^@hPKNf%PScXjQs35JCCF%}FJ(XQt{_34 zDy__ZdgG197wkhL!dD~jqi?X8+Z(#sAZis$F~cQ+ED9-Gd8+GP##lD-%@`s`RgG(? zlpC$=D9J?PTE8tZ>ATZ{_PRT%;RjF3Z2LJPe6KAfUfHWY++-Z?=%j7iw3BazE0XZh zN%Ijxwk~SSGG#U1<=yPpZr@0)aR~vfsxOXpA+>V*(W+?qt$yYVNr*U6QjuME1^3Yh z^A{YnGgK!&d70$R0$j8=#8q9x6ipDk$4sOP%bpIrrs*(~qG6e#*cP86R-dG-qd_&x z5>_wkEH%lylWl0#Gi^^B?D2Yk(QmjhYWK%(CE?T-^LxLeZ6M#PUBU*JG-dOg{Dajpe6Vkr|d*2j&Tuc9RhAeSe? zF_Mpc&W-7fvPaW`d{naOlAJ1n_1Qail;$%Dr-Ug3WdacoY4K-y8N3Dho@Y17b6p5~ zO8JIP5)g>@&Z6;pGLwSAZrYyZvG9bZVNMU|PQN+GuqV!S$G#4!zfzJW&{PoQDVoX= zQ;n*Tw|?0%vfB}U2~eh%uycBT?Ehm+`Z6k1%bbC^D*d?aMIUKjk%L!DA zl#9HxWIhx3%S(ws1QZ1BB~>e%yU3QraN6x%#c`(|IZ0MmM|A^r~V88kIsh+X}72?e>3?@ z7A~)l$-?R%MJqi#_5PcW~TN z#YNkdmYUQTvTw3<%mz%mbk{Z~&M85(9$p9MfXex2;lro$(166w`pxe@@#jAq^l^QI zoV0eyz*xWMbna(rJzIRCe#{lm$;2Vr!%U$5w-uXZgcUUTc*kJa1z~SKb8+Uyv9-~j zHdg4P8Qejk_&Z^(5zHqAz-T_4+hm^Ch_-L4VjhCu0^-9H=DrnJxgtdzg_T5Qr0KmmE=y&!A?8+*Jj`Xm-H@PC~ zI`dXBtP5ccq za$Y@sz?vDqe`*?cd>1BaY0o3FZn>v;p5H6D%9tfH53C>bS}OOeI=mZ3n%B}OQkd!J zV`72~vNDW5X@_>QgP%2I)$e{% z(Q2AGb6ZhhZN+X(i{pVoxPAES7CW04bsOtz!M%$kbBj_PW#sL->d5Grg*8iA+?!Ej zY)joel*}&K3%+sOYNHmUH;-(cDBmzlyg#TbS`4k{9Y0+Bpvc!1 zfE~8&`kHsfF@;t-Ww2S)8=k$H4fqWtt6E8W9BpdJs5fo_7 zaiKORJ?YYwW{;nr|1mafXKPLF8x!Ho^y%Y(r|qKL3&Ix~gy&mF_)u&QT{l$Vg>Ti1 z(TfB*uAw$<*D|f+^a*I-k8;_{_L2?toLb%Zy@M{BYTx_S~n}{N%y52zPECyb%p6U zW-k&8n9%-Kz3c^IsO{5r(4c+~ebd#UFQ{P?x$=%W1sAuB^D!hyItdw=$O@5 z+~@bRt5Qyx*q<44~1lel}*}DPcf`Jn0MGi z)m>a$f|t^k9H=sZ6`kO~yOT{Lm5Ixq;7uDA$hWhHW9jiDS|f9xoEht;^yRGLX)XUelJ{+z+Ienz>hztZrnPVUG z2tqJGgPQAaA12`oa5b|={)(2FK6+0IKJa42CLez0h-_;C6s@r-JUHIpYgHk(xg&k~@2<`Mn2iqK#F}{JO!J zWnIK@oOzk;?x%_L(_gFRVTY$`flED-N1sg@+F_Wtl^hBm=FONspL9WwvCjcEp_6g_ zj-F&(|CbK**FRhfE7d5{QMsFlsw;Dl*8)+RC-^xjxEBwCc%ELIRgK(AmVNCx2dB%6 z_1NWxm9MI`U4KaaT~OzlSG=;?+fnFi0wqCW$9+pEUM-zi`}#w1m7#T#2WEgH;j38F zxaWX|11)u9MUn`>Jd6d_yNFNp^Yqw=ERl2>tC688iVt0-g+0u!*xL^cSIE^ml!ON- z^|ha{)))H#m#Vi?_)zbQfrq3jw6TLHW01e}qQug%{c!kaml08~OMBCabK9JgPvYk4 z?q&5JSp~lbWXUDL^*`U)WIbbtx_MEwIjSU~>HweY#D&F}F*ARBD`rxCfs3?C5*fZ{ zR4phP_j3YJ@`-ARc1wfh>|uxSPOE@hsNQ0A+wNxnvJL*1io{Oq>UkaOE;73v4DUsr zQD}jz=P%@!^_JvgEygVMh6Zzuxtj;4$E{ywhHRf28O?M&NyQh!#?CTYF#YE?Es#`v zW!RZ;$N9*T^2yPJ^7#)L<=wwxL-Sfw$I~^Qec|W!vT_vecAgLJ-J)-Cbe#(1z|S#K zJ6oZ(hJO`p@a(8se>u;@>#9Ug)R4MYw>=>3lX}fZSE|(JA1Cg)FviTkC zhr;wEHWNG|0drA@JF^`sy|nymA%SOxWX*MPw0*?xmD%T=_zM_>Kn zmC33XVv0?Dzkc$eltgzj*6&Zgt{ACG@#||3gq?1sVl<)`;T_IN3iTfO@T&!x@*sGr zqfH7(J6`pwD%Vg}J-T!<`lDfl8KYmrQFqpEm1;grsI|YUitrfFD%|@ zB{xM7^|p^OMsSrr>#Z(uNuz*&jE~mMK{_i@Oe_j_-dcS>XS9a;Sam;jnxPbXLaE_&SJh!=PGN+S%5tzgnh=}qRKnZTzBkM^6*t5JUObX%bmrgqVFuGo1ZeyVDZr-W^FbI zmc?cWqf|n+*1zcXua_+@akAk3_Y=B0l6GoY@#2#hk9%MRjUo}CL`aMilw&f=7Q|!0 zc0c>_6z+S#g#*Y?6&E!kjrVYws%F+CCt7j)60X-8*l?pyzEt|4NIIngq5Q=Ts?1G{ zu0b1oveQR4sl_WtrhpV>DTkt&$+FBlA9k-Fr;jS!uBi|mY|pvs{{UgDP0}bHMlakT z=Xg5&6SCPQ*YUi;XcnR$4bvSK8U`rCB|Kx=ydWz(5xu}y->&e_!BIAEJZ9`+yguNz z*>uswd$w*pRx<9yDldJ;SB%G-P zQ1qqJ&iG(Q6Ry@sa^LpZy^x$Np5iv55V#P~(YKmw<`dL(AN71iS2u-xmz2)J@Oxm#bj^1d3gytYTePz~I?HTp5qwVhZW_O+W#DEO5bznNy!%%H&{B(h9p8 zdOzaZ4D(ItN~zrf%mO(X$>=1^s#UQ4x0)?Y>25)rSnTNH6ASKK#I%o`D(=mto$+yG za$Hx&y9X~#nMHOEYkD&qKF{Cymm&R^Y58rxNG&)M2A|vf+*RT$bG$k|UY1Sw;3r%F+64})$42WKd7_hMSN`OF4&`V%NVNh$ zeyDHl76}okvs$x#033bYW(QfzEAKwS(TVVT!^9ThoniexdWm%`SgS}|w;N7g<6P`jd(w8v){m26yDgY5pq#eq+AupvIu}>=T3G>94r#`AW?uo1vA)(cX9&MFAIWtMCP~3*eHD zZVOO^e^si2nJIp0Bc<(~eZD)ta(t&U!&N)8OLSFa*9zcKin9t&_y2IJdN=Cr&24;t zAHUW;9+rMKHW%1wEl)ZvSRii07p&zfm;e z$7=%~EBjfcYSDwtnJO+B`?j12LF-S~?3-F|4XsiFS?W4=aOzE222P!A%m<39Xxd&- z(!2BVB-Jgl86`;L-k0Ri?e*Npb2L@V9{PToVfn2{Pu#iSe(@GiQqXQ73u5Cdaz(e3 zSJ+MF{|~RSn%V?4^&6$S2xI{VmTr2%bPM5!8CEh54&E8+;}+BZHO)3la`oO5b&ij%0R7hI_X9)gD;}hNls0kP~U%I-|L4k0m|& z{$%kGenE>C6*~MEr#jMtp`ob(?E4>5Q4r;WPYXO*nie}w<9z<_f?m>F3e|sdiwgf! zF;RK6TgkJmkaC(eH8@#@_;X_q%S~EdN!!h!WrRjsiW4yy52pw(WYo$<_sVvW1sLC#z%xG76E|kCkH(K-}##VoRr)z>HJb%A`(T;XmCU8RU2GU9v1u?o?zRluNr2d91hUCjKuCJ zv}uC4!!9EXbEA80hH|E{8Ql_gX*4rozPsNpU_*4u{)RzUoI8G=%!@U_FG;DsjsgA+6Xy|peX{c`hktUG z3|Im}4g*0C637t`#6X51ZM90fjv*7E+ zgDguz-&^5#QWN_grn-c5XEr?6tn6y8P^jmnXW@@YY|y?x_<>yVWO}2!{(WYxHAgTH zhz4Q#C>+OUhzHa6INzgOm_+^ zy`5XEHp!2%pA%Yd@Q4D&Y$EMpsc@i7i9Wx7z_S$ylo^sI;gI}Gr#p-exBpEeGMtng zPU?!oa|bNK0lI|j!**<2>E-gNxyw_$+<}Q)asA&V0{4jQ_-js|j~ZBx*7;KiEiN`o zsVsv#n3FT_+;!CAQ<(@#XX)LN6x(K`j6me;_r*D*l8EpM>a#UccD3X^!Y>)=eyxJQ z#i$NKne>e#{M6YCw3D#9W^!MTI_?f4nUnkw{*}Z12Z$TC$dBsy|Ae|w?f){vAL^SQ zBz9!+_M<6%1-{Hfnuq!~O3wT!@kG`m+m@SJL-<>&X2Pgm?7xdeXR)747LJH`U=uUlZFJdfW4dC&>5r zPU-x%P{%#B#F?`YZp3UJZGK$ zG>G=jIL~_Wt%lJLUE>GW*=AUCF?MlnZdci2jIh(d(?pG;LdOb;YKrFPnS`Ohlb=me zF+uEJL|H0%LBk3#T5C;lVCoonuqS*+uk=NdV-aG0Q_R&(6Mcq+sP0o@6IdVcdGbXeRqJ?D21OW7sN6jj^&+fs zco8Noy>=!sHn?w7Mfge-DcJ=Yl1L7eyK;xZl{_emCuN_DhdEUd|hkp>hac zB@-U2OA=c4I!cJ9Z$)C>5{B6gg~Ftd42C34+%Y;``Je?4Sv#HzTv+ZPAo3B)l|j3h z)6M0Vtp_1WFGH6`(BftPFSb_8NR>V->Ki|s!$V3WiQo}2}yX2d=4<0gA zwm$qmonr`ZV!|6!1T_wDx;V_RlQTrhS_gK&baRTCf5@ciQ(Y?dc%?+{B?vk; z!F&y2{4ed+#eKcysZ=Wax{lU&7OBl=URKl6H{AMYC^!&BKaYio$4HNYC<~%~He8iQ z-9ZO)fFzkQqtyo1U*6;=`Z!W=%%^2@k6`alZ*vV&6(c8Ni7LW78EsB+J3U}`vB~F~ z@T6}Cks<9C8LMKDd96h^#zNXJg2%kUpU^p62dO@kzQg`vfHFJlJHD(|T|PE9wqirK zbT(!p;oLJ($7$Q*lb_$Ocr<3cfi4Xn=YkKxr3EtmSk9KdvXunzH#T3nc66>RWlQYPpa8c;ZkU`qeKh>$)X_j)W7z@F>a`8rj_MCw)dmy= z{pdQSNl{LkkXiN#`XIV&DbeXWqnJE!uh^*oqCsfk_)pDae(b+;DfXWRHzp`2@!ela zU(5xLOWHRDvaXLU1E=c?lNs7bO zCx;rTWr+ZQB_b_WaO-;3E?GNai}zTYGMh)dfIZaK$f`)P|0A4JPdjri1JqY@@~DvJ z@Y>buN)um7QX(I9z0Lg`GnZW4)kTqwCE;WmZ$#3#8pq^hK;Ix03HQpVqZ#dFhZ;TG zc!iqUj3A>a)pbFktJR|f3OMI(s$!!YdylZM`Ana+gR3< z?a`%3$g*%{7&z7C0~vx6&s^^L)*@@J1el1u*h|+4Gq@CIuSGdmlealBmwQKX&1y6b zT&YCZ^WtJuV?RGqC^(;a?czpP()GSXFCCwcfeSxc(sz6^)70(0M@V3SFw?)wh}8Zi z*9Ya@LElM+v3A3@o;z`5ejJAu9u1k$;#`h4x4nbfm<^VdkE%(gI0`EP1H=n@jjON# zjsFK;bXbp+x#)XBDMl2s%ePq9iLix|6V_-CTp8e%Y7v{jOOtP*rdU_FRa!kANO3dL z&otP5ZVH+I}o)SS7>_uPRgNzn1z?8J>3;kcg{ za*OjL71^%^ydJ25SKdq9>=lelxwZXusg+-0;Ih_PK&9B44$Q&)c9yDylcsB*=(S6YmM!l4ku9<0XCBOuxA*RT45uYM%h^Hl7-aBtymOvPxi zFv((|?Q)eNdxFQ5Bh1B7oVl)l%ak^lBF;oB4uYycXICJYjm2U(lb27ziVdk*?^6-6 zedu}#1bsW}`r%Y4Z(>*io~%zm57aqNjjYsZv2JK6>3^QdXBx-_Gd0FY^xLxK+ah)U$YKmw`x{y_Jxr| zFWG95N42Rr<_V#ZNy%3%{JnC{Ay_a^PVGtp&Q~yQIwn@OKaDpYpG-OZDqXUcRJzyM zmiUVku`D~_N3m&6ZvawNP0v~0Wc^ujsl+z);T9?TbN|;8igC{$LRtNvz*eJ?SC&rR z(1;DhEYsv_by~4p`yr+tWsD-E7?XZC88Zo+_+F6ky`011y!aH&t7qTPXt1;3T^*Hp z38b7$|8*#bp4R(Cm?2Is=yEoljuDQDVppd1&z+JxwZ+d`mSyuG1tVn)Vagp!{$5l1 z|K_ify#585+%FF+kQ0HRQc7I|*{rHU;NfUzv+Je$Z5kQ)=3La~Gug=}O$bM;_0Ko7 zDi|ru#aQ6IN1(ZmE9*M0HOR;AVHkTA--~XrWgUAHBiau2+?`>&VLVz8Eyq$G#T z+FfwJHW2L0Q9lLTTp2m@66%6c zlOsnYI6bKbIO^HmY=5#JVgYaq_;X?MI>V$ule}e)lPbbW58$Y33E#?0xxIT&|+(pRfWAbz_t zpD*m)q4Uy>j5ITx(sV}y5}!HIXEjYNDiD5%w7Dnglcsub`c~C5)6CLogjN^RMM+8n{GLsb*LHtU%W&q5rfKcP|UT-~2{&;LCNTiBvm*&Ka9 z=Y^0^>nyme&Dorzty$sIR_xE2x{ILKFtxbtQh!oykG}2P)FSg}k4rX@vfYw!Lk|?5 z5yeVw2_au0(^nw)lEir_bdHcIMZ311+)}&G&o8u~>c-I{|F(MHozHbzur>4tBma5_ zwDy5*{fU7c`h7c?bX_XpVUPUpmVKHCSM$dMbqEe=@u+I<+-lo2+M8i^itBAEIlt%g z7q)si&-J`ev_=H>p=mH@IRVM$3{ z#fY;T&_SfpM+p-6vW^mfOT|^CNQ}$?bQvjkwQv3Ez~xnNg6n}28120;(lr20ze z(3ZAYVpwVde=}? z%gv`VjibWz$6@oDJ{hywqT$Z7ATk~Cl@;i9&^PGI^XxTSv^q^H4!{aQet#x?1Zs!% z_926i`{rOMJXtNo^0$hm!V+l+BblLwdbckUUtVkWs9Abt$0dad*3TJ$K z{Y7i4lsN+ORfSdATn?%h+lG1U>+PA4Rf_8@YO4=^w`r{C#YY^Lf`hG z(tR&E$z)xXRQWcvv+VZ{@2jsAZN$z-2-=@BZ9f~x8eAfjMsZ0kh|mky_?riGKCfAH($RT=#gd9aAqFC>Z5?Nv*t z)voTcXM68G%n?Q@XU0Qjr;|0D8&a()#1_2RXZKO!3IjVIA75OozTkbil-i9;R8&dp zTy;yaW1h58(&vf2LjqRU1@GL;q2?3VyTl?104u6MGdQUg5uBX$KGqKnt|^L)eX^y+ zRVR+I+E$TmnnmIkXC^Z0tr)$`4pP!}7!iK`UHYT26DN8}TkNA3v9sY1AKwb%jTnk! z`!vLkMb>FRA4mq3BEtrB1x4ku-XgC{T#G@5NZh0kNsUEbaWJWQG9oIVB$?lBY2(6c ziL(Y~9GV@N*gs^RE+>4_jJd^eOYiaL$YZugk0{#%bAJ!5J}$$)vsdm&Ky6mc&iMV! z)%ov8$v){{VX5+%Uu~j)s{~pT`Km)wBLz(kT&-?S{^19zYgAot#=S!)EuRX(ln|g@ z&-k`&BH9`gGs^Rz(#vl6@y2d|y%OgeLH_&}$*sS!s{bCJ{BAA#Z!GceXKNq+i9HJ^ zHvDmNkO$buDaOimQmhZQqnQtTTbTtV}Y#qnZWG&e)%Jn4HXOpp6-1yKTo{$ z_f?ShF=KOPzbaWRzd?i-%8;*%^iM(sD{UD5`|NefiDbp)pY+M{n7qHa)$be0VK}Of z*Is!Y%k@le|YxY*apA(}iElPjzX83Pkr(7JElEA-M#orQT z6>!QqxpGge>2DbFe_8adPyhDE{$uIL(|-1E&-tIt;(u7g!+%BY{)cV+{{#Gc9P^(A z`~Sou`o(AzLAoD@8F0oe;IC7oQ3IDFIPbANd;p}n6=#mcv7G-dN@H>?OUq}~w0L}* z7jT(?VL>h|*OxA}D%GSBEw37C@0H@U?aD0bKOAKufZw zxAMKToTDe>CX!$gf!Or(enox=lWB%oRGOK2nwdxreQ~U+Uy&Wj#Oiw7g0Tg6ToZFO zHRs;(Q>lX&S&c)ijEa`#_KI%_XE>*4BkMg#1 zU>A^TJ4$y5+GM*aiF!@FLv!!pXBebcGSHa?hfm97eW(MxaO+{jm1}b+kc{lqSdkM( zO5Tf)HKQ5Q-l^9PJc>>vA>6_jLlU6+**%I(VaEtKnIKDPq%#C0|MAtLM0aFcxAo00z^D=h6(@uzyu?|2#5R&G|0Z3{B}&Y~Sz>b+_ca zUaWS7$g7ablW;Lf23_~txSIAW73`7yofWbkW6`A&pclWwnfP(;4*e1OZ?ArHIy=ox z+`RXOGR>@A1Cj}VFzNbtnM+*rwEr5T;Hwl=<$i83Nm1e}+xN&SIZ~D94uU(W&%J$! z729jCt*F!73&Ee72hQHaw@h~&z6e=sCW~vOH-`yfSB{UX1ADJ%KGAd0)|)#2lw%Wo zjWffg(-?9s(K!`%yk`4ncyvflNZy;tCA83dS>|1YYC{-zi8Yl#NIr!YPN~LqLI=mA z?QGc?rR%EJdH@)0IGU~v7UUKUz}(BK)dhApq_&3N5iQ&AZweL7llKV9But(4J-Zg< zo*66wo^%&7{WU@iQ>Ob$l&su}Es8r7{EuMqKd`(1zPX1F6*!D5{`6SVdG0rEFJ#p) zWFO3CLj+$4_n8@dUx#nXDbR19ezc&EF?DLq{PKG5-JF%h!eB)^&%)_(|LJP3;gOkB zz^_qs|FE~rMQvy49j>{`^Kj{eOT*J~Sg57`LFpEZ`)Q^Hw7n11L6kAfs2G}9)-o#Y zXT-sZy2mci2{kI2koMU_Op4VmTtn#^c?_Dii3I4*F~4 z5yMe5TA^xsU`L*q*p|eH&i8Ob98d239yl$MkZtB2b*2@xL^c*T49yi2%Gar+s|0wu zIi<2+D_&l)UE+AzI)6R8XqTY;t}}Ybxm$*7_K<(7=;F{a+jp&^i_g6?WrER?KF;~e ziVmXyrDHz)6s_~unIRf?A|jE_C8snrLL{w!Os@ULwOVIE%4G6>!z}PXObV_fm`E z<#Lrk?(ogFgb(YHaoX}mHyNJPlN`HovM$~UhJk0xc*st!OQ41F?(nYi?kn>m$QMDV zTn?gYAAnBv5^DUeXF!lr$=E7x1+T2tXzhrrDZ~^cih--a$Pv-om460j6h{z#K|=G{ z{~<*G1KvL(*CY~@v#UJ4$rnZL8NTc|lG+a25%+31==3-@sE;aR$g}6&*MhdSl|J|s ztNWPCVz_8QKgV?0kNxz_qbT&0pKMbKsUnL=ZAt<6LWUXF4=h4LN zcF7IphN>5c)4NbN1?)}U7k|-=r}Bk6YT9Yv?~J-!tvP|03H{@qRjG(f{zGF>X8vT* z&l{66tJN0>DF;eF(pES)K8*;ht$08Tdj8qCQiTZ%k$qaErKA(co%<+&p{bdgLivvL zFE>V8{rmC66W~D7g&#%D>K3|7ro~Ye_85-JkuI4^5^ucUv6q!L)N^f_c9#*>`bo?bTJrU_f z1$uRiq49IV2R~#8=l>_LG$$9oIW$h}mQcxtY%$z9C;ATl^my1$nUD)sPURvv^VM+9 zc_EotN(v(j=A@G$m}kAmO)kQRSU2Ufbvm*=%so!Sj}1^!!cf2MF-TQ5y6Nxep$_WG;s&Ix@X|`iImE#BnpxFyZV6 z6pU{B7-Zhl!rXMBp1#@;RP3c)`+l`ZWHmu`Q|k z^OKRWHigENctSOwRR8vELZdsH0L()`xsxo2Ynf`Ae}9gz-JyPo7tli3X6rai) z6Guqg-r_@MfxQ}rY*on%iX%GD{7`fWS9Y?%%3w zQmP65Svp2RDm5+<%2>Y}W5Ix0r~xEjF)6Bbt%d4(S_q^nwNi3EPmkia_Rg=*GSz)U zm}`#cEw*sYl|9A4)eJoY6q|<+59bO~ zPYbrQ5$%0C$aOK}OA|5#&wr&h{dXQ68N$jbeyWJ>xbKexWJM1tlPpZj#(u}i=7nd$ ziD`=L=}W)EQeC<^TPSvODL4LXY7!-Gh@80!&WC?fhMv`n>ECIYup}$(>Qg&j04F>^M1cK`M1_Kq-v?DX)vl-( z5#}t($v1wQfd-#`exxtbDu0;MlXbHt_+Gkl>rw5PUOQK7(sK$)dM|lUnj2NZ{;k^g zQobta=Ly^}3Ghu%3RPZ-&8ZG^@y(Z@-Li#X+*+U*7a|Q~KJgUWJ%royyV+bCU-$ z41!Lc3o)$bPJeR2r)HWx2>URWGG_Zh`2AhA>{ggNST7gr=#-kDukY{A%*MtxHFL9+ z<~UfxgE7tQ_LA7S_Vb#i&xLOaXuvh&1H;0T9lZSMdoU|$Fcoq{vXx*1n#aBQh-zfU z4&1AjMrH&{C#v3%PEOo#m-h7?NF$%!)z~~vu#*G=pHBUW9JB&!KrQ9*Ac=R!SjSYs z-S$b%pyuA&)`)i!n~uv&Nec+Hl0$F#14N!-m?y2GG^s$3UsV&+q#<=@K4##^jm^y2 z^P=LhGnG!PZ+)+#l8K|sU`XOUmmyAH%a1nTW_wLCn<&<@4M=^7-p+SVk+)F-WA z+pzbFKfKzrAU_pzt*P?1q}HN6pCwqZIIx}FWA<*t*Y)+zx>l6Jj=@e(Z1DUID3RQ4 zcSzaS@l5dl;_E%!n%vrL?`1_rQ9qLLQi`j~G9P4()@tlk4v2ER_0)~0_v}k*3hO=I@eOQT;s~x` zh(E_CK{y3TINL;F;&b2eRK-Moh(u=0juueMJt)$cmZ1RMO2{ zR0U(TWhJ74%WYqb2d^<484AtNX-0K%JzvVPE=%BglA1{zqiNL0cajdIxAw7C+j=sy zYs&J{RkI;ZS!IbKp8ta5q877g*?x0b{?PVEOwjT5LXTg)H?`%@YJzK6e9Z4I;m3-9 zEwwXr{Fdb8Mh$l;>+N7tn;ua@>uR>rH>#2AA7CZrB#;{`z1Y0Q>H_b1n3l*-eiZe{ zGy1sdZ+Q6>7S69V)#xl7d99(!XG4H6i1cZ{C+;)vMQ~T_%R-c7$MlH^{ArQ~=Qja( zg#OWjIXHIN=`T1k7z9W{g>{RMR(Sk zL59mLcz*||Aw-M(V+qm5Jh%+~*8$~+vl=|GxqwXp?08y(COkRb-KWCesPY*RNYiVd z?+N1{$!vD!i@lmRMVIy5d%a%o(E=mU4G}oi@XB@1VeD%vHmm+a3E;4*PdN@!#JXhv zB$EfX++vD$F?sv|ldE+SR#=dT0Pk1poH7o4eJ=dlyimeAO<)iNHY!-35RrT$mlI4) z&Zu2rv{ukB(U-w(on<)EAs)YQ|1M1FqE@@-=BizkwRpNGFJ~q%LrsUevZwp{q(-LX zCJ;~qtt_M}!I58}$+J#vVo%AQco+WU00fGPUdABF67kA@iOVAsRbV1NjXLO|0OXa_ zyt7&0lf~jmh-`)w?1k)O-!Sav)`Z=kp32`7!Hmn&C*p1cMg&c(`HW)tVPq()S4yk# z(ZyB|kNFbq3*X>ssh0d*%Y@YgVAR6s>gG&cYA2DVhVPx=M&ORn&6yR2$%g)P9b{U~ z`yn%4ooTNi>;8a(-hh?#3}a*MEV)os_^Tlg^OGRbE0g68qcJB{0& zUQYKZY!}nolfOm^LplsV(YU)@3X+MP|32{i*eSWlW+X_WCP>EO;y8TSwhb0+Wog%? zU|v8Q;zj*oq@}h97M~|AFHCK_=?9x6&6#{m^RZ3dH_Sg{ZqcK*ALu*IYjj{n*@_DA z4#sz9`zEe@awtn8Y8)}otxW_mLmIN}jh(N2HZ@&&WVK^wd4$hgoC<$FP_(=WL>3Je zlXM1w+9Y6abl6?nL4Nxzl~=KI(WrFF+9K!v--OPLhSLWF%frB6Pvy+#BU4h9_br+0 zmzMp^_uML*=s`Z zH5(>@L~NLfV27K~$^ZRIvuRbqAF2=uuq7$Xw#F9^E>Ma6K|+P5z0yJ*0Sv3?**sY7 z%Dle>T>=E_$2nj&?hv!l7-u30pJyQqm*)twX+7I~CD(xf#LCs++9ee?(u=V2h5VMM zU;X-Dw*>2HwpQjZ=K(eqP~1UGD17@fGTTbq!c}^o&B4SY3zRi!=pFueqIR0#Q3pqtEBo7Jq zNVrYur>SQC=l!`iri-;BwBQ?m8RL8!++l$zxE!2+IlL2f`XeWTjX}J7=ls6y&a31u z;$0_C

    lU;kjxKXt7}^(qS5i^D+3nP%A7vV6n5jbu_SNI_@pxX7HmCI#;{>+KrgR5 z0oB;)3KOQA(7T|o3P)5I=f4pOXDhV|M?VJ650oAFN1SDS_*jZ&!S4nCe=;#~c;VK=!_pD;z?5X`;;p{i`ec9| z@}NUPcz2yrY4rgx$`>kIGS8ddy=jzu4xVB3J8~SYT*&mBUxNi%6F{^{UfJ2b$$RTD ze*G!M!T7$WO2D`Rf)p)77^|CSV`~2t#@esbnx|rS6l3pbP>+ZatvM7O@3(^D zI!hg|VPx;y@2&quuS$SO@~9FXo&>Q2m;?I?JQbN5LE_hn2EP|hzmg*d-J(+m+h}Qj z-6UV1I^$cJYRZl8>>0T{(7jti?B3jgS4;85l1xFp{U-P%!%#*8O32juoZ%jNTaO&A z&d5VtOUfhF9V>)<-SBMo_GXgDG}u$RvNOR(Sw{;Z{FSsk|9N8=)sQHyal-q z^xHS*&^|oTNR}XjPdA~9)(-xKaCz`!^3AE(g_HJ11-g(^a2BiS4DvD5kv7e9Cs*-4 z%l~5GQQ&G7sWalP7*>V*o9|wBc-}qsqf?V&!t5JTnP$2YUZ!OVExQHZ;Lm`3eAQZ) zvo-%D?(0-sl89wy!#E2ne}HLwnkt0U*G=8NrCPrbLdG-J1OzMS|d z3K%_8@0PeMT9OwfX>>EU&2%B|kPnxecdvdg0cP0apf?RT^)E=Wgt>p9ih{!>Nkbtw z^wrursZbM3gO#U$Q1sM{l9#tAU;isfr4FlioXUb9yAXo6Eyp5LRm^_oTj`+vi#byV zUa>qDc+>8w$b7Wj+o&@8{%!s3daWQe!RY55d5n)<-K`N@Eq)gxr#&jdPJ{Qb(@ZBw zR-W^WDVOvztj7DI6QQH&(7GZDmEf)gG~>pQDXYc+SM8?){9o4Q0}eH5iuS_FpO-_> zc?QHM-iOSpuymTbldl5t1L;Y@^MqQj9sP<5fWwUF4~O-q<4@v!7>T}m?VXM6#*0Yb zh1VTE#^|q#8D{s2#BH}}8u(t)GOpp*ED^FRb5|;L?>W6bq*e;);7slBS5Okv>(*Py zU+O6=F)My}0K*oHjOJtKd@=yLk+Mw?dUSghUs*8B~^n?Hg>ED^}{=RmHj>? z({{9O#9YTyG$cE2{xVddJdjsU-v>Lip$DcJ$UbKhqTF!L9ZDDppqdKRF*=2&j zljarsaDn=hedN&Foz{Dm_0O~826>?LY`PE+N1bPp{nqdzg9QgH zNg20@y`|d=^{5CVeahQxjHy`=2swOOkKR&Q{w&XkK9@Adhdrc+WdFkxYBIB??C<09 zf)8(4XOS7V6D^cnQ_;~}CngwOMu+CEbnO$s>q@RsTt~Tb`=2rOtXk7i3x0IF&%}3j zCP?c75D`M#vp(|QxD#P}bScZV(nj01bWw;d&l1C94f_=K=wiaJ4XIqCF{&kk94b7R zcq;{@|2EguYy7>S`M6S2To;1XR4gkzegM#n1T3d*+AlRL9Cl%nbN%4If(A?p^RYu? zNb#wG(B@)aF}J=qYEsPKe)(l*N(As|bs~0URA~`4h%N}kRADwY?UF6bW#ER;bO78= zg76HIvJZ=UeK}ROJrj{+ZB(R15((Ur4&AmA%&ZLrz>cUq_AO+IOI}gZroGP=Et-<_ zXEU{)TS+*He|R}Cy=5tp&9oiwS$ZHoSQ^})o~m>foM2c!_Rk>~LBbYx)#c;TEu9Pg zW|+R0U;E1T7AhJ^r~T5t@Zuvh^~d5UWKaIb&Z$zz*1}c!-N~wiPbt?}k5Jt;XgEr- zP`R`lR<8a!_}KTfVk$D^H=GvN1v@}uzC#2#KU59yZBNw_ZT@f1>3__kj;eZVsXHA5 zd&0Q*GS{U(W*+p56>7mSr`zv-Facn;gT{Amd)bQd?QpGaavEvx7uX$G?Qe@GpUlu# z0sVo9v%}9bv2be68iTx7H1j%P9ikV=Ak$_ngS9o7p0YZ77E zxewNX(oc&X)WjZzo*3>ia>PfC@xG!p6)|G*L%gjr!_w1LzjVT3tIc2eGX%E`L=d>0!-rF zid-5>ckz`MvnO!To_mY;r{6QQupr>;+Jvm%6SdfjSf-Ww3?M1URAC}Ee56I(t#_iX zXV2NalUt7m?84zyN8LA`!=F3#NhdW{HF( ziTez^@dpL?A9MTru^`K+=+W$CCG#LR;q+d!hV=SCgj!|bi^8ut{5uj!I4+Px(Dn;@ zT;{jDk_s&AP_p}i@2^&nd7FAvQY&v?y@gG z4D^I}{Q0DeWjw3oK;RYD^8L0nqJoP7FmFz%_MnLc(KzgOHN~2PL29(;NY#w2%P$LSVY7zH3rL`Ep4(Q%_ z#z!N<7mVTq6x}U$Mxq1fe7HM%U|MKKAf$V`ymbmH5M$>_pGPt3G>`4w54-$OBJ%~zu5;-8nNjmOkP?5O(Fe^P4*`2rR z&a-nL!dk*Z4`mKF)5}DhK6+H8XGfp4;BF^xGqm`@?DHCo8|^{=x#5)%MH|*p(S1n6a#sc17x@7-X8VEuN}&2uz1=KNBmxkU7@2?AnAxyT;yHT52w& zJxY?`6YU>AC~~+gFT30HD!cF>Z!NhSX|iwf;1B9x{H=}&j)$K__T8rb!NqS3f7MVi ztM@CqtV`9NLtz^{sMCjo#rz_@Uf!8nBi^0@QY$AAu$vQij&jNGr(8Hg6&xi%^FMZu zCTmh%CO1RwTt*3fL@d3!&}eS8_VSBa+18V#OR!jZIeTI)Rw+^~axBX~C10^anmHGK z-SV|Dn`dT4=r)&_vvQ=LeDGmiPEGP>L2_oT=*PM5#AwY!(M9bx;|?cQg+^TDL*IZc zMcDuDXg#5aTJgWj2vo@GrjD#GIV#1nzlnUV1&Z#V%9I zU7_AZ4^xP@Fxs~6zU>4?*AdNLJP+%p6wAf#LxQE7r%dhb?cYg+#|FK;A!-k`_G{@l z=9ycW|EzjMFS^3gpOS_8d0wKtJESgr5>#3^N>ai_7~D4TdLtg`_N}d0bR*KI0N1kx zz2K3_x_=5+P2y+em!vb^AD5}!M$%C+O*)XlwQ?9nWh`=Awfxp4jV&G$2U*6#B0T|+RpHBtVf6l__x-#s5|># ztl-L*6+)Lu&^iFY^LvK6SkWvS>!tfugo||XGV1G4>GE4O*ZUx+sAvOEUhU|i3|%3< zAUnSXVP=iSHI@=3t~k>x(cJco-P+v~f3jR$noY)Qn#)#EUk+zOj%PaL_a<&aJahb_ z{<%(<9{;0~GW@>9*faZN>&qoEM)LGWd@kT`X;+JJ~Hn(oSP8l1(>r`knZ&BQ;=eR5t;qIK52^=@p4v4(V~Pf%>2 zDW>wfa2KkJRaR$u1NT5w^kTgxW*U)Dwf&Mce2V|k^$_(7UztN)*B6!J*7|5o9VIsz zxLySNw;&&Gn94|>R5#tuj!N&onGk6+ZXoROXbxLfc4*`)F}Du1@)KBEf>r7FodI}( zbH}~oV{48Vr>~O9N!CjjQCtlLvevx_S-w}>5f55=kcJi3Vr@$(rwPg?8_bQLex3ER z9%4Hzcf@ua11AnExf-X`(a{A3Dk}>Te3d)-Mc|O<^@p|GxQDbvds@JqmAkQs^NxTg zcb!F`2MSxt6)HV88*75Z?-8ZM4?F-?h{oBL>z#{8>34gG6CBHnoGZ1^<{saOvU|J| zJjfToVr<%r8UxPT7w*qy=BylWp91dYfU|*9UWBm3aJfwalxTyF<6pc*MU1oaopbgFwu-y2xffk0){3GZ7z{Cas_Hu5 zwPA^3GMygtToZSY+v3F2Qvh(z~F1++UwdKL)7oLJd;o4?QZGe zd6d>4B*7vEP%?H|#P{g6_M|IH@>9V9EH=aQZ=CSu1s|iZ*M&TL#B*lCE{jyL8FIJv z@K5uoI;raOd{X7!3K`~}dR3k!+~HIM6gowJN-RfbL z$gvzb8!mjqLP?iK=(eXzEW6US>R^aLg_j>$h4^huM7Ev^y?g8u2+~-vducs%yKy|e z9{H&#kQPpHqB>AIbwRf1H+l6@!{NPN&7Oottf@ReaL-0cebQDyk z*QTe z-|K>4Zz-HLe6Ka&v9OqaQ%$r`VupRZEuSB))o~G_+~eZZ)?JP$TUB;4YT=d2g6iWp z{u=RBe~_K4V&=}->{P6wc*$n2&9kQY1ZoFwAF z#9W6T-zDKaR^&SWLw;-tMj@hKVSVUW4>dC8z|3{nRV_EH{Y3-w_SuBve?&hredu=A zUNbb_VIPA1!$5BAsd>f?C-M84zlX%yX1Z+n{=ejg!O>vM=*e_=5!WT<G-){lfw1>$ia!NXiU^>?_IEL3gGhFG#Xn(nyEXm6$+i z@&jr5p~=s)c@WxKtV|j`vQ6GsA=Bdy&K+p~N^xAaYcp?HocSs_2xeuepMlWy{eAO| z-+|*m_H*wYnONqzMlt9h^y8Zv4FECOMVCvSCyM04TU!XbSG4bqaaa;CD{rQNhxxf3 zEJXvbGTn%(5V@x#%AjZvi=3{7+Mp@%&s0tLF{GB#?w8vR0vV8JR<-vObzi^XWx#JO zuLSy?-yHh}!#uK>2$%3Ai(ECj%kw^%TFoE2w{T^~33#b6gX38c3tk>sr`KWzGA+Jj zwdnjX6>6%~CcGRl`q>=$wa$Gew{j-_Q_rLncAB0t52F9^Mrb8vAJeS>+|d3|a9tEc zelHUcVnRb~Vf!uZ$)-ZXUCqO3fFma3ve}idx#za}dGO-qx)1YRLcX`jMWru1v5lQK z3nWq`Dqwt0BZ+AF9}08JUnTde@Op2aKjHPZR{KMIaj z`#Ioq$H!d6E^kL1&gbZLu}Kfdo<#^>n|E9~{_LIQm%H2gLzWf#kG~UmaPSUiGR{t^ zHmb>ITYK9SwdXMZ*?X-c+89cTH$EPKTrS;D2<}q%0{5^#e(5h>=tw7bu}j@jk9@gv z?;-X+j$omwL=TZB%mOk16A=3oSYfpH1_fU0dcKp*3Y0wt?=PjQj9T zu%@}3bQyP02agqlC~4h#e&wWiez6iik*CYR9>J{2V6zw&4(3>#Z<{dpfOA!U7lTYLN^bpF**ApTrYh(_LYpv5CouymSSf245(l zl=dVqPs!BhCzP%=QAU$=YF@}s9!I7GlSNa4Pwuy!ekM@pbaYu0B->&dWyogb5L5R38<6F9 zhbS_hp`xAbk7l+!d5wBjUf1Dg!}~OgUOw6Ks^9l=2&0`DT=CGm2&i}7X)N2?6c|W) zkvxfVPmF-Jc=n`c6pZee5Y zp53l@`g2a*cDYj9w)Ko(Wu%6 zA>#?VxwK`55?!74LP_UEoY~5W#M*Z6zD)*b1(fDqD|(GhH=<<_qu=qg3N!`X**bH7 z7v2#kF7*LnPFPYdxZ)Ba{ce4kzTRKpc*cNyEajE`t9LI+JxoCZ-^6}uM~rb z#V*iq(MK+4E*+1sdYcXN2~ju#&Y3}nU_N3bT!w6F3g1bl>UW*Po`@#d9{{Z=$oq(u zZT-GE)$3T6zHiRBQE2@&#WPWd@hKDE%)MxV>fc}duMlz)cFxE!dey1MK?l^ssj5@AYf#eJx%wgrLi%BRmHZs;qFK0Iw(ZEZ}Jb z+3`^}a25=!o%FxB%ikxlAO&C|9e9{s2HncdZ>$3HrUD2rX$L{CbS5!r%@D@nzc0!r z0>_X0G7(9_Al+Nd;f=j#XNPSqc^rVG(R}J?i`lR-MC+mgCOyllIJ5aoLVOLnVt$9e zZUvG4q;qu+0NgU9+j;KxWej}tk_npVIU`Do^lfjNq{L#jGauVm?DS@3wx0wXU%i+I zv*d$t+>YkT(v<7`@(0Kb*L);zW!)#8@}W2@-$XF@CvhMCq>P5ydKIjL7)a;rZQTh(2E!Lt}j9}3AbKtvAl4%$ZUt+okJi{^;2po%_ zavyv@RCRMF@Q}$t=`7_ADo8uiZ{W}206S?x#(Ah~E^_gT7x)#U%~O|X<;`%siKw$7 zDX;d-ENzFHYu1%lV`V|0=qc~j7gxo?vGxmhL9>GC#N{3<0@?U-FhrTZ=j^fI8>6>E z75aPvhuP}acI>dE1kNGvQW@y{*Z1Ae?)LG>1LJB-Piu!xc-mlN1s!;~fNiX!Wv`CX zl^|i<2~!5*s#qioiIJD&QP{7gxCZcN8^|}16{wE7{C>QoSF!v%C97=hl-9~BbghLq zi(h?N_MxA=9eQfkJ&9#v-0e~ukhruPlnf0I{as=vrh9{9jN2JtXjmGWf8w(J23 zOOQ(|Uv9!nWm>(#?-MQxI2S-k_(_t`$5R>6%9%?FY`|rcz*h%ShB^ADr zFYE6EnsM)%7XoOkrs0*1RGrS!b_D|-MdgZJF&VD#;_$@Gkn}SyUU*fq5-LPxdwxF4 z+OISi>=!su0a@|gk-D=Ir2(oP>!e#!?Bc?TEYbIx8dRPHOq z)s+FmH8yms3~V2Add0-!kK_D%TfT2@p3p+5#_WGu*mbP-2gfFpedB(yX_-z3|HU=n z?RfsDP+Ok9GeYb6b<63$v1?31IpRp1FacoO#6Cl#>NVxswki>Jo=ku(po}pKG8z^i zo2!NpWU_!*Uo%a7HkHA++ik_-a=R@@W#6r7!!9t%Y+PrfkG8RjHG-CC^13EZA z&p#tG1VE`eI3Q^34*p@jNgasCARU)SL7KKmu6^v;HxyDvV!s#2ih$C8TD_OP!k{A7 zee4;$%u3&S&-R@U!)bGT!BJUroQXo@T5K_ew#Th9U0=8bOZ7OxHm+c%`C1G&}c zweDm_^WCyo!6k#OzSTl>0(4-Lu?p&oBZXY`xs_`1N9e-xnfIooZvW_$?&Wq@9yF4? zdyw$%XiDp4cUUsQBc>`}eyZL1#s)#xZmRAxmU$-r`SzC6SPjsUDnQK9kOK`GypA#J z6LxLxlLki=7%lRpR9X)~nA21tC5CU3J123@!wDrpm@4OyHx1eIKjLl! z)(nFFvTKFE>psnN1-3@*(kVJwwllQDu(lTsBiA!(ZsTu1EiP!3n~(ib99h&m@~i^T z=d){}&_v;%c67CV*SgCl!AMNK+~CAtodU1bEZ9aXHc&dvXH{)MbPAY&5r;9Lg3OlV z5w9Mud@bTArB8CLJ@blE@uZJj(p@cSpv1zDf1e7c7rCO8A`8~T!Dy^wBvFMf*#?xXHQ7kA1}45n^-XV)ROs@KA_kWOl? z(6tQFogaY#3c+Z*-#_gH*vF6pcqSQNo$|;^J@%Gk*Sy6g69T&qpLp#*=Uo8%oV}-k zTB1dR`vsVPR3#x#27iN*)n9z>DJT{Vx!B1n71zijGA=`*vWegy$&XbX3zYfNXl%o^ zm~MKzzNnwC<(FT)i#Y6}HGZ?Zaaq?(qPPck>QQp7n+({}*z7ntHOFmutAf_{^CTkv z1W8Dat_th@|MLvmMgNU+xou!|o#C+3UWJ{3vb`sJx7{4zyZE352G8Gaw0c`AkMxAl zcyWL4a)7Wh$p~)VI_!D0IXKUx;(0b3kH4HoDyfXuO2~!(4UzK zmjK_6v-V}V@vzZ+@*%CJ$sgvWqj(#miQu;(L*exG#S%{B+rCKBEn#hrR|NKR`vwi2Uv=5j zGvlV|de(biywJfM@2zHCpSp%oI!X(=xRKxCA08YOG3+p=*V~7s&Je9^eOiew7f-tF zl2C1l3w;-@+8{0h`P}=j64G;*o3-^l1IKs2bpC>3f&l};0EECvGSfDG^`IRnQNp|2 zhIupCiGnYu{gST$TzMkJDDyp(VxA8Bbvm4P0z$+VkSkLsm_Tk$8) zkLVd_=ya>ytloApQ4^cJjr+EG_Pc!sd-_wb`Z8EJL92|QS=Ivod@-T;dlwpnd0QSz zoSf2@P5#z0kQ|bUId;H>dsRGM(Kkud3$}R*4X3|T5CR!GkIQ%!sN>0fjOVrw@M(*z z`&6^ReK8G_QJIKLJ7+q>dN2(H^p);n*XGk(L^Z9(vj3ULngLe2`|8ds_<_%~+kAIK z(~OVSg_@~Ub1xAKk`r@twZz3e3V&8p*P5*OHZfhr-H6wemoD?i+mF~X*BS`Lifr0T z8y6(TzBvLcD;Mx5l9UtLHd(zSY8*QHtp^}H*13Y=JW3tgQp>;`QT&?49>jsYFBp(1 zA?Dy{*Wb^hb!cey{AsvX`F820)bfedGrZ9WncD?{OnMH__5lWr|M$x9`ehPj-&pNG z{}gCzpJ;IBPT`zTA6z%BVux_`@5j;7*7ZJ%wMGVChJvUO6WM&vx{m`rSb;qC3@K{g z_?5NQduoErLZ(O823mLEU4syLq)4%+k__D5fP??Lps8|;XuERRN0^;ogy=axMNOV< z%EEH1mSdyl#+>^*XR}I2x&9%IeJdtiAxxvd~{&Zy`|amo|Bs zPQ%{#Y58aU{(NeG#81~ZkUP~YeLkw5RwACh2-)<`dVPin>`eE5qU#}FSYmLgEQ6yB zP5};FJ5@jjqj~3APkueEHe+|;oqZM|kkV}5^G-ui<7e8G(DwMp@76)MsG$)?7zf-i z$uq3zU)oacwLIODlLZIkMd|_yKZFT_Ka8z zj|%f}`?z`C`>7PQe4`OxAAtc~2ZY6NafWa+XZ&Ug2d**`o3<^LF;*@e8sS$&K3FKi5w0-_7?CndER)NYRZ38LWAHc z!LvghjQdesCDb=ZN^UimZ5T$}*2x+nY^{4kkS{LX8vEy9h8YLTKlplr;!}SrujVz)~5uH8-Srk8ZRZ)b}nxNGg+d6TbMRyawl`hVF&F>(lB^eyABRN#m=_6s3M}=kCU2xV}~#*)fgmTX-xdb13UX#rL4D z>>5HLa-dl*y@*YbajKe&1grZ7`Fg*-F-+{tn;AqKuh61ewtYnEf94oxsdv8Ud3^Wx z%fZXQ?sWFi&!2ZSoQ;jM=VpIDokdTm$S$u>r%A`Nydj2)o~$cNtx5h(fHfUwB7{LB zP$06w%XRq?uQz0IM$cvVG*LLaa6UIUec#>yh2tg|v-EuUV^gv4aKr0XU#Kh}I7D8OeR+-0w&5UZ5#*2Nu~ zo$~I*M1rI7&V8nl!Y5<1MSI)5`Tp(++|q+4D$CRCz458ltlTG?w&Qmp#b+TMpA2%` z_p^iLiDQGfJ|uD54HZ4HP41?oe{*>L)!+)*LlRnADVJ!AC%v3_+m6UQU3Ulk9#m*= z-=30vS76InZH+LzVzb$7&wt7t0^im49Bp`WbYppNj(>@E*X9GOd2J@!e+hnr%+@d0 z-8ydo_p)ga#Qi5ft{PQi{OEJ(ihcnhk8@+MnxOeo5c(wr{q>lTM7u{YIahV^-MGuw zlyv+E@W;7KH3;*zq0h8Y2QT;EOhrwy@*aTla}B4tVb2J*iz}TPQfxSaz zN{Xze{us;xb`HpKBy10K6%dm|w;rdB&YwKG3U^KMJ*~B=kv~A*TU-?_9v+0Tw=NGi zr!YMan5Cz^uV?=O2FhyN11RO{vZytEY{(vKjZ;_68DZ3maj@ElN9;>}6+|X=` zoqv(`Jg{GXkCWk{7?|T)sZ`#$VEymS_0IPp%`)o}HYHRVXjzn$%FOWALF4b&yDTjU zGe3Gm9UH9M-iW0GymJ3>cOBh@T=~t%>g{$2av48j=-n7x>jC{%xr0*sXW4@nl*5Lc>E!ihF8k=}Hm)xZYwVQh?<@qlBV%+U- z!It)Y0iA^so%U_&_sv4I3(Fg&KV;;_#f(F?6QSf>b2ObWRnw2KSyXKMtN25$H? zLg_S^ah(Yp9BOQ*HuBOJ-9Uuc+!lvLP$Is6IZOZ68WfmwGA_J!joHWU9Gi-zj~G35Hy(83SRuLDI_ayf$qI9;gS3ri`xk#G)F<*zO7NOW|5#FU zAHc!6Dl=%;c)>l;O*q~pKGB3s7XGS8k_Iaq#y48+sLgzK$p{h83_WqQjpxK!04GHH zn|(c)(&3wlyH>WQDVfV9^b)am=xXdOm-=2QV25rfnvSkKK9wqeVd)1(XEVngq5YQ} z*w`?IVmcVF5BtBjHgl)%Rf^7kQg5G@WcQ|Mj~hKyu6J%mi7vKhouRK3=94x{VQ63W zfwMNYx2H%RP>xuISn?CO|BTlMuMG$C&eIpNeHpFdaw|R-*F7A^#nKPQgJSXkB zFLytl10qaw$AYO%Myq91`u|^`{3(96S4jPceAjDa71(Z&JF@%-Ih+Q+C#ZkAb;M6L zHP@U#y%?yLH}T!4)pvyGe+GTOzhkVN&)t^?6a z=h~F2Gd0_rkK$CqJiZ3(ye*?kh=~i#*(%GP;U$l^8GC0xz=<2g)O|z7N%UFHKZsUw zw%l)UAlYeRJk{@O(}?dk$+ihM$1(Vr>y$#y0rgFZGDEF(^qXi$iaQ86D}MBHHm_>g z^?^-~{gaspG0*p4rIP8?^>THwUf69dKX<#i@f*i(j6G$aE!W;w(@4#KQRVYvSEFJK z;-*V`7{>1oxEKi#Yv1emZBTx5!Iw=Bal4hN-d~2LamTU84>GAxOcfh3S`ajbKT$8y z&{DpUrH-O{?&5zV1o$ogE(Y$#&S04^=|-nf>)E z3~!=dVL4?kjliCO7=@Wvo7Sty4&wq}(&tgO#t$~sjny_YBEDeLAKQjprpoy&opJ}o z+kAE&o~DE6mY-PxAUdAifp&*0@w;jD&(?NM71Rv<*&D&IKU&d;Kdod@e2To-%o)8YEzNiflZ$G7KGAz+; z2jA2m3*x_4Tn-}BcWms=6Y<;MAe%}IJ!?@Ww02y*@$%|j&3|7#KMD%TSxCEAhLVme z-1cEo?#*$Z-w3Hj>a=MYS>!&ed%ChDv!-|f-yl1ANe z!DFsr=zwtu{ZNO+cWGlDQUX}sJenYb?@(q{io@J~qI5xCkI#x49ju6Yzqe+ir*VMa zLe26URL!tIlTNy7++I(4BD=~S?A_V+4OFHmSjBNW*UG$R9hC4GT`?Q;wVmN7^wiO@ zeEunr-_Al=$7|T~5UM9P#-iEYKf)w6h}!a0=HW9asQksU=lm{*5?B{c^7VQWmriw}GBEN@CJ z0M3S9pPllD;>@c;*`l4U4=D00XYJ_hT_`D5?&Z-Wpj#BpTQ1fk5?{C&eo>l*T z&7JN5ck&vHS7pHDY9daoc=vvCo<~q7-T5+Wb0Cg;pd7o&3U3-!CgN~HCDP;|VU&yy zIVQ80?zwL*?wj~WJxc*_$>ivYh`$li(W{e3T#=xTZ57Sn@O^&`)wp!MAGB zt9p{?U<;S~cry9oqo0WF)bzbL^A=?IhF|RnSRXiRFGoT~2pzucCJ&4juE3efMYFDpb7k7pTazqFrC z-vLcmKwN=#SQ%{s?3<@{2yQ`=K_{$RZGi;BcP@Pp*b_f2A(TFSVk?5$l@Z}`Z701+Z3o?rw!Qq>&n>?J#3u9 ziiWL1dT4sQ7=lZJcS10bo|nPytkDmNO%HzIHTniZjgK}GwjNWxg0=69FQO7d`4<97hc9YxMad@cI}3hTfQq5D=(1AJqAE)bKl|oK zjJl0wMc_mvw`Nl@Qp`iY7f?fsEPgjdTH-%O%?NKcd1O{;QE4c(XBg61ti2%vm_w{S z1o$}XpCJj7?-xGs&ISA|FlAv*FU83?I4{a|MT%3!E7jZ{c*QBRC8R%7?BV({s7?ND zzRld}If+yhXjIB?E#t0PiYxbcGMXu(lI>)6;PN%?G>(@xbY4|lO6dbiq&kL&$Cc{2 zi+YXQOF%@h;6#ua5-&Jf=)M&p={CLJQgO{m&har04KjVqsO43(D>@WYxhOSZ3l6Mk zFYUUxX4b9`cRa`%`l2qw?Dt-8gfQqdT_vrvVf4wVT~pFsF;UIkoJmeJ$_-=?Rd0_F z*=;=lb;O56JJWhD;O)-7fEh-EZVbBuNT}xI zh74c5yrB7CszUtHq+$ zCA~Ns-rZruO5?$6yM|IqFiJexFE@g;?h&Z#;K?g~8L{E37uPsayz#E~?uVC8NQ*!3$P^tp>mXwe-U~I)tWY)2_V9+M6F1a_jBx+>C(j<7q_1a@hKp$juLS0%Avd3Lp2i5+ zX?7~omkTZqf;}RR1Z(Otch~pHtc-n}U-((>3HVCMljz|>dA*)UN_myK+o7F)M)+Ft z{`9G1HyFQJEh7{z%hagx=rO|zpDj*K)%n;=S`Xsj5r6-^S+f9Ye0{KojUM3Dt*^@i zN*0=6M$xzXlx^>j1cWCO{uFLaNv&KvJ@8rOny9ba1$JXbqV0Q8|02X}2-Dl?F@bLn zaP01@>7LZtly9gv9d7kdsrU{BJIMxrccQ5@pITc8G;f!~lUwN=X0W!S5foP)`*J0t zPgp>NwMV48{0;SJM_5j{J&Wl!cHUFJv! zm7=pup~|%>BqnoWG)lvgS-M<36;polC5dJ5=Be0j>)*bSjt|ljwREFFVb!SGUVQY^ zr`}voTO(_IZ9zAsT{O9XmCOTB!xRJK<+-oz0CI7;{rZJ{Lqw0K_`$!mw48XWjd7Qn zV8|hO?I;9w?sQ1kN8IlwG<|0a9eANh-4D_w}CiS9e{ zU`o=Rj^Sm$zV%0=1JDH{gIt4?{-&u5uh{qt0{%6}fz|=+5|ArTDG%)Md8|qX=F9-p z4xJ`kKobdd54UzL2ip|&(Zvg4IE zF3#EDaHg?Fg8O}T;SQ*~hQfy^tT>-xp#zy?R2$cAmg&yr{GZqumbjlF%y z)_-evqy+TN*(8CkI+8r!*csJ2t#I6IGex4u&H#>ZWe69RRkI;ce_zy0Vzq@rB-ZtM ze_>0I-t26n5Yd-IViX+#Hp50Z;h6#A>o>GT=eK^4iB+FNeAH4yvg8U;ghCLCu-0)A zTD(x&i4yS3vslH{l~{zM6<6lRFzr)b;EdVUNCTE)!14yozJL2um02QS@$aiFBFNi# z$y1q&RjZ7+&jlM2xA0;F&%X(aA|!t{;!!T4vqSR|e-T}*mA<^T=XR{V3NA5drcqoU zXs275zqH#?`c?CFK?y!0VXTztV49^fcy8{PncD2NlL=dzkIGvznq9j3mepyAo@)EU z7a=NvsE@AC6BXSLo2r%YJBhrE0$FL3KDk74fKx8XoG2HGRJO(eQKbo^vNdFyPs+e( za_!8|>Re_&4WDzj)sBkq#ws_5-xFNrBscU>muJyK_b}p+F{l4S*jq-m*=}3IRis!; zTU<)<;!qqyTPPHFcPXyLy?7~B+(Yr=8az;3LvZ&1fj|fl2o5iMpL5=`pLcv?e1Gnd zjB)?F=epKhbIo-vtulW1$nm?HBH4#K-Iy11n zBd&WK5ZY_wI<@Un)qzEa9iWmK#DSP7L&f8U~N z)PmRC<+3i^fJTU@qC;*d&MzNfvSW-W{e61&`{tPrWqPDVf7VCZCckp5kdo^MTDIwEo5v4p_O{g^5YU3d2VmBsAWwt-;eu0wybU?Um$Fq7>yW{yBJ9GpT z;a&jQzfllL?|LX9v7vT*aDK3#n$r=Ehm~{=4C3G8{-f-#*KqrDC?~lCdVXT-H!u7! zBY1YxfvAG50$RmVyge=rF~|7BUEnmCdn;2#G^;1=t03dQAfLG#M5fcZ?T!is)aV0T zK$6^`()$+e-*r|tFpS;QRQs|aU&3POy}2HjN2i-H+2}*ri-R0}weNhUR|+n=OB660 z^>gQXj%+QX&A(d%*Jt`;RObBsM44Q_n|A>-B2S_9Y^9iotFcyv>nfbWTZY;t}fERfah?rTTqKg z-e~`ePq0|Acwbqd>q-&BDL~zS>z1PW80ShncF9UHXTyqui0BcOHsGR492(j6>Ue6; zZ}3?Iqk$n?SvY^*g?{1rNm#1aP2tW?gP7_eVdWfqrAEn{%)5;@Am&6-)CRqSZ3EFHzne}olOY2~6@ zhfOLf!+8<0QMM4N!ArAXRAkE)IW=OPcWu~YZ`Esx<|)tM!J2e2C*!kWGT*K=yRPL( zJq2gzbY`OfcJgGva>~)%$@vWs-OsW!4dwpgIITiwK!?w34@(o z28p7_^;hD@gs>KQ5T7P>F?CK^1r=W^ujRC9(c;CoIlhGRR}QfY2B_0n+Dd|(yvOF@ z=_Y1hN9X4G$jo^UpdS6oz}RMpsr}N1GyWixMltB9`n0ufv{}rVMlY~*m1lcI+r1je z<*qq)={pwiv^<7gvs*UELZ)>MRZAdRc9B-bGpf?Jb$9fd-Ufo zMk6v8pwdXebWK}D%iCswz_eyJf-*v1Gk9i@l?B5fd7!7CCuSIG9QYitb4S5lJN=*! zk~1uXZYEPscgs2YT6Xj`F#+8T51#q&1E4vr)Vo{_E#$ZAz0};l-6B|_H*_6y){4Pv z(jsa#hU7q(92TpE{G#2<8fto{-rZdQ)~}K|rxKs{^BXJ(C*NRu)F7lDc%;H`f6UCR zS6#tVNT@$te-(YCRBkpKbfd8B9myX{=M`=X=ghf@)vb|-xRg%wl<#xGHfTTBU!F01 z#+zE2m!M|^et~wMFDSwfF@@~QM!!H32a%rJM^)3wsUoySJ&eBM|2_cPZSm!;O52Y|X5}HXdjPx3R}zy;IGPS3 z|2O&-;+$pRmV+Qg@$^ZUUAuR_&{uh|WX;c2^^Hs=zu5-b#}P3tz5z0ECL?2&WaI)} zUK3CHD%`t9jG(Ht;zuR(JwDXkR^}3f(eI$&Meh1D8I3Pxx>D}6I-u>MIbgvu=t{`6 z73!T^*&#m%g?mwa?hC_+Sks;z(b-B~TL$yX)4o6IqFAR?A7|Iuc7?APv}A6YUgcz< zL!FRz>bL&ld%&;{d6;+3v>Q$|+fB_c(6(B=^@dzbI#hl8Z7s3E)9!Ao(0J%uT<>T9 z8~6YEB^F1+w^;)A5DhDje&VJYFLnO(#7Qb*ER(T7Y@LWe6xSWL)tZfT(Ux0=AWgcg#~I-r}W$P;d8^uU(qkw5PBU5J)#}0g4|p(cU{g54#82GwZ5GVcsPqNJuCbE;F06XrjN#Z z!C)uiZP%QCMYpD9X>8KmbK)-l$Y^|KA(3<(L#)Bw1(9p_yQSKR#KE!8zo;q>#^dA9 z!ih7>SD?`Qwg)-J~s9gpTcE2t?k*vVxDoya^!mrAxx2#=pe=@GT7tvCz)1jN&)QZXp605#zE*tk z@>QWWB$ZWtBP@`?{=(_>YJd1EH8xMHImv^>tm*=e~i$)m{l(mQ#C-&}3rwvd8Ed58<_ zg@XS2_g;Q?>d$}nzAWFNB`~@Sbjtq>YON><7EnaNqYP!{xJ4YeJ; zmoh&`76>hn#(H0B@u4IStIcrB*A|nmm|9qz4(`sr;S4f3#$$fZ8QXK>mDlZu3*L`D z)5RVY7Fqi}gET76&T?s`7??hM@3_M|?P6n5Y7TRv)n5zn|AZ5RLq`Yrwby>&B_#T7 z=7=iR3hdHO_0uWMmQP&WpKz3cPt=Ka#fp0Rd~{>SkKA*W`w?vN&LFis`h7zFqsUWF zrm^K9yvnC(G74`ac?7@Ub;zx03T9<1mHAU8UtbNNuEm$=129U;A85bf--HQM83|JSlk3TUj|GEmD!3Z6{8wlhQ?_~&qA_@mco!N z7is+aK)CCiM-B_8VXH!D9N+E3_9pCp7-_P!-;j960~f227l0?1*lYVV|Iey^1el?8Znn-N#MFc zdoKMu)vM3nTajYcj)cWiKCMl#wIW0Pi(mr7)^Y+zrP6$^cf?;(O2L~fwdOa| zeoM`Mou>zSn`5^Jv59p=+WwDm;yRSR{9!XnwRcvr>-bXPKYLZ_AFX$l)@E1ON1Vi$ z!VY2@v}LbhkPdT()sg~~QgNCPiq7Zm*N?zQZO(*({8*%0Nyiqpv#QgTqK-j9O}cA5WR!T$=T>*P?eoEJy8%(!!WKVfz4{eSGV-}wszQyvSNx-Vr8 z`-q$V#Pn2L$KLodY_i@C-#rb(pX?@gunU!K&*=iaEljyF`>1c(TiJC_r|2FtNvSb5`Frzl+*ng6?z z%Qk-<$}?>kU(xFCrz3_=P$g8T#4MvYYj~!kXmhO%izwXV>+z3ABQUk+A5#fm!mK+9 z<<-Lpck(g2Rhz3a0dUkh%~74FCGlk_ddF#Dtv&#&DCTlv19=erer4b|N|h>d+*RC) zT~9~3cp>)9(v=Y0-m+%0p3ODFz0g?Mq4H^#%(Z*%%##AM&QtnXWj zAT4bi5vT6;r`SkA-<>o};nM@skBhTIx z2&8GK?-6)K^Uqv_bEHjt?1!i?M(m95@eL{{Gm10DPccx-MvAz#v_3NMaQ0D^pTV$8 zo_TPv&JIKu6Ns?_c+b=a_*nl&R{Otn2A)#q zXKHUQ-?4ScV^yJpJByQi%E$?@b-9nMAL#oLAK@r7@$keX)#LL{!FxycrD{)dcivLD z7>Q?TRt%Zx%zuZv7$1`?&DaORCi(1&>=En^okJZ-9=PY6IWbbau$#Q$vcd55o6UhXu zi?*-3wMAiMx%3)U0KU7gj)j`E$*hI#9)haIt;IIRtxgsjIlq+TG#+R>FuORr2{Q@2 zU(0-U5iQAjD=lp6mLunxNy#qZ6)BIM>e^i-s@^*Ldx^4l8c>+*dwH&(Lv$Z(jew{A zMS{9E5iW}kqZ>2+Tf0nhni%i5wF{j9CMCKIQJjX`qsr| z#T)#DQNFEA1D1WZIAK=6pNN#4Cr=7e{-mX}qmqLbkGe!dTN8HQQ)p(i9e@l7Q;IsC38lQH}5_Nwo*H=BYbld_<<*{K0y~Z+6wsX zTETL0dc9s}5aPfF?Up4`4cqBp+9Ktm=G+(A5>EXOK%=l}5vclJ+hsMiC~3VZ{Lqu! zNhBd0t;A}ugV<0LZ)*rvc=9D4va%40LjM$(R zEY?v}ryzIg?^?-ZDn_}Jotk6?kW+hbS?w>?l2)_Q#GegdA5Q&jyoF3P-cBYpDjHy` zQY+BG{i#(cb0koAVKE^)LU{gyq!@r_)ti`3^1*(9N2!ux^mt}#_pHNABTzdVl~6eC zeJ7QDrsp^9MRij_Redbi%_Ei=iVq@LIBPC-JYgNTFj$sEbk^)=EM+xFXyv8pMQk+A z=35LxlLR!*P2S%`7uWR8Qw{TnkdIxn*_MIsbSnHKugd-VlOyI)E<1o(g=eFxfSm~t z^jLn%>VgJ8AfJ=T@RG+an_OBQ``9&`;`+C3V?ycj#GMLq=Q{b!d#=u{x zXSnZ`e};A9_Ny%fBC_avp zn6x;@zf=PCxs58ZYiDnKucOs=FA3dyDeJTU3+|%@6zM6fzOffXLH9G9j$L&h12|Hk zE^_f3g{;Q;kNI2lCswZ?bO>el4$j7B4@a1fZy4iyUrMjR1LNoL^ygZCGn;27=SETt zU!9Q;*U=o0$SJ>JJbB`BfG1qvmlQAFKhdxX2%TawC!R?pF7($wD5t+?3`p~7v$|^n~JFk8A z2Q%jyRl7%-aP!=gGIDcrftepc`7(S<133Bdl01mT@Nw#nB4zmK`#o@)rMYsgNfj-r zndVK&(Y7Bn0eD~arF+FK3pu1mHOq2cdfNUlUFAHX=Glj0`l6{Jp*G#=EhadU1g+zj zXr?LcJ^Md1^9mK{K6PfHW>d0Q*T5dPZHD%YZ%F}^{zBWYGwsAdCMPys$Y|l#KXi#q zWa<@n(k<*BU;D$Vul#5W!7~80Y;0pkuY-*fL}WSnSc2*5^yU@u>k`#M9s`)GInmGKw&<@FzFqgS(nUeXHe}mjXMm5Ek>lt7 z`S8vo49rY4ZaUGIyGYSr&+lB=_|@HyjA=^MVzh}~CVNp%FI`cIYv91WOt*=j@V1IL zz~wQiXH2i{_5&Y}U8&j8W%BpV&!zLFP2XE^=U<(gZvL^s&jy9K*e%bmQw*K<-0S>_ zU!a7{{4we1^|*%w{01q!+ZL;sVxCqp z)1In#<%Fuklqt8mT=We-3KfHwK#xlUjIOdA-9;xyt(n9XA>0(A@g?-(ydS3z(gOc@ zZ2A5_v{TIHU&%6I+$i&Yk8EErl5bvQ$5$a!EAKNzPNURqw*PfUuGxH%A7=1DOWf-B z3*kV*&pU_8N>FdbR?JCyR&kV=3-R%*yRY|;Pe1O0@Ac{tIU+hq&)`h$l)Bym@yDy) z*$Y@)s-wSgxY`TE=?)!+G|tmJB}$t_jCy;|QPlwbtX%CH(RqcXYNZBt0q5S&`UHG+UDw}h;YHLHTy&5fx9x|m zrpGKTiD!Hc*;9jcCnT|&ei+w2CXYBSj}YTa%!_Poid?Gz&)pj+XE_5>7&^wnK(=%AdZABhMP&Lq@-Z*5k@FtHvYAj1GmNL zTzkDWcLtH&h}B^pY`?u^ItRFu#nbw79+-2YFiI# zpC?YV(Oksm(MQW;y72{}Bsz2mxuxnL3Cuy|*B7VQcKk?{Dm|d!p~F4|G>5u(V~us} z6P=Vy$GwYC9? zd40-2Tq#l8tGSQqPj|M~`?QKox08R^a!kS3x9tb=r8=MD{#};9U;QQ21xvV>>fTC1 z*17I;SmAbJEoxAaNgH)Gd@(fY4QfK^+SLC>%|vr+$cUAGTFI=^CP%86~b(O^x@ zjd=Z%CE*0vvnn=n^m#bl*qotGboA?d%Z7*HrGlr!hf zo~`H31e`vey%lLm;(LnYJ*twk62l_vkLj^`qs;Mg+2(?B>$Lv?;dLZM@a(5-Fm?;;< zDrSLIft&&z{&u^ax5{hvj<4Ak;yTUhU+WKA+Z@{{3{q-yZX0%Pk2wmURElCmhwZS4F?z%TP<1DXY2?9gtH`HJ3!;$BWq# zor&)gRTPI4czPd>9158VhujKPQJ)nS*1tnOD;qeSuaj;Ep$`i8X;#B^k);#uKI8y4 zyAQhV*TY;ChX}i`EQU4jw(Q>L+v1rAa9@Y1YI*FtOLT&M&{G)*zKp_f@Mz_zif&!B z>7}AND&=C7>oG=JNO0jonbcOx%}%>LwrkdMjb3Z0Vqe@CDwtqj*dpv|w}hQyC3HKG zZ?kz45>qBay3yD|T_mBMZ?J1-n{5QawQDyh5c{fmmot4CM6qCy)K{@E88{)WR8%Iw_aHEkvXi*!n9rFN8bpE z1MADV9nXE77ceZX+H>n0n~@!y=`5$>vOfhdCr?i3`p1mZy4S<fb7^ZeG22yXqGqb#vTp!TFR`-efZUeG9fY(Q>BI zz5@zL&s;kCsl-GlnpH0$3B1whcx|J-F4OK{o#Etr5hpJ3^yX<1JELwS`fb7i94Y%F7AHrkV-b$<5l4ATLcV}L{i z7;zUKfUr;*yDAV6RM$GF>rNW-&exs%szwJTD+qhoEKIe7`oHBKNZ40uRrr%xv<}s z`Em7vb55`3tDFQ=<9QY#Erkk_;PFpzd6<|y%NC2;exToBhlk&)2YYzkOx^z6XF_b5 zHNRadAVyT!%x2{Hp)t=1_Tzx_zuyz?V|csYShb>?OiyVg{7BAMYth?zKbQ;fVm4Ct z+27S}+(tvuYV90VPxwV!OXO?UXr8?a&{>{sRg*1>0C2f(wE$V}O;UehUn>!@7%#JP zb|UM?>A>*UIb0R^4#Oy$mFaQ;tGXz@|eMy5qzB2C3!07{-A`0{6=EuXNRc5(%ZyGuW&v)xl-3NwuzOUa~pZ_};(|3;; zLaDa4!*uucdE$ApizYBvy(9XFza^QtPj(inI)U(;xD%0WboC+5RQE5W{d}!4HyU0sOSSG@#Kv^<};)fA@WQ%^UhQ^_* zX*)!x$wHK}O3GD)DT|VILCoWiw}Lu)=Wmm=x^7cv803Wy=gtYk*JaT@QJ~v^Yfy%h z=w-((hyQ|NE?kXydmbD1s+?YR+Of2BxjeAcgYjPq<$pxu4`zi=z<>YWXx3`_1oX6i z*iLqG`QcI4Of9rtxGs=gHdBs~MY~0)Hwr8_u5FYz5LI=bvQS6CAKd|ER#IH@*eS-t zYi?3nO3!(^{JG$%jXg!J50~x84y9cluiP~-Di$HXmV<#{fX{}SX5b||<70nIiro^{ z0tTjpg30(lJKu1f=lga)Lv$wZZ;_lPVDZnvJX>h)m#;cJy4M6iUa~)vS!5#<0SZ15WB)~#yU_Z3VX?b?H!AJ$_IVM=s4GL9 zR45}p*3*)KH63sc6!|+^gVtTLeAH1n-ybxf!-+VRx}ArHh}n)Ex@ngaq-XQ2Fny2l&ncf8xp{@!!NruCD@QNBip5?J zrNlo@Uo3cyw_RyDKHmyw;hai&Y?+vTB8%6@Pd=8f%{T8ZFd)it!TAxDS| zGtuuU-P{Z666~A0V;9?vtBI9{|8J9dV=&=Y@xMXnRrz}KS20Fpi{a$*-Yt^d+&24D zaywr~`2KqPK1}{9l)&c3{b@VfeW5Aet`wg-gvMwaUU-xf_!)<%#t)$OCM5)p?Q1|+HY1<_oud?iDLHK(Z zxFg>vomk^N3&aj9nboKiz)x|Oe>J5`#!+i>ndh!kJ_k|qCCYMQfQ$74IK|I|y(kWz z%+xb`6PnpK|95BpR-ro}f0wuC$9jHJKsNc@rCrO7MwkyZmU_vZmXBUbO}}`s*K{nV zK9FPIyHOk&`Kw#Q*LZ9%(Z>xT6s=SgMaJX$!j;4t?ikCPJkQt1y#cRuyKLk17o{}6 zv|IUL=(9vX?63T-dmig5d#1cvCt>dzs?PLIlKWsb%p*szs9n!j5`?kz4*s^FPHpw4 z#;xz($}%DdG|jZVGfMz&iYdGM>8Nl%?C3FZA2oEY&x-mQQpCP*HIh(KtV5X=Y?sE> zVvW6oY%~}4e%c3SzxbL+56^dhQigF4#Gv2AQM~udYOc_5rR=Tt#OL9g?`kO<7uxB< zm1XB_7 zt_5=^HGr0#uKbrw^dH9-&XL8xwcvj_7G|GW4X9UHE29;d#f1qCrMOjtv~e)5TN!6O zu?q_QwZs@VR}Mn8V|cqjv9qR?<}}qrabUfv>R& zhuUPC;{ds4g-+*9YU;Lr5;)!Ii@FCSkQyBE&cSAA=j1QZYRi$iZ|-DTWwho+i`=j@ zQhh^klXGuol#HOuP%W)~bl`7g)NR|M84rYsc7rta!>1Elq=tUF_rhYq!d}IKZ>mapkUwIA=SnRXI8Cd=nPueTTd|@)&fwXfNTB)PfUCF=FR1Z_J4;r8HU< znHsiNsq)WW%r2a(lziwt1LWFAa{uTHr z?Q*#bE`$nb`|SD<);M*2tX`TDnEjKHfaRw29$1I3J^`yVi%zb@y~3oGa~NtyDEqCusO&I{gCZcl6cfXJ1dw{aWwjwEagja^NSh9ayIw<=K? znrz3PFWzdf-%wP6F9D20Q-zjQPfz9#AkWU8h~-V7fpN^0CY=pQDnxlo`s=sD&$l!1 z3yt=2>nXv}yP{b&r%{?P1twuh--W$wO#Lq_iD{$H3t%Illf+Geaz};yDQZuxRml)h zdU3bTT$s=MeI>sltz(wDm6F^mTqd3hsXQ>hEL2VoE#=`LUjg%+QqI6c-3^dg=7Aa- z4pTS56q;pd*>tCKsS1B=5QguTI4QHZ&+LZ{I;?zdz39#MbdK`6ULb zz^?~AM#ob{KV#-@{$G^IBeipks*-ZoTa*8&-T0OUXs0^a!7C{h@d~ja3koLt6aLp5 zFNSwn#B*8od>1kz{$M!Q_D=8`VAy=>)AE6uTrry9_o%7FO7j`szKO?_5!{v1MK6;{ zl)i1}m)}UdKKAnzJqwQ#3isc3^~FTJQn!rb zDeyccd9Q9K@ulKsU+kkWGI@4#N=JmZa$JMN(b?2B6o@AxE*p0=v^P?~LOfapFH)3g z;G$Kk^3MFjzxaZ$Y|CK9Vn8*MT*25gG)O>jJ^&Du#=wD}-I{~#J@pF?8*xa^SR@PY z;QJ-~vZ1C^G(%l>ed!C=|IL9MDp#Pwz>=z+$tDT$B0W=!niptL^PY5_VU78s681jy zVuL0=1HGwlI4T6?54}o08^=))_$HIo|u10wrWRAzrfYAwDF`t`=t== zOC_(Nf1&Edv0v@~KdPjg@+CU5(jNEiH!ODU7}BweRCF_bh*0v>Zt8#G*ATtA(}Tdb zJ*RO>_6Z|>H?z@OG|B3;@z+gs^(tJ9&2KU~{AD8#;(M$E&EV1xMf#m3$5D2>FvU31 z-P=<<@3TeP;Rg9x+{m`*{`f+Ba^2L(X#(qW;KM>AR<8lRj(|jSzb{1dicM%YtvGAB zz1qS*W-37wSof<-M_ELa=lU}2=(3b>{z`Pl|FYYg1JvM2qre~YN#)ho!+bvh>C(^p ziWAaP6l~>)BO^U$*%9GHsSS!2cYi$7=ElA|y(2SGxh60=Z^7omEJ@i#xy~831p(;8 z>XR(o?ej#G@XO~%F^=M4G>+A1wMN% zO>2qZbP6_8o6>nZt;1Q0@u+pW^kQmT{lz0e&NDp}v^C2sL>=!g8hZAi#AU}Hlh;T) zyizD#zt0Z?YHyYC*j(+Zk6HO7CVP+xE`DZr98Y{`i|j80<)pr}kNT_ZnY(7Liv0T3 zfRX<64cwE{#05=rR_`gwQXB(yqP(3Jj$)2kspQ6h1crG?_d;0dAEK-o{>G+2o zlLWqK4XrfiZ<2pk0gIJeMAKqU` zQFmy~EeM-DCeTj_xO06cxGQsGI=n0B%WS!qU1Ma^OIRmhPobAW1Cl?M9!xzr5VUxB z!!%+sBc{$oxc6n%Cugjn?P0R9;O`yzr$pY{vnWhHbCX*yNnl)WIrU-+(5XX7F=V36 zK_z{o5TTy$BGICp9X6iVtYG{;QFt2td?Ob*iI267PRW`B z{W5)-dg$N(6n~fJ+1^8HT~Q~jVZy9VwP~Pv!R@`YF80g^;5H=gYBwJQ=wsUj&t$t- z=00I4f|skeBv?5{$?(;qH8KRMEh-D?Ic*g~PS+W(%jlr^pYbX$H}($kL?doS%29UQ zeghgJx;f@EgU+KXUxua+U|-ac*zj^xayLmiY8rT?X~#Qm&67yDYLTxjWK;u{8$h#8 zI|5Jt!Rqh3%6|W&7D7Q?WXJf+6Pd!26za{0I~M&K;@1+DQiXD!{+Fgt0X~iIUk|<7 zIwj^pPegI4AnJVl<`xsANoI9iM1pY)rQ1!1wST7Ed#KL5VBHjLXZ{iZo5n1{$3@lF zpF{$Lm(q<#^xwLw}7qtuK3JY+NySnDNycHaoDS~YUD zpWCRVj{6QO&zuS~-CFq_)XA14$kHj#)$x%P6!>41zv`ay`{7Io+(&$yZu2QNb z*7-wI#$~Q9_z>L3PPquA?YL2+)>gNXi$P(V3b~37FXsu9t8L~@GWSqRmmTjhT#`DRF|sF{PMa~FDQwfb60k)U!=Ehj9xAh+>r4s@W0#=M=lc%*(g6(L`&sZ^f$xG(nKAZ4EJKp)|5kd9H%0LUqW>KHy(M& z`iM=Q6o^fzYvK6->c6jwyYA^EVo^t*x2wY@?;jPwC!C}6f4lbXk2;`T z*t<>gt;m(`j4|q)^yOBP&LmxUK=pwxo~?SfZWTbU**<`k=*nO#}JA#-(k1oR?Wg>t)Q zNm^HJrO305VX`FlsE_kduL^_D?^1kYphFZY4F$IF-fKzVQ)FZN5m&jG`-8LUn>kMM zp5>^b_r{HPL1$;xynoxjUJ)Vi66i zrw~>a=Fl(w0`#~&LD-QcRep&aIz2B!8TeFq^bgI@c(y)Ws@@%)I^btHlXd|)*=zx| zyY4C;%;txQ-QjG6{W0fsM$YLqoS>lfT$!e3LUAwH40N}j2fO}=#W8#WP}0h3wEcU0 z1hHQBeWKaIZh3A`>4B2?8B%&fRZQjL?9$)K@k>77en_(LS3=4Mp8?rgPWJ6NJ@rdU zileXQ=J?FIwPvV~9;GlsR_53P_&|#AzWz$GZn&cLv9}>Wb#LNh#c;I2UP5IQL(gCa zo))AgV<|jVQd&L#&McZ_z8d~_xrR!jEfs91F!vrT@KQvxxRZJHUU5C(Z$h-i6C_5H zEml*96A;+UIeBRbtfcyc+Mhrg2d<8dCgqzD57a5;sp{btR3AS+7&;4>%QPe10sC(uEWQs9Pu@w zG!>kN^fX7Of5^Hq$BmX_;-HVxk-%Ci!I5Z@yaY4Sd04es}opc2udU%-_&8R=9GGRe!GCgK0Zo#C)Mbn2$t< z52f>@VTI?s&nwXxjYBA3RCnIWlqP_R8c%vn=H%LQ+@ne89qxJ&POB=CT1<89rw3yD z&zkoh@fP=Hx_{Rw_u7f(0N*Gjc$LYKhNgQW==6NOVwT0q=4856 zQfCn3(QgB1#}JkE7WizPZ-a@ww{^E+2n{=ljK2Jou|ik<@M-_-nPhqNIxJjl*f08i zlS$jS2bMU=fq9}Gi=$&@s3^O4-zVV0ONN(8nM-bqQF~qM_WPKZ($o=ZjS#g4Uf9cTp(c&G`*jq5)0B|bI)!uMx5@0$dEugBmL%~Pg~@Gn z{U_kXw7i2R7eoW>R&?;4wH^pcG|jB4R*zv8V9idNW0Uf|3x;=&v(wIIV^-f6%?m0wZfx(umCNH(Irl z7#@ky{~0fR>Qv<>ET?5FIY?_Y>9-*=BQ*bQw~s_%6w!aK{BBGdiB4}=)ql-$-vUm! zX;5=Ix3?s!>YoW<!GEp;-L-?bHDru*U> zdls9Su1=vJq@^dn*9JVT!(4$t!$EV~{d-;Q7*u-n~ zDgH%}^c!>81&w#I%@dw+9EO!yr67UQ8Ouq_Kdj)6-9Bp&=j2oi`)D1f-Wazu1l@@Q zYvw)z5fJP)y0dj#>GQO${JpC8)DFEe8s&0|gnZ{cp_)pp4QU*kLA<>ZdyC%Jc8&`K zyyc=@+Za;vt_%}(9S+Ps?fC<{#mNN(bUbx$H2P+UcQJjFV?JNnXZEKrVQ&FiaV?m1 zZOcOIp%-y<$=4)>z?qc!^{3--%zQX-GOH@QvT(BH!%R*j-82yMLP^f+kNeo} z)KX<$K!K_z{OM@?z9#ZQ0wexUR6gIR`X?+&KL7U&scq{|esw0^{sA2IUKUz&W+l_h zclskl*wts>#BNn>o;o@0OGOt|bq!o|r}!E=V>+b1EP0R8EDQi`5_JkO>A6TNURk7h zNIb+l#a?t|-9cW+$viZs`9-3_6hL094pGhQ(e5KgUne^Q{GjtUpyJ-=aU=aAJ>!eT zZ?@x2n?`>i8$Yex!I(6!!xeh4FRkHe=NPm)dk!zaJSAsHoLt(04KlHy# zJaqKM6|#>-mhLK~3kfKT24>Ve$=8fXw}cPVLBDJy@(s*{B~bfiG@%8kYI&>{7+!*^ z1Y+C#4Pv28?>J^DB#5(#6}~MoiV-2Z9T(&@abbrPK8K93SLz?NH{S(hl)+aBYY z?FIvgLq*0SNlG~YVhW`^M@&Xe$s|;sZH2>4m8y(_V={`H%@TZ9F3SDu0f`L$#OeRH zNz{#4s?2cg>8bIIqZW0^D+Otm&Jfmp+cOHtKEo58YT4J`Gt03utW9D#A+mv5OfZZ% z*jEb&0v#fhYa9l*@1Z!G{R=)r=VbamfJ|ZpFnE~VDXd%t0ULLU-(HM``4Id0C<5)) zN0*L`t;A&!P32iI+K$!W7JaVf%CKw1Ewm;}+q_2Ae9#>Uw-h1D7uHX&?R%;}`{5C> zdgSchmr03hok?%4k$J=jMXI&IwX*aFon zECc;y;8!oZQZGF~X-h7Mfw=d&F>EGCrT3=e8Bgu&@4|ZVw)x62Z(7=yqj1dyYbNM_ z!j61`Y5zZ+_W$L#fPy}~zBm3ci%QB^eq(T1?+iUR=w2O;viqqGXsfzdqoh(YvEY5t zf}b#n3NNNv0G{!;`Gp)ki{A8+Vy_v*EwJc$NlGr)R7KQjOS_tN<2MD!^$P2INk$@T zq4VY_*C-UrXB}37!NsQ&Qj?KV6KJWouRV#Is8Tx3RMOL8vKe$K=na2Pxeav>1jRL= z9NL3sHEC;>6uvO=zRlX%1B90NUsqkYLS#;9X=E(EF&zyKGW5&*q9Xs|Rm}yMZ9~_i znO8rw1=AnJe0i&uDlMG?+#k`XRW}>_LBz=W{<$$NQpbVH`)cf~MdIz;LouXm5UYhH z!|$l*H(h5U>$CJfekw8vh~K-l7WY!2HM+Zl7CZILPfMD^{xpZZAS2H2%aK!S0M_rn zKbe;;K)j8_#bwZd@TnY)ilh8y0QZBbCHFi2v;vi4Ka;v-e{pvV@t?j>gP)Dotjt!H z=;3LBNMxOLo(Nt`HkHgUs#VCl0o_&Y()pkf^>CP^i8V{^(NXBkC z8Fc5^)IJN0Wi*Om)QDl61?6P6%(Pv1AL2$biYXadrR!S!AJX1BD$ZqDAKozt!6mqa zkU$8M;0^&2ToPP^GcdS2Bta8AxD6yYgTvr3!JWYd4G`RA7+k-Xea=32?|siX_qW!! z7K^`nz0=)QU0q%EJXLun6%XvUc&;~3g4>CRQj}5!tCIvSuQ-$%>yEgPuyn}z6v738 z^;!0HLb7{0Y#8d0l@A-<5S2n+UV>#dm9c-2nZj?67LPx@T}=C{BM!M$ksA1}F}m^@ z5Y&iqH6kYWhfKO#Yf*q^C{)S850V4@!`T zo)zMh536>`;4nR1x+|zGAEB+#S%czF_Tm04TY+atMcMhL5z^%yLADT`uhY{b!@$KB zT}eXIEekMQezrWMv&EoYtU=nx!=5X{S6uRDN5cMf#p@7or&s;$_pdPil{82OX7bGY z>*LG&@R}6p`HI7jDUx2x)gJsQ1I3hzc;w{jV9|{cQ%{ z8@ExF6k%zo)i9fLHdw*cYk%HF^3q?wVJinXwP|+tkM^aG8-r$@3JD?^*yvLqoiEq0 z=e0Vv_FVkT;EZEg)sQ_+REGLApNkzXq!q7J0`Ya&(d>!T6T*CX1_t?byXn8mo4_yl zZ$c>ZRnn_S`!SRx#sT${*5RRjwL7HIH@6v~pGb>1vHr@17Sjmnj0PyfZI(1-8kMVL zi*-0VY6*2N=%Jd2F6W5vJAIi7rHw%`2G&j6Sbq%#2s8gxy-u>)f(W*^Uws%cPsQ6Y zK9Bd`5?Tp@D&K9Yvwl2M-aWYLce7G1k)!|uH{186?X9yxlJ(Z5W!;_e+Y{8zEgj6i zVeVQ;7_08vDE~Dlv>+S(F9^gRiR?d*cy09bpLAZ7Ud%s7{y9<>(jxb-P%Pu$iN7}= z3Iv#o|2&sB>ig$!|Na*E)U(d?Pii%APVWN|eab0_RsU_m4KKdsme_&evyp z8%g*cU}cF>h*aX&R0U_#C*oIEdJb-@3$;$EF3xSIOS074+X60Ii3HdDMMssCqu_T? z*&<#TB@(O-)h=?q?$7lA)049GIWFuOQRC4qj1mH}KxD>j(C%jJ9O{I;!{!2i>-cZ$ z?h6v$ZTK$2#uh%YW+72*fbdZH4v)n5ot-@~sF(V1Rv~q6Cvl;BRVb+*BLK_4N=2(F zt5@g%Yre2+th-d|QpNsFpWi$f@j2~8XbV^#Diu{Z7rr@kNwnX9|4%jg^IikW0hx@- zCH*q;o+mkLgpisfpgx5v;l=y5&R&+)-6^Py3kvmwiE%}kM zL!Ca-*%x-jJ%i;TNFxxk`#Eim+V5$s2fSR9*j&( ztHKoTu=^}a;7zWF&&TiFxpu#F0dLUVLg-dIO1Q$Wug0wfU8Jw4}$jY>4dV z&!%SPvk}Ap|2_-Td~Z#p!q9Jp+U%l9F;`F~B@fWU)r84x1HEnn976;*EU_xd!fY(Zqim5A3+)=9#5?(*Gv^=Lcdh%8=>J+TV9a|Mr&XtZx3mlCkN@KefLo)y z`zV(8_fvb4E7OH;{`b}yux7w|vbRsMJakwzdN@_^5e(jF5^s&LR(*$e)Yqop71S7= zhRpGN&l3n8z&x@M(Awp%2KCnj(%7X2ug02_0<6>eYLVbnDAW8&FYAD<&Z}Rur%$F3 zOy<|rw|NJCI2}4)xUxSvIFVaWDtXd6`Dtq;^z*bx@TOG`Vb+T4;#}f%I{KyR?|-d6 z=-U!_x*4k1km8GYFF!!|0DJI12>*}GfTTyQ%9#X) zxF0k870Vy9bj+BP315fU-WayQ2Y0=u?_B*@M2H2gtMJm3m#Ty+BB~VECo{=frNT@X zzek^JQ+Er5URjg>Osb_3EOXt^Ip!%*?4l&~#NP(M)__sXG3B`fEii zL%RK$d?V77WnQhq4f=(jRnFITMWpVd(&_)3kOHmGFROJgauAP%xY$67!<-e}gV!BJ zbH4D#P9>iX%in&xK9GGat~NL6tEzTheXz#G*)7-mh=qmfvS{wzwQ{rP;L%z5oF8H( zUUV~(m$Q5jH1}Bda)g+|oPP3VV;OBa zZhOwm?4m=p?iZl%1#eecudB2}X;tg;s5*NO{6&-D znMK5_#Q{!F2_JL5DlwD2zB7%c*td>U-@Z1|I#3k!)(H&4-5kzQl*AF@HFfSh!?8Tz z37YekiEMSxUS&QzceiZVYCQW=YgDhLx>UV93+|o8 zV24bY_Ql;3;TMJBQg!kf5Bv~3xGKhj$&G$<+Ad~|zqy^F|D$z(N{^7JYCnavS@pg> zQicY0a}$FVrxAl}?^6%L>l-^4ZMEe>9P#F2c&#Y}qmy94<<3=Xo9s{RA5%(FTcLc16;+F>Kt&&M+FE^AhtAXh-(?6$lOsn29No;2e^+I zr9bwWjZG9ZjA=$Omc=n69cHr8FgbBq9`&J7K18rQ;2=g`Mii_x3c2@lf+M}_PH%`% z?H3Xzr-K1tuSQhDXHqK}Vo-@Q@ia7|=5nEtmdI}y$f>b!v)3DgO>l>G02WO1l=-3+;vZ26T!|O1tFu!W74zZ+{y;DiZ zaez~tRlspY_WRb|gHFwH6&{c&Y>b8mLi@_5L5hQ)kv|1%W3&4GKWk}47Ww;TI5h@& zzt0qrl9HmHZN!-y8GFLNI({`0<<)0{Ol09Yxt=w5N4thW8b82z$J}WKc5A$npuAV% zQMqv&ZXD~KIrFeQ>~k-l?oYPJ^%*$3*rAP7a563j>$?O?Sbh2Xn;Y`YfAl zQA)Cx+;45EZRotG8aa13tY;II`h|vSYU%GN7L^Kbba#{Am-*P&=}A)ufHDt`46r?} zc1*=rzM-J+Oy^!@lLS5Gbv@fQ1jgu!>#T7`7XRxP}1N!vCO9a zrAznYs-4P?T`k|vna#Ne9^jIc>L=&10%bx>goZqc6{J1_rR98Z)~$}zu_6kTr_YT{ zub%u@t83J&G=Hq6>5H%RdE_W5j7l`3&IM!Wn-V4lGCu`0dP+L!MVOs@n%;RHoTc^#Q>X~4%*OY zoOF0}4p#(+Ne50uzeP{SX)A?gS+H$N>x8qcwBA(Fw6tgsKzL(nlGkqXy!j3c_^rryUo&IJbPlyS);**<=StRTmM?oUyfs$Ek;A@UVErFrdS z&Sx3axUnx{pI0OE&Y08c+{`XMy|JFGygSzl^r29v!&RqSURSRoF?h%#wVv>PxqtjB zvV1o-d&6yRqz3USD5>9QyktbiKJi0IHofi?pUD{6p_ZV|+6Wu>P}N9kGxbSN53cza1yUK~5k~ zMVH(IhOGdegcX?aNGc(DNonSI$$PD9aQJvhW2vrDUx+}81_+0W^y;Lo zS>DRRAX6X#h5Nmdief!`=Qec*SCRHw7HNC@$<|q1?4;>D&=oymP8~Wa8$~Ft52|OdpvVoT{@x+=Jh#(VObhSu6|ls4oi;zGeUhr?GX5ihd6B3F23_Y7L|F%W^v1 zO&WxXjct-G+FKABF~Oo1UL8^K8egQ)4PDPfu3wtC)VZESYXEH{f2ADZ>DalNtK#!tQ>X~ zr+R}fr-vXs-LD&!VQTfV0lJ4P3jrNkE(LE8C8C)gNM*}Ju7RG>qWy<1V#SKp8v2QX zog^tf8hZRqU%5e>-ec#!H@#6z9QJZJsUU=2xDn`MI{` zyQ8AEkmMee0f^K56AxSP4k)RJY@BEq`Oc3z4b&T^(Xanx(vB~ekKGVe`Z4iftJ^Re z@k&yPEwLqbh9!yLgfbKC(k-@hngZr|`kS%R!fI)JkrUI)H#A~$R+3g$Efxx6?1mfW z*d0gY1B0BnPnS-C<9Fo>reGEdA~u zZWG8hH$IH&XXv^KP8p~AV(Ms$BEwW!zUG~H{Oz_jOB0SVZqPLzwsY={fNs*+|Jip% zC(Ww-I)1709kEd7O3$KO-QqoQH-4(Foc(2-)5ldAT)klEwhAK-SFZYI9IM`D&*U0O zi!Vap?C2=PF?88W6eTQ50RMo z8S`PwFY5rTX*sRPDlY6_)zwu^;P^Mkf=iY$1GGcge5KW$XOZ0#|Ijh6bG3H^6a zOC^TU1s^K0Aag00kFo7YPadN20WZO)@A2UQIXhxEEL$gm9<1LnSHYeyO&V3_K#;$J zTb4eCm+8P@Dd5X%r8x(&Yx;k>5z?0x>F(t3Ji*vm&Okn9tfFqId?&B%)a9SaL2=S{ z5=H1l5-Dk=B?zXJ)KM~xMv5O{FfKqIaCjCGZf9=`K8@8%_t&dR3Ya;G=%bxTC>D#% zvO4C#p%lhgbdXX=75!=%8pPS)=QgEg)1z#rJL0z_xUv)=JaS(y{4v)$r#O?wJa-A7 zm6WTAT1j)|CU=miPv=X=C2|D?X%3G8dj$|qhUUo8=nM6P2*9;el7Jv&yDAtoU~t1% zD7SUgGN1F>C`Rj*7?;NyA`#yPu{9vZv7Ad8W<3-2{?c>AZNc4Fn=9c1F^h~N2NMfZ zR-Q+9)uQm+fh?C`~0rd!I1_uv{I-4%_GX z!NK-MQt~Tf1#*}$_HATcWiO0fKB(G6c9%|jxQUZN=u*a?)+dk0`nfzCDS;V$9|H3w z_`mP(^kue7jMsEe2U?RAS3=jvTEd1*s>_#S=`<@2UYowjK-7Ji%V)Eu5u&Uhozb#x z0=k>>M@Y4XI~PT>K7B0^T+&KZg=5{k^g;~eyo(}dckSo{I_>Be&o4VfV4o-as$2k( z9@@z)7P#cSt>UqfE;cb&>f(ZAsJ-}_xy=vrzPmE#7bF|wioY;=5%s;M5%q!# z$MvYs$8hpks=)6ss&6(Urehx!o!|<0@p?(?RLlQ~IG#h`#NbIP-55I{{y6l|Vk~EB69a-0qV5MK6 z=AH6HNUO#317R3H(*k^-E+uT$Hk!Y zJ{RWJ&z6v1q_P{=w)tX#wUhIPyq{n*I-G9BPfd<64Y!k8kXj-akXw`Ej}{4bT+I{R zz;Dv=;h=-PWd$LUepiD%`L{mVOi@c_@@-f2)--cL0|wV^xxnFaSQ0e1q(=zF<%~l0Qfql)QMW!4kar>W{j9YbSflG^Jca1b(>Rm%z32{@2kQ1j zNI>G&(T-S@jiSD{&FGRC#4-s*6aaDjD5pXzWuIE_Br~r$O8yQH8GWIPI ztzPLfvQmLDIYScfoCgur7cguJ^5nX#dmiM^#F-sqahcQVez^Xm!S4*fVlJBulhgCj?M|M*T+^z$rSHdS^a*%O0#Vzex}yyo)^{J9 z=B{KAzB3eD9Z^qnf~=EyUs2?Tt%fYK3LmpSRiQ~Q{Mlo<>VfCM+rG4!JnB_MslUNv ze2_?+sK{j+Sk7GSkvUbW@Gth@X~b-m={r;3R} ze!PmSLPnJgQN-^#va+);nL9S`eiRDh=g6g(R8(-c8r0BXb8FpkB&jY}Jr&u((K84~ z4?Io8(U(AvLA6VFaBR!+1E3HUr?b(qaRY}RPS>1;I>$y@lVb{$wGn|jT_a*LX_!LB zGx4Ri%|tqU2H(%hO>&(G#*yzFdgvzmEtVhG?a^$db9_YY@;09^5t{?A5COm=eD?D6 zQJaq2QbKylP?a;y*~MUBHagdE*EBr6f`>w2TN`?$5$)hi+l1C}D3rGx zJ39Tk9uveh)bqt(2y(PJmEdIFc~`~lpvBCas>5$4D#wo3*n94q^<-lJ8eI5}9USJT z9o%`7&1|~_e)=Zd48ipD;nnsONz(Ql=BkiUL_B#D6OTH`_pQ9D1hPFa2aCmSyHp?) zUvnUEOzINZt#V9xczGZuyNOo1J`Gp=ORnjJ5BO@*v@J7mji%V@+NaKhBW<9Aa2u;8 z3!xy4ATDwN4^jDe*3*%TZiXbIi4W05*V1WHGtacWXmJ(sN(W8_zfI<^EezPpOF*tq zfS`MTuoH`67y7`PpEt-oWygAZ_JgRMchEeaVj}NQz@b;6fZxH9Z$$5}HtVl$5%aMQ z@_l|MvD({|FWrJTSgLgA9S6fmI&;bQe;PF>iKxnmybM8)=x}XLCp)`0Qufg@APCXWTsC!MV6sl0d$m!_Xu?zw8udY|9viM@{f zLZ_J{7x&z+;KJdJD4Rjh7qhvngA^B!+5-aLwKHsVgu4^FP+U|E7eK~F)6G3u@+i3- zB%DU}aq+ct{aJbSE`At0n(+=4X}S~@-KS^LUp6!LBu(QyEfpWLlK@_fsp|#HP!8NB zpUSusx~gb=jm6TSloGvj0o*D=YywX9jQMz(sKn{yY%#T*aVxWRy=n>@Y2}u_mQ=JC z+pe}h957!JA?Gpwh-wPsFA%Asu)^D$8SaMqB#>KMDzAEAT5yd-n5(*p{rknzUQu*_e+9;fctN%^=fE0@M zw6A=yv-03}i_I!Y-xOc2S(38l+k8P-Q;A|xolAbvXn$svO6b(w_;=523~!yBr~T6@ z9A>#x^$Wv$VRf(06sZPwbh=0+Ri}_CeF|vFtz+dju6xFZd*?;mQM#_!*|RVN6xJ{V z80dToM-h0!XQF%ocS2hN0>myYx<*{`r|d|XF{S4Po3Nlw(5_KBxUtqMI}SBZ{8O$D z2h&r2>IA$F2U`%HqD6CqlFizYI%Zfsj?u^iF7{e2!kmuO!$FQ~Aa1z*fM?}2OHhg4 z{*Bv_^C@Ko_~FaKa|Yb0qaXHr1cji84u?R>O&Y7*Ulv@EPF2141&rUsk7PCs=>Ju8 zKzaI!dd!N24?+wYf`fyj@g>qWIU9rFYLqos`9o9VXG3QrXUMbhj&I>ia0ej$mpRm=Y#hY@cvg9!PF#oV9T%0PDH|L_``CoEw7gWHT ztI+1mG{o`lZZ`h~=SOjUO!Ts5kTcE8v?P{sqgqSi%~(Z`LRD7nYDdNqOy~AJ=nIOU zE(FBB4u<)ff)RYhUsDY`+Z&y<2D72B7LlyZKov%p8pvI^*@g_(gmRxOu`6Ot zE?r0QwA|XNE?h4-iFCh#Q0Z+UG1jfk2}|Cu&FY&RH88@F!ZfW-Tu|mCb^N3u$P>NF z7Aq&Ql_QH@H?xi5H6~&yAZ#ZAxrgVW!z|w=$Ptq==HtMZAFOz+6K1Ox8b3GsT{2C_ z*-kGM65f;zx=cQ>eVZblCdlPjN*M11TBvbijxGo{-L;=zAgw_!jaP77?cR0@2={FMyr~`YM>L@w z{mbz!2^7!cW!FBxjrmS?&JgJppEH9xhFuq5>S>n6w$&xj_}~(JX|*`m5i`dREby%#6hHZ~btgc3~FLG<*546;^;^X+`3j2F0WM7{>im%CX5PcH9H1XC}u&AT6 zj*aDPd?mL)Y)@)(jGL}DfXkZ4Ad+oW1~z%{`8>$p;;lR*{P-R*+-g901a(o~n~av$n8Wj!T`|2S&Dc^r zo61qtnYH^|rQU*2RQDX(lIup zufZHcKjY8pO)-MFZ+>T0E2t#@q_q6KNYQNB!_rYdV0q*a#8S$6Hn6;(1_4P}c65DZhIBf| z1-CWU9iUw1PRmnPT~0|D$JcvYo`cnvEa12T$DlWTP-oarByR>5&BsuZO-Ai{OwANul4iy@=|$}8y{yTjHq=*m{yq~&3Mpm#{n1| z{lGpEJDADd=kV20+#< z*YF7V=`wKo7Mz+P;H2aR;PS9I3RF&{R4{-ow(6g%V-{FcD*%0n4%TY);HzTyO?@!X zA;z0B+IKN^O_qIAT}XN#myA8V)C?hq?OQhW0r^5&tG3ghI6<;DI#ucW6yN2n2|8|0 zr%1!fEEHLwO6`2qDxV-%GsSoMqEnPjTkZ>y@=sj+3#IKJ?dHr?PyjkU8iXsPei~YCTPq5hG*Yne7vYUGYu{bh(K3^(Q=s#=+gh+?`Lu?P@90!zt&)d3T#aLJgiY zgXgrKav{o;(@FCV)D3c#Q~5tap)9_>z5*o*%CfTaV@0~k+`l|PBU7VOV`qbB!)K#s zV;vdcK%Vd~s2s>sz{l;VD$J6Ri0EJa+4sCKbubm8sxfGRQZH1JCV&)5_ex(Kbr#q1 zZo>hVFdoxF? z`Br7<+wD!t(QOo$4M-Wlip*c=!Ei--syf_(c-d-za0QlJ|F7!Gmn!VGjGiNpsv@kU z&eNN+`_9$#_8cBQ_t6MUR-_tkvml@WB@X9XzVKyNPj3dCCUpr&ApeqOkwwYF>L(+< zSXf?UM72Jm9GLM$ZjKMTm7qiQOKv|KD_>=iGRxzKOtJ@Kmhh2-y8*giV-7Y-z12y5tcwNTlm9aiH z-&Juw(#R_CL#X&7D&PQ242U27Zm);d4k2y9(?)P_YU~YP>1%{&=Ewa>N$xe_#4FMx zR(qt=<7X)Wl{X6i6f-lDUnwl*o{;$=NM_s4;>w1l$wu_^lw=i$Rp*3j;1_~(i|H6_GT9;?>;apr)sEi2bgY7EnSPgN-l|1+ ziq85#!((V`>>(!(_LL>*`wNi0`$lzv7}QypCAC)_ts z5d*o3sJmIr;sp>rRC)Ceb9+!n{^4#$n!n!aVg;gr`S1^o-(}%x!UKCRt_e?IV0*pL zQ!m2IzZ|)8yco&8_q;^EzN5^fliz7YVPJC@wwnv{^P;?k5K0-V8Vepv7|R{2=EbmK z{TucK#R@9_eK(KZpW0Oq6U*)k%Cuc! zZJoQ|WfoamR__yS>bHg{c7Fb-260BH-C8k072-mUK#A)9Aq3gn~f2wrYB&%^JX7pGxbcK+)V z_xh}ODWO9wr!I33N4ejQ{GuOmx2;-bx+x2|pna3hW6`5W+&?%&x6PIs?T+q*u^nS5 z;^4R&aJYvY!);_^EWIeKN8i@q&RS$Xbyto|rv#Z#u=lF!L)sHfcbsX+7ltYdFQ50XqlPomO@ zq`W`exjK?Bt={Tg!sE%;uX{akIS=#N!E__>%cSP1Q_imM$Bj=PU!;vzK3_oP?>1Ms ze9L;{POxMa3`IMR^{@A??Lr4-iu|5tTNI;>4EM_S<5fQ6H*HAtmXRiIIUA+LycoDb z-F=-)n7%JvgX)%3hwWreI9cv;$5&s(?_jj&8@=^kz?eC$T6WCYZVYHFaG`t3Gsg>| z-L_1got>o?@r%ca!u7>3_m?-YoX(L_~L+nCg|>59W)K8e_kq;F+Ch_gMu-kxf$5C$Adl*2netoCW%J z(xxXWEmb4fgj`Fdiw=#Hm8l2bx14@pShZ2kcOv-Urod>l9`#-1BU*zL{2}ia(aQRd zd10K&lS^1C4uq0~^ws$Mlz6#14le-CQ^vb~asH5Z~1cu!&p~WKd5|QwtP_Z5Hp|&SE(TT}P#7Co$ zjY*q%dSC8I$f_2QAZ_JzUdv4F+J`MX=7DlGt~fi=vcZ5mh`y;C0W0hX3DS}V9b`z)dv`-Sn|FiS(m z&Ui_KPONdeV|s!y35!mE@f)DtXYY%BpuonS98jL31Sn6DB4}92l^D|`SguBQ20u7; zBWa3S6$8Kxf2pn3RskS${|+^M;MaxbndQrq86q-3YZr}iZ;J)kW=e6`A6Q7Oa+;vP z8nkt(XcA>am-SaV`d25BH_GvF{{p2DUVSfEs|k^YZi)_g%|w_IJJ4T4QkA-I zRGKZ)pR<#*V&U<16;1&#-ohE$-RK?U?W-b()t;fBzj(;jzZoa=w(0Xj zeNdX|$RyQWsIPHcpYY`s4d4Pz{2jK9;QZh4U6u=agkyu<+mvfBC|yyI4(D8R9F1o2 zFZaXenocO(`zxMV5qnwI&Oq_wb+pyB0f1`)JzvuH`pH|@Cl<0^GBA;b`{=P~TvjD3 zz}VcYPx^qog+Db=o;jAtrbbo8fhZ%|zW|vrz9DwI(v+~S+wUzcvAAm2C1E@AYq;=W zd2b<*?iu51SUb&uxcpTxO<0^-`C~hZq8^Xd4At!JnmWG70$^GmDPpO>7Qc)Sy_q<$ z>|1k_e^;&c?!DLg8=M~X){LWxKERS(*sbaSVaAJQYb_Z?+fE2C7)vDZbkBtr%*zYU5-^eaR>opmDn<|SR`vY>pB zrw=)nC(S;9#<{NtN~zg#`g5cVlyWiNISz3D8Uq>ixiF$fWGhU2#b;VN)C8Uqt*w7T zoT_f5=D9dIEPrw%m?g9f*eI7(7+?8{5QL)i-!3{0cdXLA(P}tL{DV6T`RI}xR%2xKC78FL z*GOgeDvX>XayG^~snL<_DA=ZE#k3s*DvLug8o4u5zq&T#cb{R!#_;Pl4{v&8yO0F* zDO+Er>f)D2Kc^w+6mt`yd?B=ybFSa+jfQsRV<&+&J62dc*?;yi%3|LWdA2m^%+cD< z>L6^{FFNhfmng`o>~%-coXZs^61v4;zc&;eRdA!Ca@Y?FC00SAAAy^wjT*hpl!6VWBVnv@Yk@K&+R&f_P@$l$;Xql?#zc~H z_0J!J%!~?`wH-Is-FgtCAhL8GxchL_Y>LEuA0Gd(XfclI9-VvqQlfK~>sH^aYXl?| zPj$pXUg?>d5WAbub!`+#j(`3bg8s;eLtURt?{r*dw8>jsd-bWYU}o}O!OTU6qu*(e zumO8SGZoLvlMJD`qbkFx0r?5(HPnzL*1mEm6lF*n?FwDEy!aEU5%GXTBAQ$7k64Yb%WB7Cye>1!;y~ab>XAg`PX?)#j5B5tRvA6 ze`B14V0xKLLO6zo-1VFKJjfDKGxQu)h_tn}FOH_|s;`;cCr!P0`HG}qI!LevRKF+) zrZWZ>gzNYv?*|AgZ$Co!mDnGV{Z4$+%4GwHPe4fM{26drJ!r5SjN+T6P+a{yt-VS0 zCG$u?Qnn|$Fe~b7vXYJzK=S)+DkYGKuhqUD7evl?l1lkT?p>2N!Z z#8yIFSxzpqo|*g@7#ITYnGZ>Kd8p-FR58O`F`R}qrOjP2w9lULu#0&s7a5Kxo+;$p zzFIuSd3M-C*Es`i;p?}wsPi8RRw->v7B?-2D5QyL^X=ezXnb>CZfZbU;7NvcIv6kh z#;QQ2vYYb2W6JBY!c%R-M%)S8P6HD0h?U-7!6$%H6W{@9zcvNsqnM(TeB&y!BvYqt zdlt;+2DM@O`pgjM3;zW>!?%rG7-{3f-euTAh~VggA}e#oGghQs1E1x`X)ICOFUVg( z+KxG zS@|P}bkADQjBkXuc46sZJeuV7wk#A#iUXCXv8`uLJa%pYzK|^P8+>JYz>j??AI)&_ z;?}ZszP`MU)=6m($JZ1=7m@rXx+BxppPWRQAp#WT|!${59Q&eu*HZ zf#U5#UuJtF$}i-Im?Ts}WMov2?`&fwXdfSBi=g%iO9ClpIM!?>dzV)yH+?I9by8X! z$8E@gnk=ixN48h_V`Dpz2MS*gJj;oYm%r?a)*FxSG$yakH4eb6#I2Zi&#vEqSv}Jm zO=LaW^^Ma0KKecmIBzS^qzO93Yq0IUm z?@mF343h7C#tGGO-mJ@mG(J7h`lJGTkd;g9_nqMJK@jco!VWX5<+~X6H&>A*vvzXb z$y^o|anD?)p(4xv+JXj#>@TbtISeU)9x9cqc7YoZ8a5g^wVdKvA~8n z+o-OI8(hTAsF-0nOcjpF-dw{L&+jO7*Oitw1iKd3AZ4be!GU@#d@bavNMYzl-pd~7 z`IogFw!$4A^<&r9?Z+wKk}Tgib8`e(G82=q?`=pzh*o0Xf-b*JyUh3F#o&KG4DhiK zc3d_1h>#Ytm%Bfzc6o6Xl2-TIYL-p>gvrhWGWh)`ITnQEg!oKz_h)vcit7VhiSgH5 zQQrHBu8lYzO)}fO8ZaSJ#WR|Y${E*EtZ>PU4WS(a6OX$5&(R@=!k-Cx^Z7aJSulA0 zsB)5T7wpJ2zcTssg=hNvBws74->#R#aZKr=Z11isU0Gn9SE=V^4!vH|cPkd9)7vG1 zof43hmlZItD=(h?CgbncpTI7DuR5<-UV6@$Sywyy>pS1RZSs@gJbj!y^VnbO(0A`^ z30f$+6dft8r?OICl+zJNe>Fh+ntCfz-$YcR^O!}#gc!tQpdV3_8 zu&~%q_}4R=&Vo8@b-(l3hzc&z_60mjXK1!~ehcMc)6l!dc(-rYq6S+{?m!h%tM^0a z?hT%FZtA;>%Ge(4ZKDhcC{UtE1Z`?WD+8sWijax7q00TBr@gINBQo5lGn6Kg_ga23 zkXkZx3A(R^b08935nzJvc|n)lZ3>o z$T4UC@y~K)Wg-fsW}0P7_F7g&3DyE@ zg9S5n5OUXe9`9>@dqIYo^*Z>r>=5v+xtFb%jYc4+aG*s^;yF-;@13G5&OIEt%-7n) zYQ@^vNUQOV`kpBm)wAj6@D?($zSboX-ib|$aNV8wkj50C^Y48|#@!#K4pwU51NvmR zE=?Ls!mBi*z;`vTuHdcWr~6dR8Cvor>_Rv;UUtnFsu87Qj6dWzBkmRn>`Js>H#+p5z4u59+VgTw}D7}*ym@sE2EK9DHT{oAmk5FGB- z(`5#Z>qU%{*(}yszUQBa3btE%F4oV6mtOp)I8QVfn-|u@25;{)aWn2>C)?6IBwi`U z=B@8Ed0)c2cBG-r&B=~o0`n!JWyz@5EHaxn-k2?aruLmg?jcJ+c_8k)z8`l_(T!(O zxdHr}xRXI046fhNqpc@KC`)gVReqhwx!^O&>UD|avk$oe;!p1jnr8~&Y1b}BfSyU1 z5V_DRW2W0vH?Dlv_A1E?u7l5)ZrACHrB^XLlZ3obspnDOK6(`wRKa0COF?}U8PKQ^ zI*8L5Q#LiqpVc-aWjx`lwS980Ld+_FJ=r@C%JGU&(TL=^4rTW9rob<|4UyHemk(gz zNJ&JqQ0YQLjOQhIK6^@L6!x%S<@_HfE7!=}YyNZ>*>x^wWQIk;;Ynwv*d*;AxoWbs zkA8`*W<{_V6m{K@L(xbVkaz5#;GMSH7<^g%n1J*cf!d%*A|n12VwK`xht{0fQ}yvy zf#Yz$3Hz3R&cm%gmNBB|v{iu`38XTcp_`*nb8U`2iXpH^KPn{iiBL4K+Ov_wl_ML< zP`Ffnd!37W0&XPcO&9)XSg&5P<|F*RF|xkk7?m3+oM4=sgsb#swsjes#jv7OB;Na& zSF~9D_GxIG_S_ExJ^h7cJ>r~yGujE<*-X#huV*giSV(v9{Ei>)+Y~`@}W#6*D ziI5uwyL1|hd7lt$_|aZkc}SE~sC%jStAwh=sHCW5sz6mLRO(e)ReDuMD3G2SXKr2S zg*Wb6^~RPMn7u)oNezElWp*uHnI25@>{bdy12Ws>=BO1k6#XRzw%Xd<6dw04ZZ{a zD7HvEAGPFPGfGwCWk!q_Mi)R)r1K44?q7~%(DfcAQB)JcEg=7%?BGE1LJhaQ7xt#U zndRk`-lL<5`sVia&u=vyOvp94-prrTeH-%v3y14|HyP2e7#ChV3hSv7hu)HZd67s~ zC3yaWV{3}*j_3G-@I0~O?IvD7!_61^gSis2-dcJ5&&f6Yjp8u!G^(+ZeMfH>CHsBQ zP~6PWZUyIQPm*V2lfF7lW_!1|dCx**@iD3O(Zaq@|BM({GRFOEB{~1LIn!d8lo9ABC$;F2 zEZgG+F5IWoD|zoPW(ckbI>|9N8-1Zq@bHVp+tF9E_)pZd|cUI4j=Qt>*nhYK@ST-p#t!RSTpahE6|!c$tvW zV#8taYE5-*T{Uwu6vd;q2+gN5xX06k|E}QwROYv(Gc7O028+$A-KD{y9IZ5w~4!+!Rqd3byoM@d;RBbUd=Ja_m#f&R+X-n9Z3sjKarpn zX)7|H?BT&3#u03SxrVmu)wNX9(ELDMV3y%g8#l8&&d|N-)wpK@A!dkN|HZND9rV;W zhe$(xHy)w+(?QEH)FQjj;3@sgsFaUpC>xcABIJ5KSbNSBxmnd7c0Zg*Xe7ywbohr0 zNw~_=DeCKMN1JfBKZDM?Ep@_6$E@XkZc>=q3XZpTv58iG54`nCu1P9<`ID0(& zj#^*pASKIigGG>DYb9G;y&FNSWp8cMn{Io#k{&EO4O>{xIPQ+_>9wB_yulyTIp+(# z7B4m977Li-W9Wk<^_K+7V6@UFwlPN^en6{MJ788@ss@<%i|I^8GmJis!vLK-a7+0M zxG`#>{>IBixGd)H>CJY7tJc+4gS%to>m$&Elr6pQ=|HLSDL=3EFD0u`5=zbIU+Uko zu_>CGq)(ks`tu|_mJ?`X6OBH2Y@WMc!*6D@c-pM@^z!Q=eAcI#FO%=pQ=Rvp4Wxez~|R{8O0?YZ+1bEIpaM}2qhJ^S(r>%gb@b*Dc0Q1Ly)`rL#7qR(2c zW<4E(5{ds5q@&&}7tV|*bo=Glrx|(+@2n=1^eSU%ESfX)_=}`)h`U8#eFW`+(07(Z zM^WYti9Z8B;Fp0#7_zgZ5j{0E{HVPAv7N0?Xv`}MjTRIYO3Lfo>z#Ha_>&WHX$gUN zsExSQ1%^PDR3Ld?AfAi98Fk4S#+F&PX8BO~1XX;LrcV`4v=UZ|zHZF7t_>+L} zP?1Dt_9Pt-i`oiL44IJp00}VLb!tA0h?I)px~9UYsXs%kmV*zth*D7FMzVv`lPJ1y z2AN3AtP`nUJMPAGl{f+93&+2}`<@7=Tczzh>}K?!$c>R!o|q!#A*6e}SbJbqozb!3 ze!y!e2rZ0KiFiJPX#^-A_%5qSa;Cjy3#l3PTckz@fn~t$LWA1=4s2+ABLuc z9&8nZut)dQ!ds0JTWnEV%xlKLw|U%44>?8Q7m<-jz+wW2hnK6wwn9}km|{5>-PiB3 zMwwcemii2XFg9CS4f#uYDrp2b4}RnqODVbMye5}u%3fQGIG!mA3zSF@mZ**pBrbL@tj~Q`1iuztG}Sa7 z*uS_dGZ7m{0@3c0e^K{wjg&}P+)^b0~LA?SupF6fXOCzJG8vTQnXA)#gHgW^Fo1R1*;Z#@SLQ+T&wl{FN*T|t1i{b`2gu3P<;&(#wL z^s@O`TY0df_5Q175~RsRWMAlh2EO*&Y;icUfZ|D zs@$pUbCa%Er)K9wth_bp{bQz_HZ*8?dvhV-)IZ4PtKcfxIxh4zO2OR7k5`Ww5r$0; zxxCtR^~Kdap!FW~=*Qa2e>t@PnLeHkXH5cBl?!6*k|y7IF+=UmCpIAxpY-e3o@DkK zvToNm7$3RZAbSKGtq(@92nm$n72Zd8`%f}^EIsmGg#cdW-!n7n!39EKBoT=_-D=%R z>gz?EGsmPPdok_);U!|?|>cuJ_b-ZLuMaq!>oXrN$*)_rg}0u+0L|Q58nCqoW4{ z-eTABl=dZN28fY%8It7ui?76;#oAZ#mxOw5Xg_oz{T0s2Zth}nm6y=yLO*Ip^J{SS z(xJyTdjy~~K`wI}S~)+lAAD)V-H+*y4kqF99J2d}KY}haAM-&>0XZL!U#zzx0zM>k zKF!VteTVDeHT#@@+q+MQPr?_CA~3Dn121O=Onh&&@G>^J{WLXt$7}Ifvx(%>7v<~- z8R5sb2YS}{DfCXxAFtho#m>$2gIq-Y3qQEC?fZjr(G{$mSzWv9Z+CG>*FSkNups zJvfeU##cyEK$(ho6^STld58A?{*w@@#R(yc75=(IC6J6?M>wvtA6&0D!0EY$U!bxO zW5jgUDHtD2-n}ob4=dYu(A_3kULB64z`eGnj%Iu3wPwlDqpo3?F^GjYz`qKS696Tg zUlqCDH(sJ73Xl;gNLp(b-?HLbW3ZrbwUN>iN6rbqH6cSM*?N&9#A0P54EfQ-Fa-4@ zLSC7oFqoky;|xJ;fX{H~g>9n-E5D zV|}|bFTbZRr@JK zYWjx)WE>poU;BVB_G@*_L-%82YYlV+jH_v?DA}m0sMx5hsM+3CyeAwhK7w>FjzS zjwZY6R2VXEJsd+f=W7s{#~?>nkr)F^pd}{iV3RClx#~C=5d=O!lZ5GTTONq|sO(n*A4MFWkL^~m#A)TupE@H@5-5v>ly{iXvBT#^Jrk?$ zTJrE4-4=q3rjA98!FLD6wj8v!KIqJt6Zp5*D!whKiqxR`hYDd-@paEH(+S-9IjCBX zk~GUp>@6wUTQYx7cUvvdgmgfh*ZbvYxxTKpccEU+lkZ3zxK&ZIHr=FLS~_#lw}i?J zz?>`l_s&AebJtdxoJ4|aztA~3^N9GKTA||ayHcs|(OJo1(nN-l<6PT`r}B{*>>t*> zKXbY83r;TbI;onqo@nv69cu?(BgfaH0obx>{kPa)> znqWpoU?cJ;xHG2A!<*J`^i10$cGQZ)PZ*t0*AHq0jQXSMoJV-zYGfeQE9Lv)R{`E= ztVG@5zXXdY&Ox`SIfRZxukZq2@bfSJIHwN_vns9XN+RH}gJ?)lDftu+{%efbJmi(r z8$n6xyMc^*I0HZl8dWK94$TwxG)YBS*(u{7-RHjF!^K?# z+f2&MR#Gn+PY@n)mJM1!?+&YgCHmFP9Ea5!D8(+BPszO3xclmjOy^(7wYB zOX1jy$vt*~@o=?Nr2^%r>a#1ONmKgwsPh4NQKG9eBw(g(F$LBVQzW0YO}XMl?FoEO z6rn4ZwQr_aV-xWvQHKHqo|s`d*xLImvACN3XhnTLTYFc4#AzRC76jry8u4Sz0hf2* za5vYJ&1_O#eg(VNLJQ~J9qu|DBLzu*Fqw1r?RwirMumSzcc^qv!r zmt3L+F8gT(4b^=NF%KsX0Woo|8|(vaQ92~JLA7$IoxV41474!B=*DoNvO?wb;y5K+ z=-*~W2x_ZrUtV6i!;Tc zyO<`D5H)99*jNl>bbCr6i&_l`qqkamJ1&CMgfjQzo9gW|p& z_w!MngI+y8VXLjKC!0db4P@Ah5hl<0lsn(Zt%jl*bYxiAaYPfVv)H%HxY>iUGo1^i zrUInEW!rGh_)}iifrnJ;o-nr$)(HL&WGktmV!7;u);f;bEtUvjD8)V}MUtu3`a)Pt z#R2ua9wI*`hvHmkF{j;&p459QJ|Y|8+ll23wWQxMoRygkiki(=gO?API;zQHXY401 za;gX0s`QgeGh3+nJnX)>j&423xg6`9&uw@qprnaQh5E415znP&l+N-JpSiGhKgF;M zH>FcheTVL;>Oa}D_cs$7A8j~UAFEKc+rXAtJZ)b8 zUSN=NntDAVM<*1UYV-khBE=f{OvaV$^{24!KU$u6diJk;iHfzBp8&t$F>iw}rV{D` z2zv8baqSjCXpBsmQQd{BIieD!LL z5vLnj^U|gl9S0;D#@%pyHiht;xeKgsL&ILP2Zy+0X)yTtR{@eD1sU3pTSg-~Z$ReN zt(UH&wTH%maSbI58+asEkZDth+6{T!9#7Q}0ATd(DqpFihlo2}=xE7kE)(7ahb{=l zelGR%a?G_&7UER??PZ8Z_pScx{{-KH06hG><=1bfzc9!o{*p?=8p}my!9UdT!HS$6 zTeEM*uDgr!H6Ifm{E56cO0}@b?fRV78^X$iY=&yfpCG-A0&SO`d!tKbJ}f#7^iUTW z;o(rnvSUfKLf%ER9eb2*6_jou034}_g{hL_73)QStjYJ%EODBIa$Fjc}hm(C!*RL zKi=xt-Dy@*YG`ZuHn{3JxNzjfQVVUO$`Td)o8VZ{W>Ma>-8%Fn9F4Ze0?mL>1i^zQ z!~kp6FqZyX-LLy|Mwv{)uR`GwOf=nl6)Ycg=1*p$g|2me;VqsVI5xIhJ+%q(I9F+*2!Gf&fdSu?)!Mtk z$Hr-NM!NK_OOnB;L<9*~T~|ObDD@R9}G=f^;*AAn7_aPL+Q!NglHV4a+y{ z_F5j3A|ZKx2tF)eI-4Q-A{o@ZC@0m~l3x1g3A9ml)eG%gg0%bbW;oNy>Xm2%v9qMo zJ{PGOP3*WU=6!kvjfmZ*KKO{5WI)*EE2TzgJO1Vk>4O?C;I@9tkh1^-NSS3>isXzT zD8A%HIy^A=Kq{-JI3Aa76zE`d`q}e5nVld5hoSr9=9*pcQZo+r?!nGAKTqwG!bsKoc@Er1X_m^O&*&8RLeXP! zsUNUGJo+5NTY8tN>p;=aJ{USo<7@)Fh4(5Y2rvCsMiA zoDb`7x$4>r%ihsZBkuM?wiD|#1w>4AI8s1IFPZ}kF&x#WwEfuZK`_bjjioEo z*B>mGDg54ycS_IFbt?0EAgr)GlpI`^K0I%v&;WIc!}wwK`=(rZUqkM7HMPlv3r==b zenvgMB{>;nH1kBNocA`oGq&$Z%a%d@*5y~%7)4h)?Jw4^UGD2~Ouq=~5aYltZy3U! z7mILqOq)|4CgF#^@|jC@uUm6!&_<7@QbvK%UlOd#KU&ckpL>=qSr?SH)>qq1Pm)+e zYFZz9L;W}#Hn@@QYO(jW7`zbtq|&v2y<^P31~wDrW*st#5V0M;XQNpylFX9JRwc!n z!c9-@hPo+d+%Uc!$DSalM-BxYeK_*Vv1@QvSgHV0y9+-a+53}ME*?uSvkE3bzqqU9r6w)FbK#059gfTSzK-wk({!nY zu;>(DKubjnbzKU{JFY<^&0E13$`&b=_%X>gV)wPD+Ob8mIm5D<{(Kx?x+6)uR9TmE zU68-8yup&u;`e%Sr$571%nhSV>leGXB>7Zd6AP3Ao9<#=ka088<-Ns9mSguWxZ$+= z_otPbJcJfj_8%&*e8#Bcr=Vg?rv&XMml}pgm$F_MI@KMxJl17ZXbiXEzAmvfrK5Ms zB7Mi?v%SJpCCL@fhkc@{g63j_Z85a}ZB%PQ#P7SvAGUAG5@uLF^7|{ftKiWc<|7J& zB&4oaB~G0bJ+GN2F!D-RHh$v6n|~*GbClHX_sXZV)Sc_R`16a4e*APR9X(uJR^eth ztyJrrI^344_hH>eIw`p#iI=}FT&n+;*+b5!W*Z)p`>Ip7iBW z;qqOZ*mSqzy~cD1GxaMWP!Z*tOo?P}IoHUowb*{|6O>J*QbzcZ20t~v45kYaaG~R= zR3X8NUIM>rK)Cf{KRoTS5;$lOHxMT=6Yl{3AYAoS`cQqet_qv1ryLN+vi z-JVRDinATuie~G(tQnqh2CI9YbCf1Eh>)vMo@;^P7k%@U7*Dmx7{`r$5J_*iv+V#x z)XqC#WjicPd$@?9rNYwg+U+M-=@oKTvVZo9@dN3)4P(AR5VKN#n&i*5T!XK0>w*+i z5e)l+$-6On^F3ya)8HBBsVUgv$H-D^#BLo^M_L{?DaVg@cVrF*PDf{b5r*vkJeXu@ z7d#L}n^^Z;4K&ThkC!Z_)2T)hSb1`oo6C1tbTC6=DHkMU5#}Z#=Inikvsyb!u3(}l-*TP#!?#(^2BFhPbeprM793sJf3mPWt z^;d~V$|cLV9KO7D*$ihMshZn540rGOOZAo5nl+7_3qfj@AiUYAs5_ zEUh`>#=X%&Z&VTBCApcjHJw0+x8cv&yizY)i6*niy*tdi`#x4OZ2OK}XsST+NhPC=_NGXW^(gf<#lHATL3vyfr3IDc@AGqe)UVV7+X~D| zXWL=JMg!p{VctACzjTq1hYL9qaBEenP1f=`qk+}YY?<0o&Iz(W$%=tt4oAA@zPG1` zH@FmlL$&rBj-lh^zT&1m)FfKOj~2~)!#vbd%t58=JBA#e;d0e>ooef7_m~P(ufieh zGe$wB8^KFDY>;u4x<8OnZ)$kd5JrTPRJJ$FU9Y#G|6}->qV_lf##_2;WZw8WNGhw; zq4tD0vh>-@Hn^puHQbc9!Xa2G&quQ8F6|^W2Df>O$3Y9(D^v{ar4J9_=Z;l-$6p#$ z%ZP{AdxwJ|W)2cS(i!!7RvGxuB2ko9USG~-!ipbqn8B_y$45X|df_cq=$V`Kwj;jszWf5+`ul(g9Sun=~&-()BkKL`W?n=)y z>4ug<{cMf!+t-vDxZZ3~_l)%bsmO(`E+1{So9|~0n$?V&$uk{QjQBl`RAW9=B8p_i zVIQ2A6TI?$SPyfJUb{lc)5RJ>5w~~e9sa2H25h$;nXt2)Ub-AC)brs zQbk&pM=fhel(npTlIF$G&A1Q~#2iJ!Yu>Fi^@YmcG?C_x857?k<9%B^o4^G%`cH+@ z6mZ2THWz&4$EGU=W$_}28B{7~n-tZjONL79T-{k8Tq5>J7hwyOSN~!XM{GbS+V1w8 z5($0M(3kir1`}WXh@fFe)RPGWq>fVKel5DZw5y(WZ)gpxT6c<%)`}3G<&xoZ8p0BI z4wcRT-0g^IsI%r+lv19(yM5v&nQL?0XIq~!%YvY}SH$8(vxhn#mYw0aUclAEWb#0M zUwe+k_W(v)x^srzL!P}HU}si1jInOyA|2k&O~ZABx-tCHV0keUFq%-LgGY$$X^x~@ z`51sw?R&8`Iy19QhvZzsj1Np`fDu6+bOPooYkqJAzk>X9Eiwa|IOeY!;L>1nO7e;Iw{(?VBZmUiGjrB&2jxbA2r z(S*II_*DNQO-%u;@U0?ieo*wt8=!2E5S=u*@LyloEum^!S?mt%*grbD4)5Du-C>+L zZ62-bPvWZQZiA_ZBW38mXZWD$mZ3PRxQ8h{n53B}eHy`{^SLKE2MMHTT(>B3SbtO@ z*zJD$CYd_c)wOvPVW_SB`f#}=92S+B=QcCSUYum?$9W#AbDt{i?~z)3)YsmqF%DG_ z4?O8x%hm|Ptu0_uLFE{%H9C7KcNwyQ0)_5HZ)99C;SG{!QpL*(M|JJRSNy76oUiAO z5Ekeh)_a4vR2f}fW=pGwjv~tFc13cRTA>Q$vO|~6sb(4pp|4qZbBigjYIxt>ev+_VoamAJHhaa+TpopE?MZ}!G&mJX`9*%1xwfuRhmthcxUANR0Nc>ms&gQA$z$GpL@ zV=Dx|<8W4$bz6lkXSC0_?_6)Rokf{9Cr?(rVArHbS#J%C#f)1AHX(rXI@dllwn|!B zSgkO}!m+VsS|rpn-llSZ3^Ip7&3}>-Y}ar%3!6hq|M`MwEv%PYY{kO{0;Mn+^b7NA zqNfJGOS|w#^(JIQnK|w8$SBTo<57hv)(4*CVJU|zMw>+uR{Unj3lJY~?&rIlqFnB; z1WO9jRY^`S77dAna`OC7M&o$*n!)vGxyCS8yi&Wew=s|Ugv`ky-9H=LhVUhk1njT0Gd>!EP|@NVF9 z-uvi3_i*>n%8aF)Toxel(f#DITe`CsdY;iH0eR}@UF(v{lvI0q+lWcZsmF26dNgA6 ze5ui*eq!a>Bp3~^@K!dK=_@e6>2CMUc}gQ3Ks&Pj0Hn9B#aBK!iR$lJT#}v^m(Fe% z9-2FOG;i*%IoZ0Q_nck(Y@=f{Lj(kUX%2}Ke1b9gTF+%R0dBw>Mk;xf&3RP6-OONI zhgMjeBT4g2f+xiI)JHz>-d@nz_Hf7C9DZ_gazI#^=%-KL>Ailw;&zct7^^-fb(csP zs|gY4exuiCRQOxEvAh3_5&o8MGyrp_QiH@KZJ^S9+|YN{kQiWLYu^zir&T0S9^U%3 zannMqj*f~;zzLbfk-X$xTsho(Dh_t=@mspJPZ+?QBM~=6wDv~cm4aJamG_d%#l%*}2;VBSpxhqZ z&{wxZUNgWt)#mpkX{;O)KrIJ+)krx3z?wir!P*v_#-t>x=~?6<$A^^zyu!l^A>mSd zpJffFTCM^vu6G*IyFK55Suok%rH-9(wX)Pia z>v6a~_oQKGJJP$DcivxI{^hXNVs-14r+Q%D_g=}^q%1G82$4y?p=G#ZR{ z`wAUt!=G-WJhD9T{6i=+theY>DnOqwBNOkV=PpqEJ)II=_!N|qvfe0F{mkE^rC%Uf zT^c%W*hk{nZm_aZuG%08ORdEcCeI<=g?`!ml;!Z`!4D@ZSi8qUu5`Bs=E|Q=YhWOB zBb&IB+YpIhkq!b(YX4RoxVMj~trB}$KrC%Vh*#8OE zveCzx62lVk=Y`s>dkT=t?QU&>q<+x1jg4W1g@qj}c*+I@1%1*Rd34XbEf8EzuB3Ap z*BZ+?r_+llWBi>h#7YT3dB0;V8i2gAT*kVhVUyGa9&M$3@Lxt*dqC&5=XU5DO2YGF z){41J63F7;Rk{6P-Rs1RPnk8W56pBw)hg^7-lwxBr^5G8qtj)sPcaD0`xO{~dLiiR z&(?S#vpzK`#HnA6QPAV*S4I~ynk6c)$e;z$Rlp%MpC-k)<@CaV+jJEp+1hp36d?Gy zxw&cU>G|wWmvl@`Vav$K9A93Fii^XwcXXhmqn}8|uxFX?3f+F^%d*7t2@&az9##E~ z2Q@ZL3c#1mZGW;QfXx4vVh0^9FhgbWq~~$}87onfohd=ooFXWv>#*7?_%!#!BlEW} zBNs~M8q1uqf?D8#^Izm&Uum>tvfog-zT6)kIU!SEWuXpjmu~3`F{a!=x2gl@cjb+|2XF3#EIsKg8#KhzY%S-O${CMx2$mfnvDU;Zm;`#WKTylQQ|D4=?4>Fk<8&5%0?>DBjq?Z4G z<|Mlb+Gc_n_Z_<0M?^tU?8&N*V<^F>%bg^5=8UFCRkRBK{Q^RSl41HzB^4A4@95%@ zRl}P1X-h}@Ad5%g0~D{w`9_C=^Oc4x2*c@D`&L%8ot&N9W@qsLT_~-o8UB=ox+`@X z-K>xF|L~HM`PlFh)B#~qf^uI88+|hD#IhT1#8!&6rl`SE{9`HSG!OlpUwQCCqsF$s zlMWLacasjc_tp2&8y){bLelUgo(F(nHXiI%>O67ft1RFRJ>?ySqCGWZy!5|(Nu)Q! zBO*$oll+HPuF(I^akY)F12O_`s@|5bvNAHFf^Iyzdb((sul#a*#f3$MU%%l=9GlLb zNS#QZ$ehTY$eqZaIM`o$@FA5Ig!@Inxbd^@8Coz#VOc_*drsPCeKVv)_3m+qMhnia zb{0(On{h2c_70$6AIQXm zgB7Q3l&sm}iR9njx)5MBS%IpOkbl!rN$Noz3NbReA=ndvnpGDt?a2?75 zWs+kT+q5=R7bTgD1`W4}!3>Q1X7<}|(!FH5mlg*-;EMUJxOS>++AckZFSN2O2cXJ{@(e^ zd)L@8GZhnA6FC!klTRiJ|7@JOvOnDVvkU^H+rJ&kA5Yp+ex|2*3cKp+rqkE1+!Y%`au%H~g;#fs*|lhd-m^7?yFSU!y$%3g@h33xAJ2&X$4NPeM<=0^Gg9_wHE?q7c%UF6iwFv~ zFGCCixx&h7hky7R6yL85pMaJMfUxjS!3RX>p0Q@`*%S3AO#EDv_${&nzG7^_1mN0= zg8cU#1fm(%Hl>^aX<~nmpNEteNf`ErVm^!beM#>Y(2EafbNEQc&mR%})_Oa4V+^zUZr zua`eq1hlGAb{M~{Ap>YxG;H_vFUj4A(EnNa`R^|g1N>z<+_Q@Ke#Q9*fB&yn^GVXS z0Qi>gB0#_cNBXwmnZf+mQo!@8#H$03h@k!U{F0=z(0^3l|Jy~s1Gr*e(VtHT?iW2k zdHEj{9&ocZ#P3J|X}zmWiA6BCVg3~LJ)-bqpZJB7O+GfYF=}el6B_EqrHbfnnbD-` zr&Q_D{0k2+){Bt>aPZ%FSC)PWMbI1awpUBj!>u;s@8jsyL3Dlkc(pcQ7&CU3o~3>7 z(sRiV+98)E2Ac4I3{X!Z?OT&2}lqXcY^2lMAuotUtyA0<55&Ll^|H!Jb`G1y|gt%6zf!9*$u{#1pJx-AFY!-*h(N}z-gwEL0?^!Lk=)3lBH}O0=gszd z%C$l_RoG&O8MmTNuHBQ!r(7Xb$h>?jTZ)0MfG-%Lp#p+mUw=znTyb8+yJ{3fLn{yw zeixAl+mZ3NF8REzuZfdS4~jz3;@hJ=pV+d8!tr`KIIh}&o84?N3_P#$&QP}_Uh8;% z_+d0>aQgaiUu)EL4kBb>JA}+p5H0DtT&%`WsaK)9RPu#35q+k0qDnn_X7YF9(&f<*2lPM-U$V6`}LV$`*i-*aToWXe8#$+ zBAzYrcz9hK|NGB1hFd~)_xzDcq_WNy3o$r4o^E)`_74ypeU4ol=n18*?+C>pAxfYY z{hSg0mShYQ6o#nWl2YHkOB}#nnaM4Vn_E}6yS8J-zhB1wIQ!KnVHLi93S;y12}&q= z7XF!QDOipOke2_u?Nb8rR3vUAEB8IUUH6bgTjP;=voS^+H<;{|G8ZnC@ScUqc3nPJy9@kqK=j&(-^}6Bd-=(d(PiquKXCj~*T?iNeGlZL zn*CzO-3K+o2*QvVZPaVdxwWt?ato@WnAlj3Xqj4zbx4k7ao?q2I23m=TPn}Z`->mMKw}S8ozH}}Y?vh$i*3tDy|a$Q`)0^bmD!EaL&+Rvw2E5}V3MP- z#1eK#&STf&nR}0mVQX*qGBDLG`d=?>5XE7$3;4_pj%F&zRuV8nYCT#*kzH}E_a>nU zQ<`X{hM(o5@^cpG_)(EB$E$1qtvgE>%j_qaU|2|Jz z$iEcT-OGPYbpf^N+mtqt^m zU($ZA=fIh8iRMVcBV29~Y6JVX%!#IbFAMr*TAFyEt?yNrMrk5H@qG7V$S)tURIL{I zYvW@oVCoG*1`Kjf?h$D1$5GGfG&w9IIEdlW$+?4WYfhotMk|zDEwqbdwHQac#g^$Y zkrgRe45?>@L`=8UOCFc~W7XZ6c*v~|uBba3?t1rd`-b}+Q~w^JviWB(4NO-(_q(-kvXibo5-<%k?Ann%`*T9bl|s8zLO0(p&|7pTr-1ZCqmtv8bm0vSnu0EV zBw0OXn_N{RC(4+E#$!i0D_2oJ&YV)-9@K>*Z_BoA4q+#%v!S!hIdnK?&9CJwwdftl zNEMczw&P7R*7^yPesnl)^aMlSs^;EuhI_z1l=aZVL?=o8h(@78Rc(C{ae)^{UcXdmxs&Y3I%y?H&lhD~Kw zP+6o7_)F%R?C@hxZ{847>$LpyTIKH<9eu%MZfiR?OWMPUm!1P^-amf` zmi5fySX>Q}j#*GUgx--fmt3RFsTBIhlGwM4XNGY5j0D}NL z`B5lZ?gN+9>DLR->Oy+fA_EGVYa-Dqai$$ZIzookGW2vXEAti!rMWMJ8%plh`Ze3c(O)4$=owA%uPbq0R8H-CN5a;}qcd#vQ1+4p7> z0T$>Qj+9_WxN>XG+V zA8gG=Pa3UqGoGN6L)%0~Op}XzLsdxoeTi8~F0(6~>U3T6T-6bVl1SE&2m1=@i+xKF z)YSz5fTOMR8+)Oi;-%JmlZGJR4Aq*CPf?wER>c-9A*KC%{V2bv#PA~)2X zjqW~D<)%>S-az->9voUC8rqK9mlBh49+u!MkLaj95tcBcZH*}7y)}$}N*H>Q;uaR$ z6`v|pQM~hB8?ITw92tO)IrZR0i+BNJKxj3$`%d?Jvh|lcJ>jn53$MYXq4w`X7O_?;|E`LO9^O)f?;cN6?b#s_| zc32jKX$MDP%1~Rg~bW+vk1|KE2 zns%&)rrx=2R}*(Z@C`clwr}Mfj^^u)n{@ZLxqP3LNKl{Da=yIyn{kP=Nz943)Tv13 zy3RFWQV3Z~c+buu%ZdIxuw8WyVOwzBnq!wZy47E{r=6XtM5lolLIXg z+ua(@OlJ|>?ic)J9NwuKF{qo?_ih_S?x|DMN= z3}&dZYpdeXDo|QPSnc(9Oggm9Y6w`02j8}s_*BOVj~)JXMv5;e9Vx^o0TRxykqtfo zy;vXHCtr)b6(;E_dSGEJu~l(X&*r-Ic!GriJG7h38_oFhfw`Q900nw$pGSuFq;=ct z{ZEL?sFxaGGGt#miMoK09jF+@|072LAUA-GZ&JNP6ZgC%3FjEgQU)l z{#FUu*P=C0I(_p2@N+&<6}P%J7YNtQI<9tmE%;i64qflhK0pa~7F1_SGeQ5#Q+sQA zM0Vl9NX*lC6WwZzP%P^7h7`<9D03fHrB&T2t5369Ak#7G(nlV`wGt{tkG?ynl%1Jh zJs$Br*0&P&&MU$4jeL%2)LAvR|&+-Ff7$_!O_Uh<~#% zV~zRB1tKOU?|w%Lb`c9+Rm~x__@qV~lmO`}*KNeMCSl463x%Qw>ci3l)bb^vpJfhR z2ZQYoowo1#s?}y`HYl;QiJ;k*$Dm)3o^1=u9NHb$l!UghiS1r*7sFCcB>CTpX!%9W zz9b}=eC2t*7pA$4)J3^0(~+vRrMvWvJfF^3q0WUU7R>9TZ}`P}VF`U{6&o0@n!Rcw zjEgb0fbL{SLL2)SGU)zZ`@F_|WVPUAhw0eyV_f}8ibEIOUFpEVdtfiodVLKy#-}f< zI?b>AL7u^%NhW#%N?L@5%WN5~cKJRoK3&^0Ecv(8bEqvQxQ5vp{ubPwrJvR@Fu!@} zado(w`~&B&heExa*VWUdf6WV(#ppj=GrwvB;4(1aj3My4VT`HmSLzAV4NE5K+Y}l24y?nkd2biw8W+MC! zV+F z*botaN8QG7#(=i7RUI8X4^#o_LCt4OAwAj=ox}rMIl)j@`f8XdTZ!geuG(c_s84fe z=0YXp^DQMicV{azA>7B?f*4P0Enc*JC@3PIhf!x$-cwg3Ij~!nSwiz7N=nA0*H5F1 zyU!mv-H?@&rzceD^UDf>^#GwUWGZ_5@~(u4FB5gW-_BC8P@}=s2#0hS+}GJ5d4T88 zn-tZP#%pLUui=Zj%|x%*s%OkL!;h~Og`L$_4_Dzi?_6mH2uBc79DA?pf9#U|C5zb- z8J~WLIoq~>VitXw@)xv5_6$_TR!FbaoyB5!-GraT1xyC0Nc^e~^$D|S#nKRd-sjFr z=gxsp*}`+cy)R>?;R$1C-l>(I71|^4L*rqRq7YC_d)Qgvv3YgWC~5z)_;2Q536Q`!MhTESENTu3sP zh{tSbeeAJ`GkCeQkP_FQ zd^U)`Mft{>tnQ2Rs-N3{=`aEi5P$vJ$>AQ@%j#-Ie$V9P0{M6!Aj$tL0yP+%UE=EO z8F2;w+u8u%h=E@C&p491E&m0z8VvpeM*p{Q%n>+#0HkZ14ZPf6fiP!)7zDs)|J;A| zyvOM@9WdO+L#zNs3IKfeTB2$i&4sRK;xdx$0Ktf)DGTj;MdUwFUHn+J*!ZE`sftg} zfASA<2Jq~&^gmAF-~M$&1c(U65{-wDok6~>tC!|qnruX_wn();Ewy;22*`e4kNg)> z{Qvx)0P+g*1GWDeLSc`Mt>*}@ol!NaQUjpPmC<>G-@x4eI`D&);Scci-wr@f6AM7` z2Y)_~&JuRwTu4l^p6`Z9wy=N$Fk-hagq3-D;Y-SJzkZ7UZ(|Ywknw*#+l)74_LlfI z162(LH1}?9Xz19Wjm%6jOPc>1JRNHU20s1!l?lQ*%LA+#R>S9NKp7Jg-0|7C-^PN* zmzC`E21i+(=qQfpN}w+m7)f+II*&wJ0{b_oq5SWM^XK#x#9zN~qJVb6`r|}G*CPJ< zhsTFIB$w~gpyxu*V}Qf|IdAy~~$SFBF04Ny$s*KgqY~(3r3l>NVnAl)^pPa#5Uyn=; z@dUvK{xJ-}CjZtgeJ~fCxRK$UO+iLZjV@twA9w<9LL6v9{7YO?LL?|&XedQ&=oy0k zZTndx6;O1GXBjLbl?7*Hlx!k`S6V+T;za+}-hT;72_M#4Y7jHNyvu#e#Ll9~V$T8) z^G(D5KA6Vh5W%^d+9v{S9m#QDp|)Iy4uwG@NV+d;*lL`Zg|OP8C&tzII6z!TP*N1U z4YkQX79_VMRNBC1Hh8%*G4^Vv$&O5!ZZQ-LJ7_&MgyRrtd>k$-^vOijd<19>0N~jF zF8(>Ws4jg>Gm+t87C(~ElMW8FJ@>KAO0;?g3smg6DKsleQ(5O@{-fICt^pw%`P)(B z<@0fHzGgngr7y${hc=Jb(_XAMDk;1}n)l?!f&`fQ-wM>e97_r*>OQ|dW{jpuvdXHP z4!Hx$1NQoUvwz8cwNO;OR)%TION_8V3wpbL&v#a@D^Z z?wB&ek99N-(!>{Hor+7%&1TxGCh&PQ9VnX;LhP5L)BVn3;=|Wph~mr#j0yv2a35@J zn1OwT=y`lkAYb3tjEray5D>>#SJMw{oSeA8DzJLfjf&h5=|k6~-Wd@*S4BlE!O6MK zuC7%;-RhTHBzhCSTAcC-3k$!drrtfe!Te1!W!r(u71uZ+$tf23+aLK$!W+ST|7=WT zeJkvU7>CZ?$8quScq{);wnvfg98H$nZS)(T>3YO1!N8-tiQ42q5Z zCglEoWSP{pe7DE;5Rs~?YU}v80*+U7&r;@#Odc^}V&Yo6T?~u-tCm!;BhM0UBdLE^ zzPE<|_{J~j0EO_8xWne&xXsUM$mteP)cz zo1aV153=y_Y2uV?)L0Oqknj~E&Sz(5H%B(a0@bKLb=cYY4_^SdwciOn52V9ux!HN3 z_AdO6N`R$*yZ-w8zK;L)X#vy6;~q;RK0e*LtbH#&ovN4`HKSbmRKDb92duQ@FEHWCj@0+}B4a z71Fu@^hlvfSpyZMvU;3wmx1(q2{N9v2Uy_jw1s|{yq441dRX9 zRWAuN|BOYYSw`H5s_7>5=r^~K z-X3=qJ#SH(mcy^zQqAK&4B&K0AdvnTB)r%oTz-E5E8)R8e}?L7qe0j4X$&LbQ?RPl zZy%fVl2qXiE%E;TzR`BGJpjpWYm{^WEykX%iNI@rbrnuuUmqSGehW6}n0KaI#rb-^ z*{yn?$_1oPK|yg(>v>frsm&tJ{pogRqPQ`mFf1&rjM0tGOaHif&y?D4bZcv?HOkya zWpu*#vx}{5#eTyl-M7ZS$Ww0Cv>v-g_y1}c<^_3IsJXNeV&#SJr&sXN@U2K-ADmMC z8q1JB#<^jCyB-#PxbxOK4}3nxSD z{~&~X=Ipo0ZZTafP`=xHS2q=RUeU4v!ah)hC#N72Ur2v#WvUV#PY_fS_(T+OJ}7@d zZdyxY<=V+ZW7@rQcmfH=n<(_DyynytC+a7*% zI5nWOwAA`SmYYZiHWr)#B@`sb*jZlAK+&lBUPqkzg( z#t5Daoxtt~?M0>So;+Da3v6#VrLquPyBkls`zuOWMF4-ea1-0;($aW=K~Xjv8gWAT zbMyx>v(FEz+tXE5*_0-He8&1^VO#LNI1-5f`JD!0QKhUJL^EJJY!@Z-J9u*tW*QhVBP!ybepfxc?df3b^ zna^6DB%t6|dhCnJ-W^ef_#qkZ0p+A>ID3<$osjO3HM-q(VOnwQ*brM zd=^dXyo4Mg6KzgQjb-Lnm*F&@-NQy4mM60$NFzZ#KB6Ah#B3(nw*lGIcj{AdUVs|p z6&DxpUmmRXMy08zC^xWwNo zPQ_WD^Wdb_uMw8yd3?X^-&cg61iPe=-!5>jw&mCyg*BFmw2T#eZe@^uyAv!=#%Yu% z_BS3tY|(7Em~_?iPd^pf-#@&g+rEWqnJ^ud)Ko3}u3f{%7SR&4G577#^8-8D;-Lhf z)k0l3CjL~JOgDP1mbhh;5^@%ecG(QbnJHhyjV)*kFU$!o@ZvhP+`|agln3-5;Ae@v zd=6!@3~&6^lktG(P;wR;VjN1F6+8TAobx%$w8X5WXADKIiLRH8RXb(Me5FWEOjwIX zS>-l5#WaG1eJSAjsz{)C2iUD@ao4px1(P($lOOsIWt6O5_mZ&x0Bc3nGU<;KLuMz$ zAe~?)=BpRM5k4Zx2l+^rHai!l~e_Ms))*EH4E*6y3SxXHpMR;d)gi>#Le$CkUX{5G)y z@hmib-45g`ZF_qDYmUqPl*)N;+7F-8ddolW+GAbI%V%3|DJ`Rw!t25PtkvVVCBL>* zeQ9`n-{;e*)%JmuAexspZY`MwX_M=K-4*y4x+&}brApv`Yb6nY05iUrjHf>ZA=1wq zTnA?7ZMq>X9xMkF&nQ2_ix&5k(-;cVCvi1tdM-&;Jk)hg-t; zFlce(n~d5Egdv_17s>9RD&HSR5PODF>|s&t!JGN>hIoZ+{NtAD1V*h)QiiSH1Nc}r zxR`_B$V>p)S+KZF*H^^6CH9A>U@Tw+5ofFS+K}9m2@~^Dio#l+K!l>w>izaZsmQnG zFJ)c}Vja^VK95B=n65|P@tH&kc$mVhZng0rmMhA7rv$RRpRo4p=%G?;LMn3Big@_e z7_K|zx$>Mi(pH`I^=1qZeR8i)JAqt2ZjPi+AyBP{I?sG%WnHra5$H8J%VD4Ld7PK* zmxFJiBl-509&g?};ZsfRxBCee{qdj~8C+Lg-AT`mbfxK^d7ZsTK2K$}+nIV?zxS3} zqR(cw22}jEv;#QD4b997=N44<$BDTae+?=f3+>#I(9!K3oQrA-CY9?jw!bw~_s`~> zxCyzPSX|V*@Nm;{2E{Q;_OWnt*Lh00Bs+lKci7#jssMR6LTBr$4*pn;uWIPF{VHa-4 z%2u>n76_j+M!9L@5+x6L#XJEM;UKgiv?&S@mu5jY6_53tH%t@PET!kedC``^m< z*_AKiMKV9-Dh?E247}tBR1$i=HgcgaoCdO;a3|ICcsYz6Z?rjTjg!4Gr}S+~bffs1 zu7LPr2}^ZAD+!pjSTJdh+W2hYLoRlT9XmIkUS_GoX{m$t4ApGis41Nq3gsQfws!1-=R?9Ii& z6aokNGWCiu==J+xf_{cf3D9flLWc#RDRGB{z=7I0^?|%uoN5pyTGTpMI9B= z{Hmo3IK*ss$n>At#lz6eS342aj^uNdnHV<Xq5$jVQ;?_!cgsQSU^n!}zVO5FAe?{ja0>6jag_ks_ckGOdI_f7&k4qAhjBkXYe%iPZ%7RH?GQCsYu z2pa^I-I#*(d#}cUoZ*i{st9mkh~$@4FybH-V3a%F&H1l!1P+Lik)xj^2o%E+kS63*{&zU9q$*O$J|0}>xNASa++kp}S&K(1|bfI!Ai0Te!P zW-(dPK9(y}X*t7EqEQKJF;zB!prVj2P>RAW4ZzSyN#(dX^g4>blh8N00&FybGKb>> z1Jc-NaaYob$~`2c3fzc#-i%R$PSs0AgQ2@o`$ow8d(awt!NojI5CG zs8!&S2Iz)x2_j!kaarJ~q{^TI*S+H+QaJp4)M|~7PP3LsdvdsUgPg3wQ*<^akNB`oFuk@aul9!F z$p$Eqy9(dERUPgdd$6kv1h(@58beD%}t`tka_0V!hi!<()=L8)0@57y@1)+H}^Ok(}x|qsi=xu6_z2 z&(awS;yc0b$SJ_nPwH`P(p2zdHs$FV(vRY%y>Dxb0E|xZTXx=O3Et+5Z8p>;^N0l) zQ2q91goZx;<#bwm!|Kh%Z5{Omb=1mX;ckU3C{V@`&mTM%UGi<~YM4hKKq1bK9enw1 zGj7scO2To+Gs;8>wnpzIpC~&YLsQAmfWeH!J1)miLLqW^>XlwNB(yD}*p}BhR4bxa z#qcyhxu+@gZ{9mdiq=9_T{wVhYjf-u3y5EKMM>@yHWcn?zR0fI|2q?H&8JX9` zLf$wpXd`Y9d{DmCB_CaZEeM)dqHRZtMYAv=N?i?qog(sauUd5hEAl+2s@=t;Nkxw5zu@j>J?>hiyVBu4ENY1q1m; zM3LHO?fD6&y#3hkuFepR47 z9Q`C4GT}*OSRhoJr+c{lgAB)k=BY#pJ;r__FiD9S&~7gJL%Z3F1r2U03G($H+Rd6L zuKc|fg5~8jYt$k85otQeSID`x9!=f5EkP)B@nOlgZt|> zs?}(cg1zY99;`z8l9ioZjk8?v;Z}tc3uGq!M%jn2`IPb`T5$04T?z{kNKd-yIPsK` z*Lomkj|JOIrXv+R4_%NYAEmwv91Mx*N2ZO1)T9#ug_#BG+_9*VxLeKrO+oZWF;+k7e>0qFt|GIdOxsFvCaYPP z^!rPC9=DCH(Rzz zx0*v;Bf5l*{`80aW4_JIWZ@pwt>1{&e#VMEu9?XGHhv9S<7%D&yDlz$iu`x@)*cek4jO+-Zj~wv# zoEPopN(z>HN<{qlcr|-1@e?g)y0}%CgQLM8eS1yW^BHa zop*UoDGXl5Sq-R%ntUU(0m7zBDu7301>9PdLk>X_gWtfWm_UFuvQjHb9$*YGVjxxE zgqi)6%1-`JE) z>VlL9hSQIE-DI7wo4xO@mzqKc2-bMGgLQ@TSkOT^(yhlHznOyzZ-Dr2mrii-4lFuR z9;Cy#OKm|VF+J$He)XN~1PXW=303Y{-AUcn`0HAdM{yAgKp6O=vHIU?i~AmqxW~L3 zX>%b#+W7{v=yJ?CdN4HwdSG#5ImO%w7gJVi?BHKbA#h(Xk)ve#xz;o*klDo74Hdue z45)ix=Q-_U>7}|Tjnv?ox9Sqb$>3+!3wgf)B*$R^5C;~W657jIbfJY0*i4?SoD7Q* z$`FOOkc1=N&ai}EQ9ooA-0)7X?%>;%FCo#GV-7kO2E6;<<2EE6M@aV zw#}=_Y?b%Vw13e!B;vdSC1hFGo1s_Tc)bdYk0g*{rz@tIlhXDA~=!lAcCg2^8`sFjK$cj$sB^v+IR{`KyfC>Dj>gflY zsi-*V7m#=Ll5tQV0uu#8KZc8{io(B&!(3T`zHj=?S^C#8FxQOs`U$_A<$vm%jr_e3 zd*`pG;$jd|P6hyaKEOG67@T3Rk7n=d^S;F@UnH1l91>6NkJq@&r_><>V{E-gE2k7m z3kuJmR(lz&wv%c8tLHLfTf+2vR(I>KX%zaFWL-r}Y$cYypMRbyG`;dL50(uOixz=0eihI8GtE0QKj`L-qPs&2c5NZ|cX* z>MilZS3BjHGt}Im>@06)5PyBQ?W6Fl?tiH*pX$!HW~Kp4L6P2Gal}@G?|@@5w6L5h zCmhNFFQtWEpH$wy!u*S=w31YSm01YX*^CWnpp!C4#K>@|03pWeEV(C@pAhJUz%#%R zzY>z+&eDNR1p7mybKyD26RE5QM~)K%$<}ck?~c~(%WD{Y;((#OmcNgWOX_y9JNdLM zcv5mGb#Lt8(R!73ULa*IA#MnjLrh!lo+Wi}r3|uiM>Mz%`leu>3=+HW#u!_6TR~uI zH^%!N!C1KtEzDp9KIabLzhv^^*~qyX-OtQ*Gt}bw5y zzB_x%uO+d2`_xf`TxTnC{4A839y9!^WwCFH1Eq|=jg`j*ny5y;n@G4p?>&ahgD6t~JP>9Mw>xh)8;pAapjB!(d3uA_e_p z@YiJS6tpNezBSD}M7Fc0Ow~=$7Kc4ie2G>$uimx(K2JD(2wg?z5G>`F;Xh?Q<00b_ z16igg-c+oYOzu|pZPZA2cE1(}EGh)AkT}lG{o0LDzc+8u@|E#-daJ}S7cCiF&g`|v zx$#$=KMXAIUW+-cOi4%ZX01>2<2bevdob#H-qr)q@$?Vy&(~RV_8h4*g=f5!{o}#D z&?Omt1r+q1o|wb}6cT9zrAV{{gB+l$&Y(&y5e>Xb=Wb{!<2tev_o9w}xP7@m3bmCa zU`9L8!|WgVfdu3vG+u-3U?Zrb?HJhfUC`JKE4} zY!0uCC9(boU-EmT6z+tx^S{V3b5gExV|~s0Y#3t0W$ABCcDO-vxxW*zz2xItWE__H zrlqJap*+C4cjUmEH=KSkvwqn;Qd^>@-KZx7=X)g$O+1rmOA#@Nen@}8>7bOXfC2i2 zFS2gmp44-2Y;I=*`BzMN{Ki7>-K?)Wb-p{C53Sb`O4o(n zsmr$32Ig~aLb_{J^@GlVM66;MK+vsH|DbU+BhL%!DFa-gRxIW{t)aDl7o z&B$vn-KM-jZ74INsq%28IU6%_#_~QXDv;H~!|P8W z&!KjJdKjZ#yGb_Lw+71O`hb!LtTU^;{k<8$;&HvX`oKZx3>#-#z$aLRcAO$vuX-K5 zAi2(?slOfYC|GsF`V*IO1uN&Q8pD{~(b=)QyPECs+|I?RTi3*-zM;PDE(T~S=17`- zxe+CNJP4*WvI00`{*fIm^+lUNDPg}VkX#BN5Er}W!!c{rcWp$3#n$L%qn2D2z!H0`F< z;{~Q^O~SyX%9Ux(N_uy11OMY-F+$`5PS7r)gapZ1z2@@l^tSbrJBcRj5c@*ACF=f;~kVFB#;w-txpH&`L=Il}XV_CD_mQrSROjR&KK1@s-<~ zfZsF#s?28z3q0h_)Vz)Z3>o$%%{pXO0}dGnB0aCXByHcqmIKCFxdm7L=p6fdC(8@~ z;SFG$RiPMJ%A)QA>DwaL+Mv|$K|=+CNC@yGG_PPQfnX>sV&d0lNi*kvAHzV)Uh*G^ z=ob-y+-DFe(=Z5==snlh96|4g9J-bgJ&Xe=lkkdit-Z%@|SX=P-poofNwFOwYE< z=febL8DIn#j#^#;Cd-a=og((6hI|!%Z2a<4j#3jl6SzvjU7zhUX!2K zMNLJ7q==5R_=wBoRgrL-`|D6D7%33tfYK_M2&$L|PY@6g@US?cB49I61_kp$7Z}cZ zKMm>w=@hBFn~ng!%$Bl$R@H7UJiZvnQJO?)_ESbdAS00PG`UEpgDaqr@8q`y59n}^ z2^0I77(jM|Y=vBr2H=LumVG}srCyQ1EeFzNdNXxra2zvI!N{>ad=no9sWfi+o-g%< z)Tjz9kSOn^Q1jXjR33r*pcb!Fs4d7&;tX=h}?4jAjZ%vFxz|ulHymG3;>|1tme@3dG0n zMjv6kB;WrDQ9XlE;6B%CNvZkjt?TmQOI-+(@Q(wdtn8RiDd9IevmpSi%DtHMKWY-- zO(OCCg_v&hu1^I&jN7umI9)lTDqW~xTnB?QZuN{wP50X{j)o4!gjy$ zn-xbVLg!&3-|y*cU7H80zGnSdOk<`71w;8i-WmKZrp&OhhVws1sm6CkzTomt_Mk9Q zDv#e%nm~RggPSGk=jo%LUhWHnDiar=G~uF@XRoHp00}G-52i9U^@qLE`#o_e8Cks) z{bw!bvUv;QO|MtTl7K7rLQ%ZPGhmK|vKN;7j|)L8<#>NT!)MUq*=Gmdhxje{b;K4! zx^`sTcmhB#T3E_GWRAaRC-{|KGeAnwzwN zGHl3obk3eIwM6V7Ln_!2aAJD{)DlTD1&Yp_P?GGu#D?Ecgb}bL)F9v6MHVDCu%9#* z439+~O$Fc}OaX7@4o#&YKc#AyZV(x)7#VB5$8iSP4K%M^usGv}?HyC|I_C+JaBN9m)`!ck8xYF79+u%x?bVUAB5fH%q=I?!?vUvecj9o3)B_MDV4Czl$IXdzI zlrOgU_r-r!%*KVwdy&x7G}JBs(9p3hQb!A4ce=1TYaD#|AW zXkfGt2_UbKG90#4;hJoChKMZ`tv>7|0D75-KKeF_IXKc&Hjz6E-oml+3!{Zn&m4=b zL$7n?6uXuICCb>9q6ksX&w?GE44p@N(kVK(&)+*+L^4Xh6!DrcNs{n-fZ!T?y`Viq z`0SGWAss8dYoI!^e(yQr!m=j38P6Q$us9XiJ{kW5P#mKk-0nQjoV{CblgEa3kubKXAv_UpJG0+7Qk}?w! zjy=}YnH?kUW@zvKopVK6CPe4WlQroNFvNqO#zhwq=rXKG-mzCD=Qmxa(2**Egn{-$ zM|zb*0X+Sg!`O(7ASK8`x=qEIJnl_C;D8)ro|M#3w-24Be+7UYWic3efgHxNEJ#4z zC=!z3TdYI2OJebgR1RQeQW(l@YfqY;?MyV<4Y>E6yxJulX$qIPjz2f{W>H8gAJV@5 zR7>{gocl+<1`Ivtp?NBhmS$U39ncgOwr>I&At$F0aMvb%ZSv~xGlgi`=>-3MY@UAK z2}OsO%gS_k%Vn)Qxg)jeb9NLbq1>I;tb=gK^g4cIvKGDn+I1ju&H_K$uWo%i%lFuh zHfqmk%~o=tMRvW9sH6GtoWgSwnfN75Af7ataVBcXOc8J6 z5MQu9qq*I!HQp=m7{;n0%tQ8b1MU;D@Ev71iuIgwKwp(c8zCDpq zuxkxK_hd?|0T2&=0ODcPrsYs_5*nhmr7KFQ-}MW^T3O^ldrJQ<{C&{p_IgGAnw^%X ztWgU+V(h(5=8+%;U2OIqz>um1kOpfJd(K&wfI==jCy zgI{bQ<~o->NJ$z;$vIA^#uRg7Bs~fclHa>&0e%`pik&a3&eW@z28XOd~?c4{A-aK9({M{B? z7_nb#2qYm#rXf|?R&j=(h*I*;0jEKMppBj!xe#4);En|?DY=Fc0^K#PlWWlP&mODW z%S#eyrf#y?=}dNi*8)b2(-kmY$Wgee4%dE2>1RJS(X0l*o{(R&wT<5DB^sG19y?KP zOO=oiYr3&~copM$`__96cW!?@;ry}SdB%~La5>nLW4=c*JgLIpYE8dK591P*%^@f) zGOZ2v0|4_baS5_GQua@s|09p$PvOid!;8(g1W9}_#lZ^QKURvF439A_@5a%l$bK$o zmqo1od1(}I&)aBZ{?8c__r=sxg zQ1XV7BHec54aU0CM<1%Mw^VDH%oE(PgHUREJ<^BU`hHDL<9`a&W)=#SvkNL;0O{y8 zVQ7a$wKuPvFulKgOQ++3OS$K{QZ(^O;~Vo;;ciyXWx;_D^h(gU6wvy^+J&()ZDhw` zM^niw=_t6OthhZS)Tj?45l!~Tu|id@*)icnndfdMpxlV+D56$jvQ}+me-;`Ll1~Uu zNv}N5)N<`As+E}#?45zU4dN36X-P*bMj|A%W$&>74Uape_3P|D@SROi>L(p))wy9|b6s#eiDsuO-sC!$( zt_j(J!|+0iN<}!vKBd_^oCOhNnI|}@>pTzD6m%2{du8?!Ln1wNq>3~2YS(eTdGHd(^y_-uAN6`( z@kS5a*{9Dl4m1M&m!-d(n6qJ=uG}O3Pjr6!-*Dpi$52Mn_4-}>$;n1e^ce)D7SUKp zC8)puf26%QsQ0M|L+m7_KE6@SK!;5sSTWl~HQ`m@;z4MmWO|ATh^eVe?Q}%VzQ`dL zC#9!&qk8~i4fh3H#B-)D?X7s;%>-wX<`PF7Gt$FP71n zZzyR+t-gtDqU3p`V##^?QGj;j6C=2V<;`tWN~G=G^4(uHx=_)6{Stg(_wO9sWKl7$tzV2edI5(tzSOJSJc&D@rqVDzoEt zWOtH2*Gv%i({>fySa>ON&qCs;Te`a~xM=$bfj#P}zSZMucrxQ~`-oH0i@xSHJ2MFz z@hO?5TI zLaT6;uryo zlpFUByYHVP&$li3c>j>I`D5hrZ)VGes7l)q$ArJd7z_ zar{1Qo-+@Jy-{-Cv#b%;XcY;9b7$KMc5ocGT2X#?AcEh9c@*h_Y~Rlld%b*b+;?Ie z!;}^H(pX{ufEnyKA3+Ie$S*J7aeaF1OJ|V&R)PhNbT%%Wb9>Rn^+CYUuR0W3ML@t! z|5F6)Kk~*HEk3beXqA#R+YogmiH%q0DG4`o@e6xb@}$PeZ_OOG=)87NjSHyY2AYfJ?qO*>r9 zhirkzXy3CxH|9I8h&5;Xj-|^>o>%`eE9&!;(n&QpqA%~qE1Cg?g)!4n4FLVw-{*N1 z1Ed*G6UzMSc%p=>lj0L?e-L94G2_-KRClD{9sf9RXY8%e*3vS%yFLSOEeQ!z*|d+M zV~pd*e;`)>s(z(EiH+`tMPmiK+W1Sc`h>}o-I(`%;zIWdZ;UOv)KG@k=a(BlfHqBU zT1F2R0YM3h+koA#eEC%WsHl%+r4e~8`2TZ$pKPvF; zse^f+ia->wQ@}el6%}o1{2sP|PUYp*6@R1u<2PRps1E`BKA_<*i3P0bKgFm{jN=wK z4}^-p!l<7-n-+9_lE-cn={?{)uz`Cy^Wfc6=YR&;!xSW_4HFgB8F+3rR>DCU0w~F4 zV`5-D;pOH1O=tP?Pxay93HpBiN(;wJvqEY~wUhXU2MCR_@_2O7*QlDC9j%7- z?+dR@VxHgk^!{FtKZf}M%4Pt66|l}n8y@46L;pXRr>wmhY7}phUj!OZI&j@LU}8Hn z^p>3sR(iVeOdWI_r(#zeDM%#pB9Ku@74Ki~T7Rm3ETZyXd7=O?nmhQlF%CG}x^w?f zhk#%aZ@h6*q7Lg!snwfD+fn4MY<$%HQfP?ZGGtEa!%kW2J_R@MQh_`DhYs9-Cls=* zUGccN5=(}`eGE;_61qfmp2y*S{Y(tj^49y^zPvj`7683 z4kKzQO$krxTuDA_yKQj&h3#*8-Pr2%3lAuKky6lne5@{cS~zeK3GmM9?N?x1)w9`< zevjf=^ZTsQjD+EgyPq%#S!&j2a%g*CGTwVFn^=q1%D505w_9g8_vO^O>q}{Ih1aJ0 zo`A#48yoVr0VL#buOAfs%#XDd+`gYW*|=?kEv+ny z=NX^W9x2v^Z3ZyW&b#Qth1J3_m5GSd6e<$xpQQ!~dH7dMV%bJlPmjkgKZ7Tf@ZY7- zscVRo!v@>x=x*MvIjz+`)^OVp%iZT+m^W~`Vqr+-7I`eMaxFY?5tZ5A{wIswlfG|e z2Q*4?Npji4!DY1@<;Ci5xaaG4nRj86*nIoqi%ytd5HSYM#T21WEFM}H7YTV6o`8Tr zg|nPrKqJF#|8Ac}$X|K%fWGd1cNoB>)gdH&e0^zsNkL*_K#$bq9|{8}wb41KB1S*x zrwJ4N0|eRIerD<$4V6UTwESZDq8-w~&h{*3r)sUHb^kIMsql>!9Z`-bDKj;u(h)jF zahZ(QG0*YrV}+BGEUi*3sSh7QBR+h;L&5ngkDpmUfQY)k|DP*BI3IyQorRt;oKpoi?|V%#cme|o~0SUHTkTQ0upkG`CLeY1;v zg^`PLyPwh-WQ5<*}#itUd1Fkce$JE4&>wDY8Rr z_}tCL>W>b6+bv&Q=jogSGQvu4-w_1Sxjo+*Kaor073!fS7yN{UPK-RFNOkEwHqOV! z{CN8UoP9IvIMR_RA%AQP*B2{qQ7X*VY__zHOl}W-iYspwJam-NJ*f08zf^7JDo5I( zR}0TBu-8|;f6`NH6N-+4)iDkm5&r16%R4M`SvPuZ3~56N8tpxe^xUCfJ~- ztDkAR8JWILe(*IcZKIx2ak&`LD2~Sv zu7{;grsbfDNvH5PGnR%-_W6PFA#`3l3%A0o z9)4RcO{|}Pid2TsPR)VP-oHO85FNegS+aBOgQL+b&|-5#-$KNRB6!Pz-x_}RQpKCd z|0tlPy|3lh=%&w7)(K~8rpg0-;@58k8v-r$c6T^*>gXMn%%#l68#<0!&iK#e13LyJ zdM?qW1l}U^GsDy+ICab?sf@Z0F{92d`$8gDLKUMZsTyK82OrJJ`L~A$sQCW-&u+2~9c!){uLp_ zXE$mk&fL(TSOC~!nnPa^bPkb>$hnhVAO~ub?3{}eB=VpJ>~i+DS$7`oB0A8yNco9{ z^8Ty^AEyMV>CXKOd8PLK{;M9-ojajBV`W>*oF8&?df>E%#Ju`yYweB8(9N~XY0(Wx zJX|{fH=)yZ`3uUtjitn4L!m~!EogD~>&vBYE#YLGuowYIl5Za_-rT*gy`f@Y+z+z~ zNH**~HhvgcbbBJMmTSc&sq`kgz?Z7Kie>>Zv3%G=*no;+{i8+n$AHQOpY&RC-Fa)rPKE`>$Y&c z=OZ+CRhz5b420=#ig6u-p+!9JHo2(j*(~=CiwQ%AXuh!Jd)fESVyKyIHCZtygsand zm}JPcoJjoQ7Ile!I*2%G-N424i83H@OMo8o0Ft?r9c=h^R=gBQ2ta_YNO|Uq6M6bWVQl?d{ z-qw#v7?nC#!}KFZU&H&Rgjj+PzVu|3Hius|*qZ5s8E5_5Z|p0&>qq*zQQhQ&MCRnT z)Jo}FcB`MPqIW}7USmLydY^2F?_gu@)*|$pG=F&Jwcnj1MfTkV@|r-ttDSa|kh;h7 zOT_2!%-U;%E^XF|HjTOc6HP9Md(^7ogP#6?VrIxF->Hv>Ks+7a(~(P5QQYi%w-3or zg7|_kgkQXT>V{P&oc3>r26b5RQ@2HA`)t1#>aWwaA|tX9vusx5w{F@EZtH(yV1>Y0 z_rF2pwb7#%!#i#^=tDNAc@O5f@+v>((wtu;&Ft{wGZFDyB?A35U*iME zo*G68$eul=>}hzL{77o(VG45ovsh;LE@j8_=1xreccfo@E}rIn z`HJ1yLi}OT0>~}`)Ge{>RYpiXFZfa}x4r0YDg|5YrUTJrzA}4kTe>p-@|CMb%6zy~ zbM?vM#3Bk6R{f0N)>9B3y+}v3MjeQeRiM~cZTs^0FXA}BubMh)eJ8=u#yC+WuhB0{ z2!rML@r{(DI7fFw%(j?rxZeLl50H4rkTvcnJ9uDn+ka(A!il+AZ4@1!7M!>Sh+GPW z>=i6U+j`Q(pA-8=75M}Xmp=qD7e^Y3JY6aXnOB)E7yBg(xsL*Fjhw4*OQ_|h-cb#&;r zbWEW|Zq-wOY57%R65ZHKWx|l2x;-Tgq@sCoOs5mX_gE$C_t}J{{_?n)w8F%g;&@C1 zW0M8xo^`SF6HMvRHYM>&;l)knF1*B$tyIq<1_|BS1?&B5N;JvyH}cTu!-%OtMY~qll8h#fXmg5FE5xuv-wAGdm?Wrx@ zmrfy-bTml4Dsa(mX{00i%cEb&8|OIR54Rl{;YGqdns!vn%T8sfy>cmig0!IYdEvW z^~zj#6Z4)Tk2Cxx3Hj#FgWaYNihU}`q@qfh(IzVZ#QfjZqpH3rdNblRB?9t18o?#j zoOr9>MVbe)TG5nnwL-}1I5}ye^J^r^4u_%I2eUEUwUoI~(ewtcHFx-vi+2Xq9t8fY z^D*FB@SKE8SDjPQ%AmU>f_L<@JQ9Q&{wUqnjuStuV9*2%SJRNek=*vL|9 z#P(dX-4kx)K)dwz=uJtk8mmZ#xZ>5+c>R@bOnID&6#}#rDPei>SN2&cF%Iu3(1!4W zV9HTNi)WX9&V8S&WS~LV@2UD(|D_p~Pg7tT`1|-o9yoD)WhNGgN*TN`q9=4 zjNAHs46MK>63_imH}q^+F5RjB*ez6l-!0^7Vcq`o^E!{$WuQ1dopsb-ARt;9s}%4* zlE+oPT*PfY&pkP!+UJ!BM~hc2w&rUo1@^d!_z~rLL-q3@*QcJtiNV{f`34*Q4H{K< z$dexL+t}%zeK#}glNNwYk65iJ97#@`zasOTxYMrLWhI0Qmh0{6?`e4M(|($c2pMy^ zW2za^aQxN$BAbG^>wT2uB^i<(@|!f^5P}Q&Ql4#*8}fZWDC)?$)$a1PHwlNs4lz$5 zHFO)&+J1_eZZJLd_2|kZcC_V$LRNblZmNqe5O+{|b(R6ATwNSF+7?Hk$po^9u6wwi zOn=y(Oq|i3te-WAe!}EYhmJ=1gcSD;T3u{w|6_BJ$?{xEfJXZsjw+_0pv6D-&&@Pf zNm}k&T7KywlGI^9ao^@O_6S^q*&BDZF<~9s{XV+-+ga>YkFQ}aL>B%J_xYGca`|#M65h(T z1l~$za8JXt&sjxH`6HGT#^Vdl(mhJ=0L@Yh10$WzkQA2gVC>tQekZG zgX+G@UgL4DS;OMV(ON3dUHz+PIYKCz$t?`M`BOE<$T)Y8+p3R>mv5ik;Vc^>n!eY^ zkqC!HX3uuM);L4n=JOsBU}_fv3LtVj%Edj#mvq6|7EL-*XlptL;-~%UyGXw%z66t= zt#aUOdcraCV8L+U#M+~2i_EIro-XtUheRcHyZo1VWUqC%}ELgQ~{B55M z9E(T{;qC|D?50YWv-0VBSLU~P48sS~5_F5MIK>y&tEO)VjH*wf`+=twTlI1H>Femz zbxquJlo~m0o>Dz&o8)#c-5GJ|bf&i_fcIo%+A34NaY9BSc{gD>{<(*BF&( zy&T-j`S*f9$1i-kF5Q|cZ**wn@f9eO=DL=eAIBQxN`FLe|8lQ(wZJEGt<0-QN2a$- zPdfWVkkAra`Kqd`Y>$3+3wq~V_Ljacz#%$OzlT%H;d-K;d(fFiANB67!j zvmV;qE=vw5h8DNr(%0y^@Fh%+ek8w`q_K#v9mIQ2U!8|ibhcY4oCahEEdTK0|Mfna zNJkQJTs>TuL#wN=1_OwdeaMs|CEo6uvDGPyinJ>NQC zw>`yM4Lwl5fy7D>yka?tHY4z=<~V*AQT0}{x+UCTfEV{IMmn0?%Ga`QTjDwjJD5TAC}hOD%{>4ZC6>?9VKD7HBU~ zGk?F$ZMQ0elTR0)Zg6-n$-qmy8>LVCbGF0kFzKhPgtHbbcsPh`?0~@NRV+qAQiy8U z(VlT<65mC$A%i{Z^B6qB@aZ?ifjH&KAi6O4P^H`4BO_oE2F|qBcMcV^0h@Q`+%15w<>4N&JyEE zN1 zNfk7~e_Zxo7h63H$iQavIPi~$zI_vW`xfg{>?hmFC1MG5!VWui^~+SApwVcIuHNn> zVx8mqlb)l!94cd_!CA<&DlE;|61hn#i#YbdS>tEb@oqYgAI$pbnVVL$Nq-PICqDO# zX5YXN+qymhbzez|<-5(bSCmt(K1S50%|Ej$_XQ`@k|8AvuEcSv{bwemkMI}?r6ibh=f`SExZH-q zfhNfVN*VcH6AIq4a3Gx0>2p=g-ggbIRR*i~i&#~OB0 zVxL8oO)YeYtu|y{QPQ{oJm!eqGii2 z?`JPLBu8CK<`t*Rrf9~gdnzgqWkfA(^$)34c4Edm) zo}AG+rI@2i{iXb@*y6&yv88(t^ELzxHZY+C+`Zw`)>2gnW(cZ!g0}}CF@0?eq-(?B z4)!HxE(r1smTSh4d-N*y7Kz~mUTpg*0X0Hw@qT8(+Gt#xK!7rn>TL;hlXl+ zcqrr2)ScA4Wg6tj>meZ_Ql_tSa&pv%B!2yvt{T1k^K0T>eG`W_BC^$8+qz zOI0ZZoVD!7E6=OI7V6ceceKzPzIAnV;Ek@XF4@B~U%~^RHd|3pb;PQGk&)5qbLT9n zdA9N0=UxzZ59{kMFHF{PW5XwXK!hSS$LGC|evMKA4w;czF`u3m(gJYZq0e8zrc5yq zA|`xL5Rj+!rk^pPe^;*L!y|A+%%#9fWx%BJ&sKLU?>vqX(_@%fHT;xg28L|e8&<2C zpQT5y7Q}oI7RDHNxaSkN20K`AEocrFYr%T2AjCqDXaIU_%3M{e2yTkmhN# zE7-k26#%-atgLL_mw7!w+Uk_xorD*K7FhGoZ*C^Y*)c!L(Kn;M46wbs9bYY^BUB4f zcO_VcOK^t^BgNJ{ZX-oj&QPdKRrrMcIAoiRQw_-qo$YEs(X%_ZzCVeAI<@A#{Utlm z@*b%E%um4E&S>ZSRg{E2Xp<2cJu56^{dFy$liX>e-Mg0e^1aCi&go=UaQp3foYX_IUaNz_mFYn6QT62a*(80pQ z_Lx)MzOc{4CkOUV_9N!7b)wXQ;J29>D@RV8BW8%-wvAk_iqO|j7%_`6ETkB0=Qk}Q z9AM1rWO75_Ypw2eNu)=`6I&Pm`Ke0q#~C|Wp97@*Xh}P0rbun8`qykt>jKoXK)U{S z%OSQUnF#|m^^wIS(-$?~KbU!hH+ao-OMUmmM_5u2rvKBE%_|BrMm8Q_X(1_bjTU2) z3;3cVlrj&CQ7*a^9m7Z?dtmSp>SOqW*3RUiTfJ+8IVpLGM1_(=ra&E%rA?`~l2#`h`;Dc$+qHC9> zi&C#}t8yFLumis*>c<$qs;aC^8f)3z-cB3>bP;=roMK>F?OV5`Bg|GP)(tsFEwn*j zR!hIu*v!S{N35&;ezhO}^E&`4)cX_7zkdY}j-{ObWOgJaNIhgi%r4Vl#7 z@!BKHYOapRiVk|qCoaPX1}V>r9nk&9+h`^9bMln(`c16gmC+`x0q& z+cloWNeSI%SS^ZgWnlSY2b}G4L@<6k58CdxHaWB&9cqkh>%(GiF9!a-1XBF@fvet)w`~23r9=f?S?(FWaP-WxlxssD3Ds#CVod)vs@bpX`S0!~P z+n}x@>~o~Jxjb`~Z%LQ5MGEG#1Az|4U|jkv7Lf~@Hi;>@%Rjj(BqWsVJLXTrm}EFh zaXUp%zd!w3ygU6h?Ps$CWUv^8!XJIywf4&ZXfL+G+w;=xiTm<=IVG`SYmKC>zjQvr zf{X|@&(gUqzbYNJF0jihEY8}%baRDH0du=U1IB>8BMk}t0%zecRi_i#-DuoGbM{RZ zSa|P7T*H#td)?nM%BKWhgJ^_tC;&M?$Ep6{?X=XlYz*t_%w43CrJBb<$PT1uY)(SGpwznC+v?2Uqe~)tk#(<2n0s^-Mv@rCh~EUkm5$xvqvG5(#}VG6mO` z{U;~3^_8qIqTIiQc<;Bq?p&eYni=vMo}Yi2uE?SYhMM$k-nPK)hbu*B<=2Wx+0~FI z1l7*lgzv^$PAH({_{|Cd9>Ny&LXzy6;xIXSnT0r?@Ntif>4L{|ik&B-VW}-4rzetq zTpS-=TIJKN|5|(otH8QxW9c(JERNa-1zF4`#3s}YG45uHDMqhqT~wH~^Qx%<_7^s8 zDM?xT)<3&3iAQ;LC&^jI>%eBifT7_)b_N%fIJV$6F-TEq=`)Uwj@I?jBr+1+M20Vv zzTnj{iAYsalGk`&cd%m@0(4T5okK*B-PF_-$^@nKWpMD;|8hf3cy(<8lo%QtqO|+6 z{t&}IsNirc%=Wtvi%54JkcY2#CT@9~UK~7b)u^CG_xQ0=8?OC&-UUYHY2?nXK68_i zzH3udwA=AM-_U}CD&5|?)>QZaj-eE^xN4X!ykN4=CAYI&zsZhdI+u)I5bz^pL-ejWcbHNRLIdc#|#EU z0!KGs@11SvA$?0U$RdH`4fR08A()e zwjbY2z*h>ZNe!+Am<8_HK#q-k zAh(gB0aiUn6d9aC6p{wy(PB3G{VO-W_%p#Y!LZse{*QZ!!uU{gXBhR zEIgLE*mmSXndxMun+Vd&s~eXZ*Z{3?+f}m=UnpqL9cScL3yX|AO;Mtj6t434eA~zR zNsP%(^?C0e5_rYZIcBW&hs#`NyaW~~0lKi1G@JF$Sn(DQP$`c0(CCzMj|X~PX}%{O zZLz=onL>en+uqJkoAhfXB#pF0Zvv(iwbr0f*In3eJ?U51fB)I*0FxLKqHnAu(5L;8 zW?>&>4L<-Axf<%l?m08u(Qwo}_IbaI$K~*}J;w+eCnnEdd1momF;p8 z&9NIO>{f(23VU-7PJrGqbFALE{^kOps4$_06mj4vG>sXacF2izh9p)y^T<-81Gxh+ z;Wk%PB2c8|P669QY81aF%ns{2Cn+_G<|Lo2FhIR-oLb|QpVF#M8M zDz2`{aP(Og7J!bwyl}kZGJjJjB+ge8=hWbL!r9qbQbpgj(+jpqL>OrS!-JL7!lk{r zo3YqrXaPzXaR}!inWa)Sy%GxBZOgA_M5gpmAbAnIoeK;00s;aF(|{FF@+4Hdp`l@g zLh%m@3aa431=$gd;5B>tRH;V%LoHAQq-T0Ng=S_Guw#}@BMmNWH(~IP(u^U99)vEu z4k0>p>G$S<;b%(^+}EuNKKiA~7bYeqgZ*-v$7wfH!e*!@G>5+bv65r_^h-h2`LdV~ z0b|RRj00Rbp`&i5P5kSgQ*{#B^;2NaLM7>w6L_654xxTYR_0Eot)B9^uMgG8p|#+Eg=ZIoZ%ilE=J ztX25riRBZLV?K$E`-)$M>3`WhS>kAPK2~HrJV^qkwSO?yXIDW7!;FRl#xe!o`ktV2 z0MucQVs;X^4iK@x`;vsW*uFv?ImqJ=$3C*!U2=lo{&|cl&Z3ug^Y-wDx0>>h=ZF9J z5VDK03u2+ky_|1lqF)6Q{`zUH3J|7&7^I!yYjgKRjmmrR@5ToP20(D>J8hTE%_M`{ zd-*j`AdZ8LF{gJRRcY4t0s)OskdJiC-1M{s^$qvs2?vyH#o|up_0R*nYYItfugwKq zWSQ{lXfLM$Z0xrI~X*_O1T#P@Kf ze88a3uw$z4rTg@!sza*XU3NlWt8T`2zjj~sO$}L}uUBN@>1@v)ibq^3n+#9talbyU zX4ngzh3$Q^;k}v?WMRD=2M2^WRni4zA`zdh7VphqXzmp^JbLn1A^7^zct}j7KxR%38v3`*;=ls&gA2{#DGbgMN{NYRL1I~uA zG~^XSe{zR_LfG(3cvAx|n9-OTd-Wg%^RvQt;yFPD7s4m3tpTv;5)MZqeI&i|Rdu21cRumWx7n9+#YH@DwuNtgf9KnsJbI zI!GZHqEdVFhGh3j8aUY-MHLehf=W{SOqSYHBB?}7+ zTVroi)6w}8Zc;mb;^;w$(R+jm4lU0NSa-es;9hlSArQX(D?3lrJ*U^#97B4oM+>1 z`@Him45oViw{}`Q=qG3bG?9q2z@^1Mpke&i^Q!<>f5rOy)8pKer-n?ko_vdBVEz12 zeBz@;5cLM^qA3cfxlx;62Tw&18n9~h6mEv=5mF+Af+0pvTualqmke%^E6k1GL@O(6 zeyYLsyo+Ay?8W|Sb}l=0ke8-TgC9bs@X2Udg8C zuv|;tdb3US9%^@f_>d$PgLrz(guNDgo57P$U`fDe2;@J_vM#l?%?AHIq5K{`)Neaz zCaPxYMP00lYn0hpIRqgpuX)rj4};)h%P-Q@y-xMuA0OR(RL*jK8Nn6HJs+&6>=l~v zfJ4&d0NG_!aD*;S6nhN2uU|09ZMd-~>@sC*! zu(zeqZP~Rf>|MJC3Bt+!Tdp!}Q#nA6x|?rDfae1xOvFat3O} zk(%iFDGo(F>U$%l(HT0pL@3EkQC+PE8ZTk$2)jO0z98OVXIK^N%I>a)D@2F^6Iss3 z7?2vKg#0lJ_u0;!TeGdaf?8l;4L(AuaOT)!(^NHP zaNxQaS|t*9eMH*o?z=Uyi^d;09EIJu7Zxy=Ynb=@M$FXTRcHYs6{VFFvY@pa;+(`l z*`ZhVs*sxRxKL=X^{QD8R3)gZMA1@{<1#9ZYNKl|%v)lx>Fms<>DnZ*drR#ETXM^_ zE(4{bS}7>AJIg~WmEhHqAg>P|?~Q824Av8am}p*4v07ib{8Eava8BQxvEhs&i%xNs z`BW!;FLAKr{T~#$7|*XXC3AJ>WEeSKXuUZr-~BBd?C_C5(OSGWd9Xa~016H8c{v6g z!lh017iZ^po1PAzof}_Odzfv+@OH`mh2eL%CRL~I>uHD}XGvwS88h8|@rpX(qdK%> zl1Fe&X|lN7rx-iEUpk!mY8UxSClkrFZL|jdyn zP~$0%KUU-%ONK5H+gEt2)QiRhHG&qx+K=$7JT(#K;OFCO1X)Wv17Xr1z2MjGETD47 zpv=G~>lU@rNNzL`B6&u5qf;+~9RaP$hG*!?d4MD0jPysLkgik?X$Y^LV*HFrR$w-E$ojiOmnxH#DljpAv^-d8YH60Pc z&Ojj;PKAna<)Owx)+Nix7`rJCxR+Xw!izYnTIr;NWexyys z%Yy8I<1lUIbOH@kpI2K?g1ptScj4b6o;Ins4somd$8*=xly>}~84H}S9ar8SL%YU_ z+7k=xUV#ysIZcp!MUGnqJdpkbsH3u|uv$U0eN*9ph7{qoAUt35x@_La@tOJO&HbF- zt!?4+1>0-#UHfm@HRWp9xd-w>f|mDp;o>KwXgjwid3(mQV1%j9;=>zmV$VG@PA%m< zWQ*mpMH@JwTPc$&77K$%wgfDB8p_iWQ!UeoagKx$A+{5&zxJeT#3rK3LCR*g8~`U8aNe~^3T=MSkXp}CChwi z!^MCuO5X*BHDS$dw5e~5ghXGtOD&w6DunQYO(Lpv9piC!tI8mCY2?%Kj?{)*)Up*O=yqp8jr3~j2#cv$-v=m2 zMW9L@sT_2_h$2+>fCODwYsaMyBAn?V=&>dl%MQ1K+ZWTOr>m)ly2Oa!6{6SdX0c`4zuzzf`vGK~TVufOkFXPPck<7x zXhVnwhFQZgFg2v>i@pGghG(_wNlj$R@Jv3|e|-YcCk)^hn~>_tu&4hrN?nmFV*!0V#)^ zt9#v0IvCD_Ft<6R8pw@wD+uus}C?aFfR8< z)mU~$*EnOkL8{i>G7~DExEMG)rXu--Y z6<0swq5>P71CI`q;RnmoY?30ig@L!ct5jCr{p=kbL~>4Yh%KTg|;+@N4}*Nb&us z_%rB*EuQ8UEbm1%c7ibCM)y|=$V-rIS)%bY5`GdE4nG@h@*%j4OFZaOS*)M&qIH3t z630NTe&B=#O%r0lZu=_6>WLoNad>>6dw6n^HbUO}RClt%VOCF#->lR6b&3w9cRoH) zzs`XgpNcZOx*TWQ9hv3jHEb$BrQf^vk(HADv@2iypnpLdsffHtEyfw-xH#GD=|16W zldX!{OgnoeigQc^>AG^@qFu#6 zMn%OJnj%0~q(SXR1gSD0K~M{YyRZi0`d014sr)9yN+l%jXy-PClnmgd-z+ajH}oaS z*d+NrI_Szv=4kSeP^3XY5FDiXdGf&u5@iC`nNgjhq-4oeKMll^CyG5UMp&fBn%$p} znXmck0jICkN#U;Yon7|$x1fcCI`L^?0{4BgzZ7b2tCL?=pm{Iw>oO^*UrlXgeYNpJ zw9s2o*Ts|7H8BzPfQ$6)1 z>D|_o@4h##2_ABttNsF{D0fxbDr%>Uj(IBbqcl@Vmz@Q_<-VeI{Q?|V1h)OP!1Nqn ze{tlquy%CD3FCQ91aNLZf~%?mD#p?e+m@n12GU2`v54HxK$>oZrFGKLYbfaoH%0#_ z;O5pEE;X1C?H2kRR!e05j-N;&+`-t<+qi;IG9w?N30m{a-$22uqYxCYCZ-c8kX3?` ze8?T|b-9}IL4ML*?JGoJNUl6-u|s;aW)r-NG=#WABME*tv}SDlMJ$U6~%N$Uew60e&oHS42Q!L zjMbEMVR|!OW(hHy4SSojG3O|3pf9dt2uI_dQjy;oXJ369)H@&jNLl@}8kjvvfWJcr z-jftl9^JeCb&=qEHZM={D>1;|bF=a3rsKk7#e;vtcj#mjfBz};>JQ>sre!)nYG%#` zEc9qZ9s5t$IUJF9d>nC*%qO+&OpV7`C7DTOlWRShO5SmAcpVYr^Sspt_vX_U#iL%?1-&8 zzd>)JS(8^x9>ibnQaKkocg``C)2iBM2PlT94s@I+w>Ir!J`S9N<$D8;9_~}SZWD^^ zu`y0wk6U+&q7qX>17vh)Yd%5`r8`;qRfJfSD(c+tbai%LaYU07T$a7nQKpBL5f#kS zlTXDf)UOkM;0Ua3&iwxIc&-$~xA{gDpFzyh1#O%0AePx6(p_o>un9442AHm~160IE z`252`n$ipHOR+$xNfyFdZEA}c(P5`xWRQq-eZ{kZOEPn9yWR6EJ0N-K8_yPHI~ags z<}@yPTJp<}QtHVKX;INGBs!v)Ux+HsNT?}pA*X$4_!Oy832F#K$$&GB09P`wxK(%7 zXEYV66$A~evMp#<{^%hOfT`xc-o-T^Uj2!90Yp1#RxIO}EwhJ6BYfJp3cwX>1)G{~ zu~TntCvu+KR^^T^djErk(rvIeE%ggw$?4kggI{o1DI&P^;C5H?9_Q#raxf#cPE%xB zmf2`YU5ezM-QMt`)ta3#oy3=1zguOot+|Z*EE~(=*IzHg%$vUmuNaI_We0t#*V2BL z`K;n)dCjA<_|I>s*t{iAj|c7Tm63CBDOE>A+&LN;CeOi-@9>Wv9oM(|hhJmzO%);mI9(w&Px`nh~jMLp#>EmXcT%Nrxbb!No0lA^GsyRVbyx zcHLT$>tu5S&+9zDV^K`cPy1?d6e8C7rV%tvfhdteWQ`2WGq6EKijnCXqOD_pSG97& zq%$&0F1-!+3b;_q21{D9zA}s}rg|s0uuUor->d_1N(;23<3Zw%W1qS~9IFsD9FI`d zL+P+~myyI*SjpiwiV|8*pu?dDY;8Goiwo;8oog(gi**sD<{xp0y>eHrhs25`?&TUo zD&(r=1llW{4>*E&?>lL>#MsQ7bLTd*dlR+V?2s;IBYB}(k89kHa&0ymz z6dDmF7EDhmv<76mst=Qz83sXDyfArQ*W6 zD6*LNH$0{`K`@Za>8k#Qx4|kxUSSexKF8M`g~Pwk zWT)H58oWm?`#2vqtslr^2Hy45ghikfpR~o@$Z=i|T5dlyZIe-GV0mm4H;v!$P8i%j zQH^xJ0C`v``*FepDCP6RimdE1AAZ<@6SpPEeXG z;3?IobaFRkleZngx1qdtd3i%DoRlVu99ZG6?zcLI%2h+jkwl$!+cXStlgoYU8wP=p zlTE%LK53qIXFh-bm{dOSHA|M;C=mD)aaSAm)^a5>|O_8rJ91oV5Oe7NAg#h zNDtotXIk<^Sx8;%0Fo6P82B<;{jRj>Le(DzhvrW{k})Y*sq}WSUNEy&TmKGAF6){l z!2RIP&3J%r!KEz-bW{{*yjxd7T~soK)e{jQ59#zoA91`q#`g|alibQgL6wkyEM$mn zqNEYwjKhCUO;raoj2GKPRG8$&67HyB*QKV~l~!tTNav1^r)0ITO-5<2kV?WtZnt)J=6+v;#8j^3M&lPkwh zaAxstZkS8z{j!EUd{aU8)+sJe=f86X*xPi-F>G%c?M zwe!Lf#K@Y(qpg$~kR6*^$c}`Uzj$$qq)P9xc>QTED^u5qyy79isDw4aaw;-I2lm;L z<(8v1ZW;XC@<^1iQiYs~Mj+lG^@=8J*{Bv-0i+3=_n${Oqcd(&Us0l_3I&BrUwq0L zWOm&oB16m30cQahL$QGuEa5-~3~tv+0U^WUNv_pXoacn>a(q7?m2N!+x9`$7&{QoEA~s%%F4FAjP8J>KldMk;I8wk zZURgSr{;A&-Kjis4__R{fuxcSC^icCxl$OG2v|2q^gd6A-BT z1-yk#(5d+2^to}ureL7#xsqCj`kKq_-6AosS}^~RWAEzKNG|tNOkDGXoq0xm`8BaM zkGDrL?~Q7E$$5`~k;l|=4;ckg9*5^zs7&olE=wHu-_*dg>Y@Z62NBd*C0*<<06{#Zdr#rnmQ*fGElJl=#kSSE#UOm>}oV z2K}t2$ffM@;{?3{fa&*^r=!LdMpR#M3W517hog<9MrvNI+H~l|fE=XXw-vl8-4!h3 zv|;Vr)5uKcp(t^6P6<>w0|hmCixo>^1xlgF_Q(tVuQ>cklo~~B5x_*5A_6SzZn3cn zPL-ZQ7`0W_J=DVrH>IX1Iu>zR{}hl$(Y%mGW(qf{J#r>V&aNx{t(*2>{-B&xN{8dy zg+$~ z56yZdDM8;U=}s`#igWnqtB{)Ppvb(4d7?*!qe7BKMsCJz2=WKG8_9J-c16-j)wU>GZ z!xcD0tzw=BJ#uWsw^vbO3=+@VGYwqr`F8WGm^-I>_P)bwz~39O;~&^aDx>jX=QGHP zjwxqbri;Vnuw1AM&Ri)Z7v-m|RESI(yGyWy6PC8k29k^@7k3FpL`J)P}&6V`7RN$$ASK znC2apl&{m%-HUBtX-n29;|oGMDZwt&t%<8P)MDT;;vf+ykdSSN$7ZCPuy)HA(Ppg` zP?Gs7u{}Z3>{u(B(+*9VntE~Jc3c7$jzA;=*D5Prj7?b_p+|30Uj(#m%5EQp>(pI| z!C*hja$wR20w{l!wA6ZdKFAfcr(f`o1U;1|wv&XklPqz8(=KRGS`oWY1gRY9)9si9 zvM%BmZi-#_-tNMBxzyZPq6#UE?66z4!Hw-CJsxVPfA4l1X5zlH_RV^@zp{I`$f~oe zLUOD9$t6-Z1tBp!5Ho&1*J1@(tC_-HPH_Jb^KRPd5(wWqK5 zh&aB5-K*uK9J*I~Q`NO3TsJIelRLWGb8Q-5aT~{}$VR0l))e^|r|$&}eQyWfkj#rt zJWP6*qIFFA71e3Dvs{V|eM8Z`8cC0ImsGXM^da~DKD(|*cOEYvwK=qH))&1YhwGH< z(Uu2k8u*Do%0wGcPBi8o`O9Rl{BNvVi`1f{Ur!DN$R20M3R1R=UQaxrG7E7*)lsB# z(xlle!b*`g!$Omz9_#G3Mo=aXG1r!y{e~5gTpsi-X_m6^Mi^w!`@j= zMH>TiK9k?NWxJrR0vv_QUrzalfL<2a2~{~tL)y{NF&R2&>}md{mkW9Ay#i$>b!+>g zSfYoL5P%rDZG!FI?P11cz!)N8VYdCQK)zinzlxE8imO4Hn~iPs6&axt?;0nmoRlHiz{~aWP^k72IWK5a5hh*1W;gakLll!+fzJTb27!-+L+SwvB%}OxB zt`LK4@yv#_hN%A{m-zu9&06zGh%k+OU<#(Ezns2#bISu>-x-y%*_oaO%i?$C{CT>bNr7)l`J0qFR?@LEvyxS{GYFAe2echjkUbT1-m6RGPI;~t6 zBtz*$Sn?{2DGJJ;EA*Y9C9g~36!NAKXSmdk0@PUF7X{av*@nz+$YOiVF`ZLJY_3IL zqga{3oSh_&!?)_O{6|bC2(;)M*N~4GK8IO!c0p z)W1Sct8v5rl(`HgGRXqZ4;9(Tq<92Ca-EU2lU6)YzE@F-Kxvb8rz34d>J@+`odRPl zBcqPq6G5ho15`@DAQ!|yTVPwqG%^@<)d z-i3QKt^-8PcrDFZ#)5zXs~m3Jztl|1KH)5Zzm>VV!ue5v>|xuo`;k2s{8syFHg*8(H9ij_3Z#%x`uBz!G3Z{!)gHK5L6!){1`h zs_QNZ7{^=aI&%wSf&CyrI(qeWoS zm?9t_*;pD6J=?lx?qKQt+v{Arsrj?d0RX&moxjUT4e1epK$B}^WaP%}+ZuQ7fc*UZ znXL9?+QsmIOUN(V=wbork$+r$_1NLAPuH=89h%f{S5p*y4vvW%mA7eWUvCH6slUG@ z@N<7%6#z#3^Ic3H6oD+FqM3lD*5xpHe%f)Yn!xhvh4Xacxh4waP7LjDW;DRQ{SbQm z`lxb)pG7ucw2}16b}qD}yv8}H6clX=4o&oW)X>+??bs@lfvWg_d{iT&jxLXqEB~jk zl(2@)jh2;94EiN4bh}|T$3W)`ML?lu)HsqLk1*t1#*()piRESRuxvA%g19Q9qG{Mh zHDDq8+xBeF9|UBJT=n+{O#MZF_kln>-mZ9^7QvXZximm}c7HVT6vE`exz#=QH*6># znQc~xLT=OO!P&xRcs6^r(?_xtr|eNKhvIwQmM)k7w#>8nyBfQjO-hp|ujI?jD-v{;&kVzdf%_w7QQOt=F2phl7ktctIWSQ7XD z&EF_m>e<~=v9%psps%BxC=A9;%dy`KAY3*&(C<9Us6nD>Y8x*udpG5+l|Oh?d8?*?xHa|A7GihW8fQ=e5|0AAAHm$9>1KT$TLFq z?P#*IbBn;8`Q1O)hGL*zFGIbh8oJ$6Aqw6)8+T{tBxQC#EQ%kSVbc>bx4V7UVn6LG zHo`D{e>!~STA*iNx~2w%Y|joEI}oWRFB&1`Nwn{l=zMKhu_X?_g_hsX@{h0Qr_YtP zuqZLn|H!nuQmea(;k(8R2d%YA$_3WfT9y?QP z7IxMyY-O`z?L7rlS$ANH93`BPb=bJHRQ{TNNo1@`--o{1I*c+WR+fJC!~OENUjPzS zCFqu39$H%0{o065-PhE|OT)9>>m%|%>VW^7-OoFtr)^LUj?vmc$5^(n#qnwlLH^#? zvX*_W)j3fUsxae{Q~e4n17o^V#f)R=-6a1NgUN4Ot3ibcvfjsA_Z5$8(5!1XO_xu! zy3~YEt0Cu&A^S@awxbSonz>3RHk(D8!O(VTQc*`jr(UZOmljFOv{fi=qXEm``kFMw zEm@*#3i?I{@3=Yob1j-Sd2;)Nu&5;jaJ}|vlFovzXsbrd0W2-?YdnN5r zyxvO_C)28TPpIuha$fg*y&13CTQ$EsH=c2#(rxL*#yIvhC2}$0Qv;*8*$6Ez`1;40 zR~36CM2Y7i6e(+aTzQ>4RH8Ns&0C}O#C}nvjlTc859 zL{oF=uJhCuZ@FVCL(g`q6e)R#Je%E$*m^p!^GFe$wJeBX?Nmw6q&f(~%F)dw0DI~2mD7=<8M|(M$EvBhb2BA%zdb~tc`t1Rm-onQ=Yh0g>H@RaPSEtPs0ejHM z0MR$rqxsuK8*glCz(|;voyC zHl92L2XWjyB5kiewk`C({*WQST7@tDk(AkQsGh$6#(&Go{i0Fh=SY~^ zS)~tH7pZ4p1_`bJCsT(Iz2#@<2$gVbyj_oZo}M7`E9JFq3v!KQ> z_j$92Jv}Sqe#TpUa%ZddA(3o_ryM&q%`7{6R!r76`wo*^5bk^f<9yHFNJem5HNiG&U4)?dd?V)Wq(U}n`J3qmhkJ+S9 zPnsnVk`G)r|5N-3R7d|KiT!jew7ca3LKuK#B4eMkP1vE#EjB$RYkUlmDq6ffK0qN3 z6x1()KIexu#s7TAmOp^MBHSWHOtfMR3Jb7M{Pc!94tbZ;qO!E59()RMVEDgEqlGPz zq-Pf5`{5Ok(0t6{8GpgWRz+P4W+udqVx!~Y0#p?TH|WNEz4~{}@VDK_<5_8hF{P@N zVngbU6lL_6$hV3`w&!YnN>xTD0LdAHao~2=S%PI3zhC%e2@K8Z=WyW`zO|KS3vBzm z);@!*(}H*EH>+M35}%9iy*ju0lls!U{$G6^?OuwZAbM=jZ)ROHOwSSDHJ-CpQrCQH zF{^Q+epMvS+H~z`dr%~?`1rgQ=xRQ-!^!~79nq%rCpX z`?2SBPrQtztEuQ<0ISRmxp&SD3AbAx^WaWSuyabzQyk}Z7d%Sij+5CcGSFVzd#>mqO5d{f znz>v{|4I8T)P>d)%!eb+NvdpArr_X5r9nRo-wJ*jzIlbzWUdGWfM8#147%V51v zk((}el5~wbYkfk0>Wn8>yAq4@LF0AS!&1a=N224^#}@Nyz4+f>Y0t-?m&AC#BUA53 zBa#bSU3l8{R$N(a^_be$8}$ipCA$6A?#4IYWC)Uoa~$4FzBebmUV4xF)bB2fH>daE z^hwM|eTclcEnN)RH~@P~QFrf5sB-m7Gvm5?8`C?Ndw3aG8o;)BVG(G8o}w~tM5xlnCr&nHv^-$l`JO#DI?Z0Pi#SRR zOr&nF+AHiqDy#j(ze1YP->?=L*N;3K}7!eFA56c<&va?gi`i5{r+7I#uyO#ieE5 z9yM)c^R_a;ICbCp&VifUteA;kARSARxN+gB3Myt9{f`%<1X(vCPL6W@RzLi7aN|~ePJ2*W z8w_In+jn1`0|*2=$H(n?GI|EylyCwt!P7!V&cnJ-H&}+~ek?{VS-{Jn*NF z#GgQAHzPkIr{a@?)izv5V@oK@;Z`i)fx-`OO8q}?{}cWLTKS(Iy9nT)=2HOcjvt2u z0C(>j2w=>|3Dta{WOX|C|Ko&Jp1_)-j5y;cE)JloB_*=@qRhZR4+3D+mFc|2o2PO= zbI@#TZdtMfW(V?cp!H62XQlZ2z77E(Ckg%6Ie!d_+QrLt8CYwxJe(f_%<2Bg^8;$1 z+nGQ2_!lJb>$9IY;1_ER%ter*q4Nh*S4v7SMAT4pOKD?q_f1(h})8O=a2pW*rCZ?IKgCQ z2DqRBm$$NecqIWLLB64_z($L5v5l6{TbEw4)BVB_8La$a%k{W_+phZJUmV<@2-bf( zr~q)?&UoSM*)ylNwR)qu@9b=EC5$s|m%GhxP)I!@bHa|SIjV!{ZlSP$*g5_1b=%$w zr^WwlA^-PAW7dLz(O4IwP()?^j-oesGvxfBE9#Hlu)IsR0X96 z0THD4(2D^=4^k3(3lO9eO6a_e_nf1id+vSrJ^tnM$=-XdS+mxfncsIXvkCaN8jU&k zmI|*<+`fDBs)VlIk462_Rza!$169qVo@nltYgZ$q&D6@`-X461mjW7_>1d?9D^2=+;ydL{zjPd*eWb_mU}X zqFG#Yyno<5jU=&(OZgFfMP}ad=I7N@qT|-kQVe(L-Xd9aN|A_=Pv8PDh)TX z3-nC&&x6@opInp)#GiJzjgJ)Xm@{e~HI3u*y+}*u4i^BE_yHCCop;!9%+8U#pOp0oHKC`mI3Q@E@SW zF`DaZpMG8qPQFwa;~gOM?k3D21+MheYZkI;GkPJ98sD^0@U%%O#Cz~c{8@WU?ZYHT zFEf>E{`juI#U>5z5_98H`vJ=E6c6%n{l(WU49ExQ^PYus?!;2zn5$tJ=Ob4R?X88C z`;EpkLS2+x7rr>MPS&kZjx3_ms7B&oCtPl`{yZ-oCzDdjepD;OllZNPD)DrGN z;Pfy&sof9ZvEee$$ChLZOAVT`Wv%IMYJwi0IHnIlEpU#z=iahimOT#+l)kucpn$NN z$8F|i=^v8Dd|6`{J$yg}-fUxkkx<2uGlpdBbeH^U2W@7Wfdt_jG_Rh(%pUouhOK{% zqMZfBR@U93VTJP>rD-EUK(rW^?=&0o6 zaKJU+V);AyY}MGv=n}I2z=Rf#PfMafR=;&viE&nZ@+5}LYdhX_O6%R_7DsKAFSKXE;${3N0gbwe@e)Y7VkB3Uk9VZ)3Cvh*_7~XLsA3vs{EB!60 zZJ79j5TeBnYGX|1oP7)@`Z^l<$itzgv7NT1Of#DnL=7Rx+0((=hJxJb60^YW*m<(w`K3G&IEyr zchz%WmXz=TS+jrP&1#EWb87etElIMRjzE%j6LoZQv7AAPi8Lyzs`gcOP_J-OfS@Ac zJZAt8CJ{F7KMSuEGDfTX>IW_z)Bhu?LP)W7gQk?BoVr6Qpa_8%qCMKOUZU(dE3VZq zHSlCs>C4{Ltbt9M0~p)`q`z_=I|vj_7#D|{H=>KxfFlsOUL;UUd?WtdJAVM+;_l&* zpvyf}6m9s}b?wsu)D9rjX_wpZ%<}BxS3_cBV=G-Mn%xicWqP78j-I%}LhcgyZI}_Z z45uG5u`%q`jX)rl_}foFWhF0gGolrC!B)G}T`7_biGsGg(v`Vn62D95{($rSU1y%i zIx|GJ9Kz9Dti)vlEWg?0Dj}n zC0`vl3drqfxr+m0AksJ>0cz&p0Q7(}bCa!dTh(*!aJBRFSsAUAl>Xq=+1AzuqU6-8 z83g${ExOu`_*m}XCcYL~0Qf=SfJD#-sD$@$4JrdYgV zGR+)#7)l>vpu6T;BKFv5^I+U_Qkn>U%szC4euYXt4p92Jh!WOBWJ3C%UshFJd_Xc;m&DO0JMwu(!IbdRnqH-q0b|*DC3Ta@Vlz2>`SOon>^Oq83;n<{bVdFfi%GmCq z?SFB>N{Wl4Vq(tf>+AF7RsxU>zR44o3;;N5G+?c^zzGxH22@v(MV_pYDMI#8Dv;?K zA1aOvcBNjOjv3IT%SNM3dt#im%B-%Bj*Y!F91VR(ZZ)%iG&5tu=is?EdEdF?0BA+a z#LvGO`FoqXSHAy9fIFEA^}{pEo<1R_)vQLirInprTLQ3;{lig>dXaXC5fbEfawt!P zo&yO|+5sS;CLLhRXdY1;r%1KF4j&YUT$_8b5_UOQ93-Z_{EY^IchhPHd#mmlHTHDx5M zjg#XH2Av(-=R&~V0aL5BH0vRN??}2lkFE}JRP>-CZI1QMH27LfFz7CN9)a1o^xpA% zk}cAj4mT4AGK2E8nB0idE-ZLnLf8#lJB*j0ZTWGa=UTv0-p2lbc*#W4H&?kVc5b*! zh}k%S={-3NUPZ6EQ1JrQ{O^zU77LhxQz<7D0Cdh-0}ZF(WnOszvGeaG6FWdK`5!QZ z_7PE7>xzwTP78GYMRKkce+D0S68S__ux?Pb(!v)-$BxX7Z>}voHn`gsw&XLa$zd%`Y+NAyKbESC^ z`7Uy)b+wM&$pUK+su|YWdY$7u`p@8HG1L&MmQh9cyJ{L%K~i|XP(rG1WxIQ^`rT(< zR%i973on->A6&L5x`B#A&%)l;zX3{i-OZR8h4yX~BRiWULb~TC(&(Z5D3!iKTJ*DO z`X#-^uy#7%25Vb=I2lsy5f+f{ul7b^&%5m~#0B@5F7xCbMrS#ipTj^0X~>bbV+Ag) zeFxIXA8(v+wKCGvnab_P-l%3O#3uvDC9Kopws(t8MUW`W)x3xA)~y*NJ`-d}eoM@I z4!yUN!Tqeg`=g_yBT(J(sZ#s^=<@71x?>KF#7ZLfynQZy-5bqtzHLK~LR>8VxM68H zBguKZyUSrg8>~Cj+z0%DAUFYM0ImtMr}*un`=6K}K)0-`Wy=exM$P8mKDCw153WBi zwL27EsXx9C0IVde%BWs_mRvU}NZm5xSektKald5=&@!GqI!j|1jC{a*j6_kX#^x<{>%2jnt)qqlti$4GEcVa@j z*Sz`GI;^bcKAhFi?B)pUtD&ddagqk>j?-^Z`v&fhCx%3_R2Xa(Is7OaoZBuCgP1Yj z;AK8#nX0fhE^#gq;o8(1nQ}i-#wu-JkB<(CK_LE#l;S>?YHysm z-D)>!%98L2C(YT~-45T)F}^Dv5DEfH`8>>7l?bT;k=F)@-^mB4K5pua=j$T<5JF1F zE2f15=QHu}e4|Y%9x?Uusu3Zwws?n+L^#re%AIrwWh$A)rK4-el4w$}5FG~T4@)`; zQBejF9b1LfZ1qlmaIk=omdBuN3_j3#Y6}M!(Ui{7p+L^AqxKtCKA|etcqEW{>v?{P zUv0N4%``MLHlS;D&LlcHzuevbs!a!S2JMM}y!g+XKKXH!xk!I`PGE1wYGCbQa+dDC z!m|P&hC9#PDPa?bSD?FIS3K-M4PGhF+!2l)n+KR?D$KtC#v+@DCJpGl%>5k9m-g$O zmrNjVZOXt>4>`-h_plJ%_rqDc2dox6?&m!?!T#T)WsHwoDR{nP_SX;K?;Sgq-O>;E zl9e;CgkHrBG$XZ`sMvU7xiwNv9T~%sIJdR760$U_jB3Z@i(}tDPPlqi9)MhTS#I>j zX+)&X+HZ8OUJnMVN?)QXBXUHT8;nKLtqqh!PQOoZn@%0E=R>QZ3a_D`tq2aPRb9xxL@wus=vINB;$$NgG!*@yvT@c)K!}~hE0{|eRf@7Y<-+xV>MIJomT(8$G!|) ztW1>gj$)Twy}%zf?L!p?awfk!!7xy<73m>r7sm;v@bw*4`JUW1V~g!3xO>{TxBJIE zx-6A){%r9BTKWTrGf;qsk^cGV*QsW@qP0Zx_3ojrd)=DrUB2HIUhg{s{HZm7Keg8W0N_tu4`*szV&B7y9QED32&rn>pG=y# za@Kx1lub89CbZgKhR)dbJ*TdA2`h+ZvJJuTl?gua?w%ccbv?bvW6&O3u+dpAXZVN0YH{>A6(Pb6q3l{{r$*c>zcR!~29R8U=c` zgo3-2VtQHuL9qdbPYHRvy}Tx;r;YxdA2sr3gYu{oGY9}N9ud-LoM4iflarD>q@gm@nl8W^<6Y{?TsFSg z-`_78kW)iZqX9UQ4RQ`GlYGnVr6J&o6D&gEdViKSx8NMQVR@+1uFejWRDAIcg8YBn zOLAWhyW-;b32!;sxN!Fb{?gEkx zX*iroh6$264tV1x9&Se0GQFW@&OO3(oz<9gnO`ePgB8%-Slp{)Hu+qAm1nM@F5Jw%fDx7G6FWrKvV9V!{h*FHPiU4)Y73&pY%tPD8ndB9r1^Zw=8I5tKPr93e z@uHkG!7J1u=YD{kDoqanl-_btrBa#hEtRk{s!5qZjG~ z$`1fQPCd5)kQ1&g;v?$g?Wx1^6Zw0(lTVHLZwAsd3#3l|fthjuP-e1hH7I7=#e;w& zf9m6CZRG+zw!x8+)USV@pJBmJ`t#+gAA~1w z0Wv1iM~0Z|_Rc=0KQ!dRMN^4#C=@6|ixg2yfH&It%ttIYDS450bua}(QiG-}xVCD! zJ{o-Zr1pf`Mb_8b+X+lKT`?aELD~58K$lQqXKW0s$eAWH5VkypmoBcEcQ6 z;LGsaZlX;2k5_?E-_{aps}X_w&2In@$WY1rXyxT`_jGdLbm9(CGHNm> z9y&Nl6`*9CbQVqvKLI_AlT~}zIv{eqzkS9!9Ps;GFndb-&R1O=V@_*Iz z)VN027|d`hP|OHXf#j)LA9F8wBTiohbcnp`*C-QwVaPU`5edY1;*#%BW!0$c(8n-7 zu(R)0ViHs3{n&bsSsF?knk+zd!<1D)0+H8FWnwb_7Hv+X5G+XbF-gL^ii&&|gX(@y z8%##&njy=2q{(u2Ax2ISN+7^K&zQ$Y)ak}dkEE&t8ZPxvM>=6~WDRB&X z(h(5QI&uFx+o1raY9j^zXhnIt_A*4$Ne{GAOkM< zH2^YJ%4pAY-(Qa8vFzQSAHh?Bw>3#dRjRJEkI*0o=wGVqsvAsm>Q`v76AQMq^Rsi$ zJkLL~bVp5QD4Q&8@6biL;64+-ohC*2;#lM!nVL*j_1#pb_}+?vI*BI$2=Mv5xEohe z`d7z(7v}QA{tJBC6aM(c_aTS2YHO1vd28KquPG-hP7`>zw7fhX4R>4dq$HC#;92p3 z&{ipq1S~VY7LGQ(FJ*V%x~~5iFiNK}3P<0N@9w4vT(n7Pm)>_SH${i7`$t`?BqE}% zYbcG)NrNA5XK6n_nc|a$Ol4rw8chf2OKVDnoB22H8WE?X{^IakbV%4_glq4yy+1xJYMaX+>xRUo<(Z50)Q)m zML5{1sJw&N+I{EzE!(Q|FDXUn!`5hq;O9=xT_=bKQ$TUAqN);=6caep^xzg13(GCp ze`}=icZ$(Y2>6&-czo>Yay6)l7okikG|N{r@|lyqYEf`hZCyF0GUGaR4VYFJyVRWY z@d51{IhiL4E2dIV7q_s8ia-Bwe>T=43 zdQ~w;ujl4A3vLW`?o*`wU!GAPTaHo|Y_5d6Vh|X3x$U~b`#bJ+Emz$)hwPQ=M?Ab> zy;l)Ns+VnRxSrf~=!)GtCWEMF@1I%l5+vc07Z0K$y6H;>nQMZ-gHXS2)GqRTq7i24 zC?t_<92s(#Z3e=;cE}zOH2MbM!T1YG=cO^a`fQ=X<91QIArkCEOK6Ndh*`8hc(6)99F$HEre=TGZ)8;*Bb>TjN z4^_M1lHeg^iT9roii^n96~MkO0-{R3NYjRQ+MPh#5dlCGJ2?;BHH%J&jpnXnGqkyQ ze`kZ%XvDf6&I25)D?#O93R4*;i0Fc7!4uWpX;;MwJ^?%{(OvP?_$_K3vVun2Ei5v{ zzMIPzt@_(S{{y^jwa*CT-VUPLm*Uoqh%q4gShb}99%a{a@w^L=LV_X~Y1UeL`IxO~MW z*9p(i1hsCmHw9NSj+(M7bb4M)m#}$hwmti;LV*r^ytn9{Cr!j}-+OlJuKI)YDz548 zqnG&Q;9rJvdWi_`rdH=& zT7(f+X@g6TYPA^xs^=wc=VpaR%Y9(y5%Y1kgN7r$%?L5)$>Ct@ML6~vKzZpgDR=}*kRrN0!@fCSMh)m%yI=Av_ zxo^a1HxoA5m-%EW|AOmnwQ7LXzkgbwZYYRBaF6kp1YO%vH}RP8B_bJcP=VHf)K>c} zjt+KJ(ndIFGVa=jct-}#TUsIiTqSuO>#?y9+v&nU+XwxPm*enicT4m1sE~sr>AUHX z(`~FN4}iu7%K4*tSz}A`rPNce{5&}ZU$poKh5@u0eLYBPpEu^^ac%ioNt1I0(mO{C z+|_7n_jD^$u$4KPXSJLZG?o19tqrdEnHy-$eSN(D#D?C?kq=jxNUuNEPVD4-AK(WP z;&lgrny@GOl};H{>?Xo*UA{U@Wvqe6C4(s{!$n|L=J#GK50?SPf;}N*vsP>HI<(nA zX=9VQ@*Fs7T!9WTRO%)#PZ+IcJ#SAx(F;MF7rwo(LdZS@ApS&mlLQ7^Ax@ki7eIw9 zz7rY{AERZk099`3 zR}rT!kfl>NaPSiWfK#50e?ft!w{jggma^Khl%=MZVgR@&>8$wlV$&ry>9QKaYA>A6 zKOlkpea-U!WgLLmKMX@;_57gWE+?s>?~7FsAo?-)@}5djJo1|BXJZQ;KV$Xwr_gkk z=JNK>B8inQO57;Ld|j61pb zXg{2#Xo7UXho=})-K0HB>tJV~xw>>^R^qSjsL?KzcfgOuvQJyoZFuPDc9P*E;JBd)bYRe~w$X~j zXacxQgSH#DQ?Sk;2_PA%!~3d@^b<%~3*E5mOxyi_1iHba7jRn1m0%V!S078gF{?wF z1@J78+L6XYO2H4P24~7DO~DKu47oEpl)SUUyR@)Cb0Nham>TWHfF#bzBk#9a0v6Cps(0kW_U+=GtCC(E40>=T*l+8q>zg(m$gJhQd+z z9}wOGyo*B=?}Jv`4nTO^8f7R~H(_G%jXI&!&a%4zpz^o2Vj;9J1@qRox?EH?fEn;c zS&+B`VQm8F3G%$aav5+u?@{%XaR~`l^oW-%uzTj3F^r0f`lUua(W$D0JREB>$Yin)m1{(JchMuz_yZu19;on;& zY6n2i4eV|G(!o#2_%AZfN(BLm^!RKow1$jJy_N+3o-1JFjs`qEZ|~#4D{0EQUJ}np z8|kQh_S}P6=S}NxmkK8IuSWvJ{Wq?zx6L)%d-6|N3waW7goqh6&|jog)Q0IO^39po zz+OAT*G&ToaV11OnQgZ2xmr|%V@_gAcaA7r-Mn8Pm+QZB9H~9&`qHGSF(-+79(R01 zKcg=bkAq>#v+=1;T_H+k3%Xg)D?!=gW|25k&hrqcL&&k8C9y7w9zHDjn%YgByBj7{ zGgI-S`Xm8n3*nH42KqfFWE>KCm&`v@^lprMR~$xYuE}%zcI#++Qlqr%J3ym862zrn zHwxnCwP{t#C=>haa?v%SvEe3+!d$6WlvFw#C_(LEf(ZiAXf@1Yj{%FTyjD?$$dcdqs9{IgHgX)M)4shy^*-qO8|EM$^2fz6P1W zbc2OOga{u%@(vgkyMq=73k?HASQyNEqRW0co&X1xKkh9jm2{l14;})22u6>Fks~7@ zWOH-V4JPqJSj&$}Nx^VA&BfJiNsf;D}theWe*go^d6j)MUfWD`GnPSSUqb{JJl;j*-3V6Q2v ze}lIk$l;cdsJ?ycKzLdk@pZR4lV>m7v*+OGLg8IEqNRnJ)76>2jdufJhK-FS#C)h2 zi?|J#z!BH+p?GV3#09*>OHZhEXw|A~volgW+-*_4$r(S08NUG3agumsT8;k>_G4+&=V&e z*CvyD@6po$7GBm#UOmrxdKdK8N&5v5Rt}biC=Q6~6zI*Iq zhfX3)&L=HuMcCRvh-9Gp^|X)A93F%;H8ndaKqVdt1P&Jh1nrMbDkR1K-i;Nu69kTA zlz1T`7(V~pLv|?+sGy%F%FXBHEF#uz4^V5$MEafFgh_*j3l2;TOkXK z#e6<$O1it_f|z2lDywuTtuesxj^nqy(h|uK2^^jbrkh@y!JYt_O%)RvIRNtAz$Xbx zabgEd5WB{Kq4{iWS+8|8yphd81Qm4E}rQvif3fo&{v z1b4qhl<=|qz~gwM+zXJGSj67x0Y2cJZ|%~J_K1vwc<16eGn5NAcRR^?2+{oZE#rw@pai!uPfCR`vN zVJbQ*OS_QdoT!9C$NyIJOkNPhdaNSLt#VaostCe}BB6R|sqYoCS{E05S{h|IWky!P z^6BQFuwWav5EB*KX`;)RrBj(1Ox%!up`Gc_x?o8f&L&NuuyWdw)JKHs)syr0)Wi6? zg*lq5+S1oHDD(}o4DI1u7uKqaNaMI#4lh0{_DAev{%s?=MK8Wf*`$C^$;kj1 zpNX)0_4iw-HRzhik4-94#6srz_M;}NE+tYNg)tJiGl-xjA~$4PrC*rc-zeuO&}fYY z!d5pJr2{~+y!To;+NoMTp$eG-;(=-?rQ6aUK(Dk6x!;a4)6vm&9LWs}4mG#;;-!+G6fbI^))ae3i>$(uv^MF#!=$=~#7P8NEd7Dc6M> z7T>uf_aqm(8d!}v$d9+FZP7^_6oGSucAR3xekDx(h)7zXD|q3>o01PO<%3d#y#KBKJ`@Y(9FmKCN|WAu1QXj ztX@4@+q@vHrd^-+`7pwLiU;p(pu!;GioI^Oo_Q2 z!9n-x`tmA5Lvj2~%fJ(i;J&BQYHg#%@?>ZV>8ELn`PI`EIe4wnfO^yvq@7Hn@v`t$ zs*uUa8xNrC4+CSYO|{9>O@@@ppI*d z2RLcQMUQ-T21mfVqd~kl4-~htPi~`X1oGvrf{u+`=gF-+#wYY}{C8TeV_Ff4?jKMa z&=VY_8!k!_thT{`bcEQ}A?C{1kY(Kh#~vc(0v1n12z|@PDXfy25R=}sTe;R#UOU3b zS@9|78u~~q1jQrFx=5W{KvIv>+?dGRIH&jm0^H=kqghe>%xi1;9u?JwQHoH<>qz@3&&2GKrhfK1jhMEybq@ed%mHHJebK7$BU%F-pflV2 zzrOt~85Ve3^iM-H2WoR`M#q47N!!8f+xI}*ppYw!HdMb5a-aA8?Vt+CF2zdvrZ0c5 zyPTxkbOgr%L&}lJl|Ke5Ckk87 z$HWNA1n7*&m(-Nwy`)`MBaPh=A9y)j%%w+F3TRd!)|`8tl7Ru=+K5Xuqf{C+i|0!R zqB6@C#bFF?j*g8#aeW6khgUqktrNB$mkN(990z{EItiQ<#kHjvLLO$^1TJ3OW z5A0u(7nOhHNyOUeNcvLWiSSC;1}_(t40ÐI5(qA^!FJyanG(rTe;(4N!p#wC4Ta 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

    hZz-2GvfgA7{vbauQv$1iR6G$Bb`KIbwwx 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 z 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 kw73zIe`vAEw=__kE>p5lZ|4F2 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 Ct@hpk literal 123976 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%0A|j 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%0D$!Rw7bQ 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 diff --git a/screenshots/command_profile.png b/screenshots/command_profile.png new file mode 100644 index 0000000000000000000000000000000000000000..443b18de8cebd8733e92e64a01dfbee0c787df24 GIT binary patch literal 399955 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 z zi(kx9Gt;8dtnm&*uoky0X%RyHufh$2!`~Rv{AZ!*)=i5J&Rwm46ZWXc!pe?foNF(0$y(-Anj;vSpJx!7VzZ*y6 zPZ6wF2@cb6+>2S9?Q6h`|0-p6DrI&}TX11Yc@72MJHzc?Q|>0KXGVoVk>l&nhjR*r zOmUuF96dp$yt07FH4}y`YA}l08A>W1k!3!c(rdQ31NxMitsfXM_vh4^=eqVLT!;&; zUqO37U}DL)xb8zw*H6^3tSbWF2vwlHE4(eH`p>qw@^Uh@K_K>&gArh9RP*2sfZ|NT zg$F@su)RgOuofauw!^;f^)z-ETJvTT1)2!DMXcE+xpE>s0By$(?J20JsC~kNF`@3q zUiPYA_L@>v@XWx2{jW(r8$n`i=2&|IWh;L|O+adEcCi)u9vt};z2v{af(qha>ELC7 zOz9!oLTv(sRYrfO+^V>R2IU0S0i5)ZXJD7o6Lh7XrT^Q`4hU$Dkbq(w%g9aFF#!Ii z8_&Dvd4_oKVIlb~&y3@fj`7Y%I^rwctVO%`AT@vnk7U#ZT?#Yr?=t%7GN=p<&FF z$-#c`1QUJGw8RVtqSRkzK>wEvZSEI>vAgB4bScgyzdKB}ng`O|El-|SJCV%@n2XVB zIb|~o73tH|b3^a=$YYgcmUD-probVtFGC9i?1T%ZmfCc8rKKaJtbj16T z!;QmkoJaZVqcKzYItUzjyq1cMYHfRJ%R9$#4SQriKdY-|S|Z-C zCB2|MWzhQ`t>TH5z4EFM_!V&dJAtqt3>x9`4PKmt7;{FT0yGEkf4#Uk1XfvUND&;( z_~Gp ZV;4)j98CmEiv^!Pp52@(tY#?`ub*t)qjUAe__nve4x*721)?#M6=%zI6) z04+~O0c`BuKk{^6tFA}*>%phHR{*^|3l^KZR2}oBP_Jh5*eN7_Ax&9r`Fi)0(`B8U zg6{S2E5|VZrq(NwjaAr%3{`c7c!U+<{`7zpdB5C3{fS(yE%f9IDd8nyNDT$k6c@lJLz0-I#y&ZPm4e$I zsM_boKCeFcs!;$*@);ke20D_<-qgKedHCTHusO-P~%W-!*hZiUTx&*gxv z>oPP~th`Mxuy0nEXdA_?=SogO``N++Sx;=3ibhO*M>c3nN%Ump!huaQrt%fo;h1J6 z!gw8s2~n#%i%<~TwO4M4OU_uwZs+1V2|BPFt%!=*ueExF5emJsrS*f)TXcr|BIQlQ zKZil*i01T?q^UIm-{_9|zqo2E(3BYBDHNlsn~fJs(4liq3n;a5)^1 zsF?&KVglg8<=+c`;|dv)c2Yj=>!8tUPhJfDulptG${I8z&wa$fD=*?g(p{XVgMwp; zfQA4qVTK>)=l~-8?iH+EQqRPq-ONI>dm#t@nhh9;w$F_XlU22K5%OWfN*mZi015i7`G!@V8TV%-&m-vSI>1}hcYa`#q8@?vCDUO$+md9V?cC3=|TQP z%_M6noy0`0)(Qc3CdP7nT700>&AL(PK?k>J6GPy&I*#+(1RijWzs`H~{37qViD2@U!tf)p?^jlAidEm38q2fcnYDJ% zQRG|F)uL+TX)0@u!*B)HUqc6H{*7u^aL8*|)`E${oSV$0g2>nC&_4jdSAw9K!v5J3 zkDMD>bZSq>{`y1kw4U1KvktyoHS7m^(B>iL9P`Sot17Bf7-~r=sOz!h<1$hK26I8l zkdKsO1F~U=?vZ?13Rdcf!nP5(`TXS_`{v$DV+WWu!e3`wpK2Ns z{L#h6HC6gik92J-AsTrh{v;^%aQc9C*F9)#D2$FQK`m0IzTvRX8XdcUYi1f?hGbPR zbWD<`>Bik5_(HpOXV7W)Z;xwF+Gg?voSfL$xb;Bh0}awAu3arPLM*QJ2Kcv&V8bpDCSjH=Jwq?trDJ0b?3guvNq}dW7_QsIoX^7!9rY z_%i>2SqHL~T05$au191H!{f*@pk^=C0kn4w7Ae=Uil~a3xKVXtLHOD;hUPtfxWiiw zeJ0^T&&v|y!@9JH{@sgcTQ~2Rmu#b+rQn~gvS@+#^WaUDdVW?7Vhiqb zu=kA=Qhy@9%Oc*8bb|^vbc&OGYyQ?i{;im#%V{09-R5%1SrN&_Rwd*(LwS&;rjQiD zgF7&un3d!iJEmtz$@&s*`~_5oc?`W13##~9eqS`RWOg%zVk6XD(YYERodBK4i>cay z6MJSD2{)UXFLn-vYr5~RA@&TYde(O*hV>gmtt>w#bIn@kY$6u8T!&Ob)W!mBe0PA$M5Z(~wT5RZ(n@7He?M2dWwjjs)#dnC^&ji-JGEr!o_7SuE<3)q9%*4^<;x zXX!ul(bnrU6trX1%k@Ztw$SaS#-CHk<+|;56?4*dZVJ1NE=b$L3NPT(BJ~Ip;6G{K z>2zZ_>}ZyO(bho;T}L!>&y*GW9bT=DXsk$-Lb#?oztHuU5C{Vt97AmJTT<{VMRsAT z8Nug`x5Uc%R`VFY;p>O`M#h@{Q&OO}*V5f>Gl48tf9fV(7;Sofk=PvfO&s_2pdy~N z+Om8jRkj`ZxdWO&?znxWohV#dS6U*K^e0JA`j*Q@8b86N8*W$vkyP(?Js^$G=7aAC zM`V~QDt)@P=XEm_wfS4r_PH~By|;yfhg%+PTyIX zt^1JFJf@bZEQAA{PsG8_JVT~qUR3}8WuY;gPq}x zvypZ8kE7zWJ0k=tY8Wv2b<00 zNBHe)Z}`f7K%o&#pNlbpHit(F;9izc0<9a(yH{liGB zTHawg{oSI?Zi4-*9Lz74hI{I1siF$_U$zCqZ_dJ8Y<*bm$9TN?orwweJhm6Be)=q* z?nhO9rtUYN*iYlyqHuogj+1ZFazHle^Bt^VLQdNl#O`lH46;c*w71XmLx>V7q!f{H zqIMn9$i9a0Xt<@FE48%l;%E|CV!0+je0$~dURWhAFk|TZw)tcKhuv|_#n*j*4>2L% zk#^)9=QQ(jLteE``C`w@kn1K>Z7)jffN9Hc4a;0c1`)Gg4g;qy;!``wX>7iv8>b(L zjAC>{AL+SL7h_OS5#Rdv9a#9ma4=>Q43#0PGUH5^Z}{k5Ufj@(z9AE6w)U+9NQ;q< zqFP6}j2{!!Phv*Jz0C+6ZHb01lbvd3iV5_syTke$sBn+}Fb(=al~+!cfUtj6E1&-B zNaWyOWnn&MEBve%kIsRYT_7k1a}8}#q>LNHqL!y#l{z+6*~rLniVd=6CBvAaWyePi z+=yag%8hip5T~1Kl0IqiG2kxYpJsHZZy1IsR{_&LJy<@o5h6JB?_91=)p&?C6q|zF zaHX^F;N=KttqB41^T@6SRng~}7;)v8d}|=~kVdC%iOg#4-V&a^Y@F!B85FFeb(~I? z-gdv%u@-(ws|GaZT_2=50S@#?Zmb{ZOs<8q4Gw{BMrLf*)&WHS9oj{rm7( z#IUEOtKY-^hyXhdVU{f}zRVMqxN%itya1D&gol=Eazy8iC>OFz9<8((`f_910)Et5 zSH$AmqE}tt=rbF>-X=Y_rInSGqj{1hG5w3T<#vqP@}pmVTUuyn7!F{`LS`?acyv+d zquBJ{C0UEgGBXo0=d9W9M=YlY@(5E|Xk?P)B~a!1p%l;*^wAJ;)FHVcv6%WkC5`_4 zrf;_Q^5z?BAl43vNymA9f8CL-KJj7m{DWKi{kR)qb%1`C|7E#SMIBrvVI%7F_7xi##N?F`3S} zr0W3N)RPHR@|8qwWg%UwGXvwO1>;h^Nrt9Mo_6rMN%pSR;(Oh1&ug~VL)2J&`*45V zb_p%>8;*aDPsa?Yathr}%5yV)nA&dfI-tSjGN;c^WJ@TiPIcv*qF<~Q#J}@YPtKTY zEh1y4!j4d>ZxlW6?DhogZb`9j9g$GB^y>FGCN$t^Q z+IQ;w!LN6ox^eV!Rp{A`H~_&6nS1_48qw%$^vD1MuIvvL%`c&SH`0YRemFUu0*HR6 zmps{R`woalvu|PdF}S?Yz6JZH+RBKc&HsnJuYPND+t#h(?oNTWxEHq;Ez;udR$PMx zEu|2gQk)_MihC&@+%-_#J;4J64|3CW&faV7d+xn|!JR+lc@n-kpTYZ$ImUS3G3SqU zA9YroWa(6nLN$xo;O>4i4%)*wJNpIodC3qG(=EjtyKNqEF;Rl9LeNG+t>P@8H~h4d zk0gmSw~Pn3a60Hy!^bzNdn@QNH`iSb-=*kiiK7c8=Yzk;9KTh$KMzX;#@sKzVEos} z-CKhu1AB4wPI>zm=%f3K?UFB#pOIP2%iif5iRTtVdG@Xr~A z1!;X7LrqMuI0lp}5l(`LXQc&LHA2q>FS9Sd_o=DS6Mc?jA|i~pd!zA2AUdh;T=PCF z9wQ(+V*#+cXrciV#0&}J?pd5A*{@AxSo#{vH)Qgod$i~GS_qF$W?|*JIs)uugj7*} zdct{CRAsg9Xz|42Q`j?~kJLAC?+}=i)V|-h!b0E5tI`Vto}0&#?Y7yvM-@$6{8OI# zK2x5>T3D07yVGOwCT|dYwwj{(1MW-6?V|+rcST!1QdP^X0w=Yx6j!|%4RMAsFqwqv zooz_Vi%m$7#E-EAQeOcn>}fzvKqe=P8dBRHd4J=!w+FgVj)8nCzqn0mEK>(imO?c) zYD_1LC0+f*A6($XwNLgx-=A@2Psh%iuYY?#fn46=e-ei-Yvv>Sk}(0xjAzhq^F*9I z=88ov`*t`z`*wwOB?yLN+C*E;x-dmiSD{V$^<+X_g8`1@oyxlv1`a{Y6>Az9 zFLge=9yx}WK7yT7f(WZ-${NB37OY_P0X-U8P{Vf5+gL2w$=uh&Svht3G!aJ)ugd$C z`L(*9vq$bqIJ14_J2B^>HW&7O5ccEk^K$$*v!C>JGhyH!bNlG${s0c*g*xZXtRoRU zdOmFI520pI8iBil$KgY-*57_W<3mZu`MF5Gb;2x0hrgG`0(!tb7&vhgSTPN+9!I_- zE#ex_6J;mt8Bh<8GWfhY$3I!e7gyT%ma{@W5E$dI`0S@W8+O6E<=d!*$k|m_R0~Z{ z><^ssb`f0zTtHI!ZHanTcEq}tNPYh9qD~3G5Y!VNVSnfQ!;sCaibBm?5hTfp7ZD#t zm_G`L=gWfv7aGo=CbK0PD5+bsz7CWp(y;6zAg2mHY79=LJnd?I!*5e^VbI`P*~8!; zz|m@QMB1u8WBsj(%MS&`pQ2@2S34UcsS?ytxw!;M8PVGfPh`1G42O;b%{UP{E#sI8 zE7a)OB7Qt>#$;ZZ@q4~!b!P~KDZYMA;gWkzuT6)qvtVV-e4$n&*!>6=XJ{$~HnsOB zb8LZE4!_VJd7(6t-)qxWppQ*J@skd~m{7ITE@DMB!cv#m?ie2sceB}AL-v`$D&VWm zCath8R-XPcQwof=bWLf>#uTfCJ^L0v3El=kNwXN=1^rBR(9WqydSlEETwyM{2ylWk zuGo-A}4*oIU%O zvt!Kd1ptP`m0y&wzboP+@6xmV_$E6hqm09fUBAw1FGq-kv3|Bpf=Si6T>pNk^pPG^<7?-q^Y7rKp8M|@7>@hcdcRvOExZz84-Lrpj?C1D+l)K zAMMq%i>kMN`IJd7Me4;pozVo^9&J)7P2LQdSJZvaZIV84kZ&xecoAkqQiK@Rt_XzR zT+R_T=0cu2Q$^jhlBZUvAfdpWurP%`o^HMP$-QCBQleQY{2TfgHfl$ZL3 zboz!kSzf=fW5tS6Rx4VztfhzZIi%Hp$e{iJN&BSRDju>L@PTIdE{DcGHT&MTpHpay z@{fDdt?yIoYp+E^m<>n_(E|@J3C+t38#@!q*U3mt~FwhN(Y?&#q%4=9K_Tw{Dk&y?2N=~aIfsLEr&Ys368pD#kT}8;ovqrcK(xU(-GyM5x$$x^}Gbqz?WKy z9~kauXM~&A-pRhFk6L?t7Ym}l#DE8YX%|lAg!Ah-Z^m2y?IUF;_4J^G0xyzY9we8a z;Pi%+-h~3W!C|_7*GxxUt{kGtAg53=tK_-axT5jm3ya#aUhz+pF*O8;!;MtQbvyCn zMJ=D}pwJ6c!;)>5I{V46)cijek3A%w`*L;Ai36a@aNjM||2`Fjdw-4o2(1+)1q}GO z1F#^>G!D0ldI}UgXSQci)_%dJ(!)c(qwd%*?fgE*(1DGdD?9Sn7^i$gQ@@XKmbW}OQW$#`Fs5f9d&fW(QA$@^6>Wd^kvOQM~8lvyt}o! zN2dsGi|vMIDwn8ha{Hr{`E4PLzdRlPJtL#NI0qs;{UbP0?>RSZtbnCU&+MJacHqK> zkJakR@orn)dctie%CR#*j6&UOou>Yp^CzQfB)EnCwB0C32xoT-O{hM-i6wJ<>pl=a zrO)JZ&AqfZ@eQZWehc`|4+q(zMl6X5|25P%%+nMmpO6$VuTSmXL>yuVVU z;J3zv_R+{hFMpa`w@+nrf-9c_`kjnxr@kwLnB3FpAIV>JKpcQs@N6i)n3tip7y&lUx{DXr zBAX&H?tZ%Zr0K~7F-r@%gtSgw1r)My(eUjMSS@25WPs`4W@@TN0qvhdKpkbae~xq( z)V%*3??{Hk|NZx<54kTRt?B;x2zBBfzJDw{JiI8vB2D3+kC>FL9{zg`sAt&c{{LnC zZPWj6jlXU2U)WGj(6X-np8FH4;6#ZeCEc7wkfFYagdAHr9zZ*AY)wO{+M9H2O~*%X zhNL?PjGyX$XA=s1{K8_XPG-dQjBU?JLG2 zYl+FR2)sAN8NGj)A1CMOHLy}5glL+aH!t~OqnS4bFZuA(;>v+UgaV0)HXmvzCmbV)5gY6~jsOVG?cnqAQ~7IOEeROn4`v-VE|4fjopM}$);>2&Ewflp68Xhc0Q zn!Qjjy%9~F^OCRe00m!iG^?c{wnSP&c_Y!kUc&K_KEAm0AJI`gv+mCx-x~xGTF(h=i9W;!dVMOveoHU=8_T8CwzmJV66vbZnm>wl2}`(kNjG&G3TH#XwG zeEE2byl`km9yZHcOH@QNSPrD})zywAh|Hz4|7$kFC4UY?k)qOjNKYX({ziUKkHzY# zXG74sQn_t2;MD!w3nR<;jUi#atZ4R)A#p3oI;f)Tq}mBsv~eWAEH**o;ApMut)k+1 zq(F;FTogGsqmWR&`T+0NEMHjk3(LV-KJ>Jx;elzRh<~}IZD{j=b=Kl^DUEhgJ`YN5 z^%iwSo(`FNVwvdXCY2eBU{1dguBMzo2}fOQ5V1a+y0M*fQX@sLw1BRsv&bBIe5U4u zmX2`gJW41VHrrHPvcpB~z;x}P`pn=*#{fdC$y%23GU>+ox?KgNi7H>El2&@mpO8mb zNIA2VZce|kA+->iKRThOUp`vf3Ion9Z|M8j%+a0RA=!LX!yQkF;IT7Zt|_8W3Cqqk z0l`O0D;T=>bu`}o_ke#O^~Te#1fG*^wg>njc|SMfPp@Zfvlnlu7X9hBQevWRo>2?j zkuD{W0f@R9W0Nm$Q7f8Ah6`)*43aeSy?4(o&E(2@1s&JMA#lz_?_gO8x zn)y2E##X>p_0OMt2aTTY&C2>On78Jy5GXQF>xV@1VcY#}WkI!tMAkoH8vnojONAPT z+0}oVvAvf!Fe0%Cv0)PDAwVRyiw>jMe^gS{U7*V};@UV?BhmX#BP(uqU5kQ$!_`bv zm=QKC+h6uHmGnPiew_s+pap_Lx7xEDTI@g?JJ(Sit}(;dIQyBS)@dN_yv5`P4VyOB zm+bh@le0YCp=b>LhepFVSUsPr^vYBRU!&6W(Ik_*r>zGYH?tL%?BDW@LHHFe=A9_UjEolIJPpPG=(xCss$jXDFv5wB_ZXI z`0E=;6BOBQ-@9+d5g93?<<3h~Q4Sh5GI__t!t>CZwSF zF{~Xpck!lcE`0?@piRy`P+gBEExh5C#P6v(G&wAZg}z3~AHrguyNTyFqKyanWyuL& z-`(A=+~0ZUkpZXs{{zve5bR$*D7RqmWeN~jrT0}mwFRxZ!}9n|+~JWoK!&@g9Ipip z7j(a<=U+9GOX~Ym8gfn{6v6wLECA=^9G%I%L`vQVxPIL1?>e*b@Q8{qxHw*MHe2^m zOV6Xc^4p;9>Dt}=iX^F~i^~U=A(quIn+XPXeSm@&ZFFo&j|3`JGTueMRv9CBg5Q99 zcd>#GSwL&Ic}wt!@lS1JJTRD>-QAHM*0=r@vKI4np_bG=Mt@UL9Ti}cc&mbu0%4QB&HvIl3cd=oR%HF6-h6}XiWK>sSE{0dlf zbyac|)AM~znO8{gso#{JF_wgWjtx?H1~g#R89~fk<+-PGAmZhYRMr>pZiy6kC=1Q{ zfB27OIXw<%TR+;b2Gi zMq)pGtI^kN3%K9QkscZN{$u0xP)_ec$5aJAN7QQEoa;1{wY_}72?pB=Nl$Qw3l$+8 z+jj>J24F|mg)4VO(a8KwppPUxFa~B57;>B=#v{gtnH`uAtr+EPADUG**6gwvS$ZD- z4|6+yF?1M=6t_gfu`_ga+~9CbJ%}3!T=wa26j+>swT%d@pzD;2HRQmmUgH?LJ!DWM zdv5y6&HwspSgwdm1+?S;=r^8!=gg=S9yzNf{48P6izYTJmY@xtS7nAu!c$`0KnMr_ zI@HYf)Z9@Q^}SNsh^3K~Mn-;qzA-Ce6X>P!%NW84q1qGXE2te#Xsr4>I<#-ngBo*l zAkwYUU=or?*iexr1 zNDB>BB%?7;o5A3S6b~7VK0#oz%<-c4$)Ifwsw=wa|f8D6KKQU#;< zeTkkxy)3IYY(rrAXL4C@6hU|Gx^Gc97((e7ic+XWh392p`*@ik{0!f?k8$@tPr&?V zgL`}jEo~cc?t4t)tn<&=_1MndPEW-^UbcJ39E<)?^Zs8>dadw`^F`4R#?Y(-kyj)` z;HJ*MlcDXIJj`U^;dTMyP4lRW+0nNl0{2y63ofJAKffj=dCI-7co=4pQ1>UdWQ!`_ zSdm5HUMuZlcA>O(!Qs7W+Q$)ezF(xk0xaxEC3aW7QVa&_gkul2UpkuuSgq;EpTo`7 zY|1BURZ=)<<`ByPTkgx{iN7i$CN&)l+d@oe<_ljduO%B??diE_j3PCgL#ly(G}0E4 zRWAoVX>uT_g7p=3;h8OO=ftsE=oSGiE zD?2BZDhu9&j0xqUYW66oh;|@UlUsBCw zKLm;lC-D`AnUu2S%MQrIOXBWCG`p$M`lb9V?$sOrW-FT3*^2Y1_<**#@a;_dLv$~5>q|!t-*WE+HpHQi1dewbVXR+Y zdHX6QH6caX$0@(}3|D0jtx3ts$Hdap;?6L4=F5eUV1xj;SKhXMvkaJV-^f>)`$VK* zztj|wD%|ZT70ro!zqWm>wP{29M&97jy0=SdpWn>1k-e_^S8SOZiyt7#7&-2h;MS!D z8Q2(^XxziGt0y_|L|gyX4IIAcsebNC`FxVAT?qrHx36~^DSl+Vl^f2{c#hI!^+}6B zxvw}T0V}pwCUf~T-G|*CKX#(N6pqS8UbBgC8)oOpHx|U4irlkm%j+rOb$&&Xo`r0Ee{xdr&$Ma<42 zg*A_j41wR}0Q8G9K~yh4!@G3J*t_%_$6) zpmO8gZR+W^nCW;$Bkm&IwTykeTXG5qS|VZLdEx-n?l5$Dl3yDf)&v!t8z*%+{#3e(?NVJbPrpD z!3u%r+(BLab~&jeKpJIYoO$j~rKMZs9X<9YzE<>6Z#uuShG%So?3iwkQf&TUPW|DV zRI;@2`~kA(AGGs+7>(=|4uT&dcn(8Ut6&QRWlfC_kqzIS`XQKvv9OU`PAII8}hl&5B7t?^qK&IA*+$)d?H8ng=gl zO!e8BGy@k|O3v>SmyBuhjlGsaUZ)<(OUPU_lDT{`5-etNPtT1|nd|4>Z@w0w7e$j% zfb^{_n}&>4Z3(y9Fj!3bc`LOS`GUQjM)JJ`hs4Dcwlm-%qX8InKIU`^x0#GgH9gTUg0%*owD758%D*0ymwj2lq#r<5GkNv4 z(GmfeWSKebLwqYew>yH}6egC!yUK+1zDjjY17(hXTLyh>9(_0}ia)#Kzd8q_y$m7> zX=H5-pGf)MU=&$7gfw7NHXoHj+nB?B8}3g{j}ONT!WZ*t7S8j;_P$xGPT}!b*75f! zB3YQwQ1_^)ZtdG+Lwq7^2ow_}Eimg!meZp@6&j{L0P)I9c_QdzBRb+Smd)FHHKz=6 zY!Ct8p+f2-aA4ZXe^J>cEzq7_Fnjq-1=&A#{UV0I(E7Pac2u6I`}t8GW$#a-RKSM1 z=Sz}i@|NiOYcB;z^84-iGsR!~S9o-YAaa0|KkYYZw2h<=6IVMJM&|p%YH#<@Z;-ts ztni-C{rs1L)d#cd#ct7}r^tsNkO zpSO=j$r8J?fP|#lXRHV|x9TQTa{bgE4_!T#Hq?0N5l>CF5L&6FA8V{Y?{AU1kWmL7 zj}VzvF+VY#ZktXujhqSx$`ZECc{=&EYS$kX`0agp{$ndWm~{41HcqC@wUu%6LJzVa zmtAdf%#XkZoqgr(8T*y0Y2F}r*xu0iZH%iE=@Kek<|cQYab!N!k@CAanDROA!o7s; z!oRpOqHiUUIcb~NHKuEp(DCasuR-n?i^>NRwEbu3WNsiyz?An)Fa2k zNxusgvTo}Qf44@R4|b&!yT!j#L7#rOTFK+|{H~VZ85`1Wu{kiW1jz7bl8gJrh28Jh zrq*y{Q^y*24-EeyL)0AEW}GKjAjZvLJ|(4mG=DM!?~fHQp6#&mkEZ>BvdpGM_pPE= zCdV3RUCk>hPdFAri}s~yI0SRP|HRsQVWW0cQ(0UN4`I_X2wa0L>S5+JmK++Ae8W;p zs>35SWHvuQ26cZosh6JFC)?hq*XpAU1>Ms`Qm)VxZ|S6Ih?5mv7{46d*N?`9i$~zo zO|BI??}80>T^%alTy7v8c?GvcgMZgbljRN8_ZLUQ##NQ`PFOASywlD#*~(b zG1wCCeCgA}omraLgQeB88CHs$9?B8Vm7esVO8Rw_I>o*-+MNpKmjVE70LTH`Z)G|%i5F;3tHQipb0ikx77WeJ+W3@C;F?p^myo)Dq{&A3W5lq(h^5p zFyTFeMiUlaPxMRq9dN^4PpJ&FN z`tW<;w~BaT7Wats3(XV`v%iUbp^SVQWUy$_jTYCdAQP|(->JC$wDPXHk~evDnNU=S z`+)rRA~rR`EgLSoc}GKoD)sed-1dj#cO`#0Hi#G6esf{ex#isDB|A5M^PJZRm-jaZt#4@q1^Q|%(q_I~90u&R zh!I{~Rd!Au$;_tMOzIR)!5hD%Xs1P~`8u$)q&l}(^*D6kysW1`mEPxV+L&q@uAslzMXr(ujwWEat{N4ik|ST*vJxd+76~xX zm1*1Oej)l#E^(u~K2B4|{!_;VdGKyej3wZ8x`WG$J}zx6SLdMTbwS%vSFNJr-XOdK zgPpNP5I3DKKM_-#C@5*6Ep%q4RFMOP=m-|v%1BC>)==+5Bq`HM3E~ief zJZ*7ydWx*eT!o6^nM_=mtv7M(i{>pWkiMv*ST|S1?|CoK7GWPKF^Sy5gOiVq1c`)= zti%a`0KXV3wTer@AO0CCj6XqbYaSCK-y4mog+)DIH;)>xu0z8{Bfl*;4c-nuxWvJf zel5$$IBF#Qd&eg+qf8$v^4(!(Vf?3!i^s`saMse|czq^QAlw!o1RbfkA!^XCF*Ji6 z@$6@s^jHSzN2h&@wW#d*>@j4QsPDxHv?L&tL=uE8>>Yi~#H)Yx7tZ(h#kx9*$(t5= zX+l;ax)maT;UWMk8&zZE5Hi*_2t-ap=R?wV-$g%GuPJuw;r^Q0uNeh&upIL*+a+Qy zx~`+)6($~q*g{B$zGc85*l1JlYi*L~3HBYnuaDVVbY>41>&o)Uc+(@HQr_eWeZ)}P zHY$f4ZOM|W#5AWMOpfe#TKJMe71q5)O!(@O!3kCQ0lwe8u2n+{%$#e_XkbYwF#mFO zjG4ycT(w#uLaE=TYMpNQR0l=%CA{yu-(KEYN|>az;mW`q!ysa&4(z8t#%job8p8tz z0$ch%-@fvF@ya0x%}>b|@_NNY@30Or^R>#YvsaDPU)YuG;HzYSFRc_`9P)3ki_mi4 z@}rsBklNROON8~!WhLP5^6ObkhDCnGoo(B7@;}v5#hDhE_)`^{>CC}35cB>FV8(Co zIF=)?ucmnA&kF4=Fsc#dP|b9CEQzg~1T-WF@G-o-&_*;HZHsiaYI_TNQap;IqqqH2 zSW)H@iCN4Jc;^&AzgYqgF})Ot>z~AG8G@uXLj{U*em=*48lfEDxGBOBST2?YHZ*4L zJ0Anyk~VdinwcF*%F_0?e$cjhr?IUq9b`*ObT5Em9yHa_2EwB?VE2}aIIQIC1?2Qq zTOnR<(izW&{~Ol+Dshq@XV*FQmud+>Qpa-rQFPmYLjLrn--PG*u^%^zrhFt{QGSbs z=FA&mC|`fjJ8zA1`5+!6C3O>IySEwXtlApvw{k^BteYvfIAGx3^Yia|N^Y3# zC+jS{rLwk+Rys552!@Uo1E51vB$jL0*f`K=6Zn z2hWe^8^j|OOwyyq_kLGDe?i=b6X8k58}Y*COB!v=@Z~cON~s4jQw__p2dlfg5ju4E zT{XIy6M5E5~Dy4iQTqD32*#T%DX-~!GmfrF9?yNwj!MT}waa)R#K4vL`p z(IZy9`ps(iP84%PGO7!eyp6*SrVMzQAp?HvODs6pu^l$w;_SCFTgN_2TZ*_(1_?1+ zoAs8!c`QuI>ewow6m?a@HMh$Fb*4dQ%KE0TOt3 znki;pDvZ-~1MTDf{G-&P?XGv}kWVedMhlBrpiz^C+hv9E=6lWULP?0~0IaDOu=PmS zsb}=^$af!^IA2enrGfC%8i6Q(%PvjN7Mk}w@8fp~-PqU^cWiN`O52IK2spa(W)=SO za~cX;%*o0|^hv($?yF7{Hna*;G`^U3# zgKhCu23)i@Y;4K-_^uIhEH@C6$4#;z0>>{J6a(V2wN^H2lYk7VbO96#N(eU|Pfk9I zmu6Fmtv+kP6|Ua4=r(aSW-tWrwdz7-ctBc%?Xb*fhwG;QR@@OLe(rt1JxJ$3!fj@i zmEv-T;RXPDxRO~JMA`dy-6foAyED zakk1?pF@lIS{~pdX!J2&lVn5v%ByJH1rX`A(sNRjyfY2N7(n%#*n7jw%tO<4)i>kw<-FuBB4P0N z#@(ZN`WP!&kwIlDpYJn9ws`|Xb;eK?|IkblZ;e&Oc;?V75zN%1b z6DRnRD~F)~K6}bjvt2cMoWs>8E}85`o)W8zbM&g{pEvSCfU~(KNSuW7t4Vns_W@46 zEq<2JW#9dn)R-~1z|^rJ%G*UxgPg*N0W87B7x`lIo`D!yEhg;=U7wD0w#j5^xVvK$ zL*CBu!gnFk-wfBbm+?nidOKYfX@+Cp6CJz#Ut` zX$!Ta*ZU*a!^h|sias~_q^b1+q>6IB&z&;O-QoR||1GC|%i(en3wPUh=eE>cEu%J++vP#KxHO zqypg^BZiPr+VR#<@{FbIzVAXQ<{zZF1a~-v9m?eO&B@*e5r58vFNb{(<~$m68X5oT z#O!fK3(A_fSS|MiRUuC+M59uT3%xhSn(C`;d{v_n2a)fc45eX*xS6UCMBA#V9-8~P z@d(h8zdt~o!LICP74SfkYAYm=>-~}K3hk&jI678!xP3*wB|3@!n$dQW)~CqN?_e6> zg%8F+u9>dSg@US%-&XkE4o>cQ8x(J(3u>fYY_I6r)ld0LS?`Z1%s78(7YEi zdv{|8ZgIrV^0`1=zJ#ED5|CE3q@+10)>vDxXrbv`%UZvfXy`J?DO_vl5O|-_lHJJ% zIrqDuzLonyjbFSG5E1i+dwt27mbXgIZ*lqt@7KZUEB`*u-ct$kYOYcu8-^;eRwlM2eQ#WQ;6cr$kl=Ruy(AGOUrba0|AjP1SiRtDaadF8u5u9NoF*w#hhPxz_T352S58CV(jV zLkN70)3YkH((8cI`<6XHLt_Obsc~RL^<4kJdA?=R*@!r15i`yku5pN|aB3O4ET;L)b*KAtt>pub}2ZLaOMbZX9xF^(~Pl+7h`a|LKf{PsEe$5}Y8 z;YT%rbE6k;zjaw_u3)zN1kp!tA3UMQr(Mk4Q-{_zkscUd=Y@DbFu8PE>ZMML6 zAD&|2p5C~rYZMkn1U|uc>&RsLONLEZ;LzyTEZJMJ9Wyich6n%9#0<~#FaXfq_}Li-Sau^@ROsFMVU zSndN!se@+VNbOH;l!g%LSy^LM^06`%5jpe25hWYcC70$olkH1+jUt}W$<8V-$7r52hM7#K5K1i4GelLaK z3MzASFit6otQ%{*l7!UN*I-$rHYH!FeQr6EVvUagBvbXRjOp;j)LNsM zhwY3KXjH=gc%dP!WQU#gb3MX_c5kZlsYp}Y5+MICl-nM0U`6aNGR~-aRW- zt2C|9=o4`I!3WQ(Cfq)Qrd&>-Q&+i85M~Up_U8XoO4Qa<(=rIY)RJfomk9I3wE5zj zLy*5kc3`u$OU0bg-yx+N1hSD@{MffO=WE$nDSEDIo~FCtS5G0Q4O8=XV?O7giVA&f z#QQr>;?TXdZg{9?=c^UThsrmOM|%Ead15zHHbp5YY*)_nI7zsMpT zx1<>;w*FO!AEa;2KAl zIIk@VU{?=hr50(Hl-cz+{S4j?mh>)xR05bi{Oljm-I&oY-|^A;omV*i1#FYYQm`{l zM9I6SMM{RC$nu1$^IItkwMxSr2QO@ob9`x-Fc$v32nm0y$fuTFia*?03;lVDq3Zvk z9w;hYKe;w-5^~gcF=O!?DqR+}5^}SFs*{+&`6{uPIZ0Vcxn$0RS@yB%!nx6ex=dU4 z$Ct+m?=PzGv$A-xH`+{Mjw_?vFDq!L9K4xPO!4`i*OVs`^FM0Y>1Js*c}7)wuH(=< zB{@uvFdx0&4yba5wV}tsZd9^FVIJIYugdnq?uX%Eyv=}2V_Exb3&!5^Zq$y1VQ0OA z?k}gSF799{F_Vww5qoZ44iBc^!$B!@VA8Df^3}D&hy^fmEvqj}I{WVSNb7#t=X7~t zZEEg~Utmf?fW#nJFv}Kx_sEF;o}v=8-#(pTkx{Mnz2D+f<2DDMrIh?SdYt(=;Bfn3 z91U+YbM4sU!L`2!!GwiIHFw^j4RnqJL9_4%_Me$zV4#$s2hNQ=q;IUAiD!>Kfe@iC zHB9G;?(6LmNA|wL6}ax{qp}=1Zkp9`PApf1a$dYPofazH)$eMmH;atfI8EDp|ErnJGVGW6&Ejz8y9t3GUFz$SzOvYur7;@ROL2&KC4E9&>^Kc1r zO4I!~@!~(4!FF#2mHbvDN~5)2nhz(wNTmnh@ak{9o!T=WRD3huMU1zO#yJz^I zd)-D1DZNJ_>N>H;ewmIbKqqlz`)#P|(PdvB!B3gE4CSBpYJ(-d{(&?8pa5j6{V#aP z$Ix*-{-8zf>x_F&7PK5g4L5MnDRXw3uCWP@vJMT$0KNGhILBwFTB_X`_P{0+ecwa! zXdi)hBNfrHm}u0!qpW6h*CkM^mE4&TgwtC?{e|F4P?Bz$_>Ru&$jeQBkL>WW%aYrC z8(e<5-TuN+iYhLbI0hkMa?c0(gi@BIJFFE8XGBtkaB7P4uEkYc1}u;rfsxMQSG%Q` z%4!5zlspeqYn`H&jp@}kRNg=^c`*#WMQ+}RR%GM;2kue26NK`rYTTyTyVJt(`)>5? z*alM7rJc|3-_yF*L)1=j^}=SL<(m?295dJ09rpuqh%xk0i@+;T#J1`$)idfVo$b&-s@f{q* zxIe@qtDtbNr$UokPv2W`pg4Oqr65djLIQ2`N5A%PiG$XA$d-Z>Ip0NnpG`xfXmMOLuiM(rfBXvfo+lCVsER=GXOA%o~G*M}#3023h6fxbwFSx$!#_oDSy|$~TOYS8VYQ4Q|7Cj^g1lDk`g{~{ zsS$*U&cC7Vz6(tPT9f1F9ku)aC_CyaGhg0b$`SA_+K`;C=f1{6T~Beb1X>Xh%|$K+ zj3cKYQx~iH9E$yYjbHx<-2PC8U=E}OojX=E4+&{!Y72RifJ@C4b|9ws{n*no4E)Z5 zfhB@hRZr=f%0*}vJi}&Ig?NQGA4o=vM3fKAEU&AgL$1a7RWl8d^qC8ap3XC<;0+mi z!AUD|v>J}jYwt-Wod9rsUVq5=!TTB&)k7to5AVkap)cWiduEUwF54awe;jowlYc#H zLZkAoZP&nH>n}AegOn8h9J15ZYYw5uH;>(V;qke}QfwB8EC08u#Ek**oQr1RBQ_Fh zc7Q5S93EhD8!I>LG9+aQs&)18kh`5?i~>{bE8 zq?XpDtQ93kA^(zo*LCq4I*=z^$3TIEo_09~;h&y+$k!N(b{+CARK3TmFAkucZ1tMi_gm{^&8N#=xttJo|8d-k z50!)W)NQrx15B(c!W08umhOTjek3OE?6%a9vwpKNFK)wMwuOZ+$DZ3xfGIufjf^=r z=KW*R>(y77Tc$2{sgI6LBlW*&R@JW){l-0Jarkks*$ZJsl*HJWkGn`acdBss0SL0Z zy?ZTbGmppU#aFjHxfd6kI+j~G@8D}v8#|OMtG6v=jyfw&p}0OeS)_l9M;YzI|F48x zRhT|@C&5oi%y>+g+v-t0iz2ejO$SOl+B;JUwYUIXF!_XI)7=KJ&x(n5jFiUdY~%VL zNPzEj9xP{yW94N95~%tuKXM_bH8PwkMCrKx;L6X3{b+te#DQIR-s>b3-XOO^&L|=r zP>cdq_8q}{cy`?6*4^dNQx_j^TU>G*?_VcJ!J2TwqhtEGkKP3)o}A@S&RAI=BPt6G zY**VAU#q?+W+T7uD5m#x8s@}u%fF@QYynp_`0)Nwm9vF$!5w8SNwRU0rBYr7h2Fc3!Q!Dj3KV7VwM8p)+LnUO$zWIyfqqfFdcnD%It9DfX!_p#&L1ULx|2 z%V{;|-1Ba{b(dc)8v-Ag5Dxf>LXQr;=;to6z&V(>U<;L9*idNJ$jn+KR?qhzGC`~C z&(Yc+y4cq zEP=cZkZijujQ6ZS0puK-*?z^}b_8hsZ;dx}&oxvoUK;X$QfLZPRMfdSf#qWln%W(X z7AR=kX#ie{&({1!P}kke{@UQy7cCrc>#*En&r4z@^+>w@8%n zbMyOmNx5iLW)&8|B2E^|$*}Q$9shcFW(N}iHQ^DmV1<|RQirc~GqF%4G^YlT}WY=NwL82JfjE`DEL z_Yo%%Q%IGEPms#)Rzz#&g7IyDYiQXfIaxSrj;SUKcxa~z1v{$(1Q~5&+mCGga_XrrylZ0(5#oV` zqj^HU5@Iw=ALK30y&el@mB{<%h&nS#Ax~|RfKtadGMSmg9-{%@0okAXObvp8hMMtZ z=R+FEq#3Z}nN{g9>TGqUOEkIOe>Co$?sf3N(@h_7ivlslR1aiEcen{Iu1ZsXUpQYD z9gCBoQ!e}!#0p=bwfD`SKWu$}bTR!`ENt@4aD2IiJ_Bs>S@r%7!)F}(?sl=(bal^z zlZ3qIalLQL$3V+uGYwfRotHaqgL<*j%6Nmjn%!E7&-xN^0f**R-5>_HD_MWhg6#9C zKoNBE{Ll;#u5RGKz0=cN%@g%6*}-L>lV&AcgvqY_%);xj=j)S!Cd;jI4$KWc$o4L& z2XW%CI2hgW=QagppJoraJu;z!VL!9qO5&sq@0*jLzetfsa*kNg3bF8rYl4sGusRFtG`OY`fo);!f6P2`mUUQsQAbn|MkjFOifFPE9sI!3F=!SNK=R=mzDs zzoh)Vogra0H!;vYn<#(K*NN);hqU^j`#>YGk2?FTvuutHtwL{Nwf^5dp#lM@PN1QX zp0ClJ`vT#(bW!-e9-y{Gv{B!vx@@zS5omaomaOwa7N@7?}`LsrYqL&;97H?p= z$V~wXF(AjZ%3*BdoioLx@+}y3DPb&b@2tR_Ub-t8YoEoJdMS!{&0F5iA>z1|t&nCq z{MQ#SnB~5qi}}b6j8|yY4d)zPtW!Em;xKP?C&nv>j!|dW_#y;z0tDUmY=Gmd>#~Bui$g5ropxj zToC)Q$lE@P*GE*~lMW;QqrvY66?P+tqU?rEfRAN|*P@88$e~Zm`GVyjWQ#1lW%-5( zGCKRQI=jdGvakAbBT=BidlAbch{@={#c!plzrp>#d;fxrcdzL9vg9h3&;4c`WS#kO8@JgT^}|{Crs-k9 z;i3-QI4uiY!a`K)1M2dTX%WAu=^uQ>gek+`&lAV#hfDM27^dTySx^(&;>j(hB;81= zxKt)NZ00`7Azf$`wP;{XxF%KN*~I3iD$%8%y{w-%bn&vTg<=OQ@Y>gBwWV9L>CmHD zQ~N5=uxDCH>IPn_$JdVH*4{6RYu${+mY7V>%LnE!bZ{Pi19%gf&oV{C@3iKYc7)@% z=4_!8c{P^d@Z)z$W!wTHco|NehmZIPOO4ozmfjAFMEx9dTgPE~(V$T)lY?}tAoJSU z++h;|{a76HRKu0YJU_PCo=rBgmPvzNA0I8|aMq{N`jg6)wn^tArWk71=z)=DGWqt( zrQ`8ibzANhTTt*=;u{xSemamd;c!S#v%d~qB3Q0If&cy!{Tvbi2He3}1tf1L;RiqB zHUqM7s4vt$(0Oz1$$x~>fIL#x>XKJy**t;b#cAw$N)GzPt`pRW`OwDCLdFx4&VtqV z!OX>dQY+KMN-bD*)^^5ckIjMtPkJR+|< z&NLAZ;$(UnGD+~?OHv9h-0YJ4E3 zpa=;JyqfjlL*~bi^2Y~jnkzbCBEL=}%r+^YN9JtmZ)DVy=K8;rQO$ozQji44;!$>Y zJ=IjlDO11Cuu1P+hRPVZ7agY;UPpf?d|B~X-gaL3_F#IiY+~rn)0E_E0ftfQ1^W6u ztdg$=2+XptE$88B=k>A(kY#?34#VLyECM*cm__>Tr{U|(5K>a|cja97TCeY6srRt9 zqR#lC>Q8mw+~%`@qiSHNu@5jevP5LQek^wY7*Y6&i=danaJh68I?SzG@Bh&S|`3m7Qdu0cnN<@A|t*i3W5&JWv2T;TA$SnVnxk!pG}PV zZhpTdOPV(_s1H+52Zed5u$riE@|Kkn%kG`Abab}0u2Z{-R2XHDv@SnN99%QXomQ&E zm@Bo+)M_;lg~#c}FmFy>r&X&@FZ-4G=QU_`nLJ8ZW6ZC}`jWqNJd1ZkkiQwswg>0B zpwJc-?#IT;d(WIpCtTq_WSb<_ zdn6D}YH8V*(o|$nOH4}}g+!93i2E6`j+qaokUB)@tms5Bx5smvvr%cZ#e+Na|00pV zX8?F*1{6D3lp@_;Bs}4aEbP^{k-4)stQD3sr_XXnD1Rrd4|S^{;acJ$U!37E_9)-lMtDz+Prz=6E*hj#w*_9sF7d)|4wb z0es_~9cTS&$IAeYO%fo96Vi$m#Mz*9Rqg#i{bk*~y>`!>mBE$&B#QS)EYrK7__Y2- zbfvF3x**#lok}V72+e1W)`(1Z{Wn&Q4N1LJUk`@z>-`6&__GV{U)Ij;E2!HHF?Ftj z^dCfnUMBpU%RQ^#Ua7BY$uA3lE`q0~iSB#h8jlw2X~#fbUI`-CXDfSA_cQO~$CpjU z0JGn$J@R?>+k#lcgkhJ<`e%=s7b71F+T;FQTXWUQWyL=vDgc^oeq8%tc*n7Q>qgz3q`=R0w^xR2%*&k$f4x;PCc$r8EOe{^Vj(FXv<>xcwAh3mxY_ z-^>D7niT(X$1-U>GRx*RMSrZ7EB2SDL6@n742(>9DUOAMujQ$&q`i7Bv|veJ?sqkV z?*L*5VP4zgG8ih7YR^@7+%Nm&v!V1-+-%7}xRNIMv%FKb5o!!3dPf=B(z(ID1b2hM zV0RInt_C{oG2DOwz7qBq=5z!AO&{2^_?kH${qp@n%;;^QTM~Z9__9Rz12Qr(3l0+8 zH>P4k7a;Wcb}A!3lty}o`g^capIF2Xk3@@=pZSvzmy^W2S(UHUj%J)NDii-h)LA9ZE!YQYz8P`iQZvkZWjW;2SWQ&-E z$+0qdaktQaNoxRqf0S@Wm8n}l9$%-k2S94O$q!g}vO11A#Av)d*8dby1B6+k7v!So z#X0*eh@5x4-dhd$I1G>v{MEC#l>GXM;JFl+DPnO{dSJ}751mMPaY`_2G zPWUb?6Hi}?#H*$!e>nlq^25C9E9o8j_cwsXT+xTOu(ZdkJD1HVgH8VZb(H%I3bn=$ zocCBaPLgvKE$uP;_X|uYb25Nu%{8Fp|4+Zs`tT_G??LC^6i{YJwUKzO;m#V|iUequ zr`Z19uMEPh6cpIdr^b(4v~_N|X!5b~M@hJuB(-x9wEWvkS*nGnSd~$cT)DMVJ}gYq zcFQ&p_qu7?ZS4?v7y}7SLh$IWbrux|g;!;J^;lL1FU#te53O|E&fM>D0!mmMIV`RQ z|BDcm`|d7AkrTKwN(yKs(){}e0iS#8R(GAyQj@8ItjYdefQHkGD_YYs(|fC)v`T3A z?qljR7c)RxEDWgc17u>eNm~m>gH+5Px}3us{D(DDL_}4Wx2SFhzI-h$ZLV8>QRp2L zBRnOIhyV7)2wEOLX2X7WB_UV3jmJ^&#C4WS*?sMjQ7YjSQ1jFm^=_H)BR|_wr(bTj zm^F^1^3u>?Yv~#Ur#-7&aNKnbJQRIxQWL+DyB0cJ^Y01{+E2flYf7pXe^MDk2>>Y%rbwwqL;4Qq^7_ zTE!&5BR70;wfZr$d(Vgs&pq+uY1yUyGjv&ZZKK@EN_uKZiY$|uWui$XcV5Nc=45BT zb$qbdUNz$zwz6VXU{Fi0uCA`#=qqY!YFc75!jYAe)BJAv0W6l(OMsWh14N%aDdaeN zX?}j*@#pUILfexVxvqCP!ci138w**7u|w|6swtn+M7>K)TCNvpm*Qk(WN24A(n(56ZjD){o2-7# z)~>LQgRUs#K3qyKc#UXY_lmQC40a}{z~N~A5u5fHdZnV6g1eIqFN7P;e%d@_X3i`x ze>QPY^>kUMxHtuY^i20V0}mJKg=l;iRoB$qO9rd`{=J+oo|MWik-tM79p(x@jcn~F z2XL21QFsZ1o25qZ`h+OTozS#V^*j^{0v2XRH}N6(wh=D8nk?5D@Bb_pd??Ey`^=b_ z{90dY_@{qCBnvx)|DhCW_SB$AE{S<5iqynePX!&Z3H|2*nEW^-BQ?oM2~Zy;3Hl zr^99^;|wFvK0UmV7svZ1ow1Cg)lLjwzkRDnclz5yYsLyZLqN6IMNS}<2taLL37F9j zj=s`P;zCE&Nnz@E^5jN*J($wL)gG7Dz@>UkcQ!t9YU@*&1m)S%H8v6RrWpN;-6RLZ zb9lQ{T3NUk-#=i*N9%Z*TQ1F;8j|3JTl}INktesmtI?0*>92XOlGexsn@TY9eKVA= zW!C$aZ#1JVW=A1-mRi@pNaL*oG-m#y|&W)IJ-37btk-` z-uu9MDXvGM4W;?D6Ww9QQrxa@?`|&hzThP?F4~#Bxw*Lx;?lk%Fkrw)&7`a;pk&TZ3E{2x>V2KJ{4_Enx9 z=g|H5WI{bn5mIh&FQ&wemEU19sQQqUx{vEYi*}HY%gsk@d>E8MFD&70x5T=tvfSH- z8*uBo+u4fu^p@3MJAZ?(d?Tc1&qxC4QakpCk+2F zRch8=0>@fxRKA5IZcNwT1A#z5ntm;o)Ep8?6(MT}OF?=}RNA$mVBO_53CkIg})}QQ%<8daB%39Y9_ToPZh9XUaogWq4r4Ko6t{wxti0B6Nx( z*s+2^w_6Aw%3e2Hb@Wr#FpEU>9fzuSJw7Bd3Z3ncUgtv2BF6!R-0zBaE<}_E+Gn+U zeAtqBt|QV;@ns`Zf-RW=sr5Qek~^o@A~$cyT5U<6^qwEFw!ipy83Wx60FveZy+B$! zHX#q3YeVwDOdPaokQo~~d-N+U}qSW!&sI->18p*+y zHZhN2X$9fPHI5+G-vfX_azGyB=e4S_a+jc5DI&ocep0o@3Tl_zJH(k<6qDMKd0jY( zp+xVwgz;+QuNhm2I}i-7&Sncf5@Kz4{{p`iZ0~r($I_ua^iY{n@sTkbtCXe;fVvG) z_hh5aUAwZi%|g5D;p87O-mfz;qOh@+xqs^=hWBi1bK%XU;`lA6H9Y3yzqs;$BH<^T z1igeLPiQ`K8QAO&?n&EBafz%@_^%Fxluki{5b=0O&4i3eWaRCZD#83dk07BL?r}RA zH^-{JV>}O;q9IDRLg+^uH}aXgiqZCu0hYZH&>)<#KrD2oa9{gs5hk+*>$5uKv&C34r8sC-uQh_8Rd z-!tGEBUz>4=Guo+z&Ca+g5l1>Dxj{c9>kCXvs&7q@4iM1QG-anN?I|{5jPJ?6lrJY z<<&S&+B>peT3Q;P$(}_tb~`PRCqk4v^PU`)og|-3{;U(F^NT;tdRpf=hZ7qcTjIW< z8yFH|vml?ua@^%RtQXX^4Wm7B=v`1)Y(%A=99Osy?_g{&bfrJcM2q51ro5=v&W2rL z(Ao#ZRBQ0gv&v=14gDg~NaS1R7ckg+Bz#A?Zk6{t`un5v!dMZbfkjbOk-Vam#^7>#({aP;R2gvE&#G zGX$&Z5^(8!%}_hO{w793H|8Km$cPqf#Fqo5H*D33v02J28cNp9pdd|p?eKM1zPS2o z03FQ|KtnAYsK^)4-QR6DP$O*Wz@&W|1jLvyOTm?q`&yAUm@kBOqG^B@ga|=W<*n|6 zRH>TWOTmZ%mUCJVHcMH^YxiU2T{S3NAvYl8y!`P7d6KiT&IYqz0*~T80-}26^K*AK-+lnp&H(}q?1P;bZ#10l z>urF20Wrq559z*nQ`Q=1D$5+l3IIYYjoPTgju{s8ZqIXAQngPDTH4vgPbI+3tXVCPKaX<}$~MGD8=_*>`{b4xFtO?B#r1}KX6)23 z)v>X$@di}=I`eTio^Vpwp7xFlIy=YhEOvh0w9qQf&Rh=!S%Q9qc=G%f#4FnYcyVR` zm3_ZvmHNwM(Jks!p?3xt4o9c8@IHHvm9OagLV{p`BH|)geGr)1Ke58&er5XjC#C9g zeDkxUkkCByU*QGq?$)PhLe-V&F2f7?Xv4Bid{&jRr z1ta2J6WP3DZVTfog&Z^j(!r_4`6#mUj)aoYFX$1%tFR4bUMKdA&UxQd%XfP#!dd$5_v5NE&5X4T%;@G>EdUHW`%*s zQ#?Gp@*Sl}PML%PXg<7K4eidu45~M8;89BosGvSM!S<7oljoe)p6GW8gLW71%4aZP z%-P2lN1Y9wRZ*epifv!MJl*hl|NecsON^viTbXQ8MUO-S+tN?P7{J!-DsHGGo(UFk1ib>4am{Jadn%z_R-_8mFcHtkFmrt$KXxr1j$hkM?aPQAV7rzZ>s#xkzec<#1s^!K)9ZaTCSv>H8ttsQF%uYtqA zZ(JtgD+;??6%_8>zpyg&LHy)o(COkuBb#oRR{g<67zm7;bw^_h2tQ_~zX4R`%I#LW{P{#b*)!EweihP80cE#Dh1P^k_0nBD?d8mSv(0@@V)nEp)jYSjQVX+o*zy7B?Z*FSc7LbjKL6<>U^i;(~`r zGH1wFg+c#s>__Pw<*cdW}Qx1$ne*%znrm6=ygA_iDAxuSMUSj4{3{@e`;@2V?QNSIEdJ0 zU|=XU@4U^XU;Q*WY_jdyenkU0M70auxre|;k0{woJTl|{?bQ6TFdweR!wFTtzz?5b z?z|&|Z~7&@9z}{|ttuHmD)v|KyAd1+{|j$dHwLq^5k(ka`RV-hY2XX0pp~I?1|eHK zdW&PTlym_va8=ueLEXSoOx4ygMZ>4hxf-Q=VJ6zdTQ{zIdAusSTNQV=3LSp@Q>0E@ z9A{wQyWl`Z7l9AY5N+|^PGD3Kqll})+!k+Fon7{kU}6n975AMIYel2FttVR5RaUnw zDI7-Ohb?Pp5GC)L3tOaNSjUQdL4;v=zhy)d5>q$3X@cuOVOefJ7bz~Xe>=EuA~cFn zzj;4%n?*=Hv&Uxowt=3Tj1neo%X3jiM8Jt7hb>Z4ev#g%zH%8Z_z}DH6f=N(u%8@U zYI0mc-yQz2o~A8@bmiOa=xXm|p@WDnD2!r$Uc*ta@K|cjj@{5-eBnc7DIU;q&IwG~q5|pi993D${pZLwcfxiWNA82W)yNpxhOkfzI^s&ocx8Z8RFf6I z;MIn*Dl-`$CW1Ca%3jTnsArjrJ@)2>$>E~kyiHRav|OzxAbPFLOGX$0D8mC=PQsj= zh34EB)sBv!$O58Ia)8)UKOnZWQQLA9nJ}>ZhU#$QV?wF3tkKnonkz(Z4pA0Wu7Oim zIDu*P37+nAbhaX~`OAhm%f7l}Zx$mYv=7&%DD7u%6OFpHvWqY9C+l$;n z-pO$r;FyTA=+Z;Cr`nTB{}d7xPHe-KWqU zg)!y@1rrv`0}KO@^Z1;d9Ofg4RWK zG0&e8M4r?0mlF1;2J+&0`imm)$Hn&XCfgi7cPufN@KrqNt=I28t#c-BHw!5BS;*374m0zLr7iiTbXR=En?6?or1R2F)zaELsl34sWnRQUZ z{J@o@{?2E^dhjkmXMG(w3x)+7y=GdU<}AAC)wO0ODo5A<1#l%OwW5j&uJXU{bSW8- z;R5tnG$5aayCKvFnqoDI_ zM*b#a)qCWS2c%NRAp_KoOjmGXUP?gfL4rF=vrl5vI|~_>_7RfM&z;s4(b2?(9kFno zZdM&9X4Yx*ij;656OD6(ywh>G_GobvHLj|tfF{e?8}kMXK(5t`zLXPX`%O^(7_c8A zf%-(C=|%Sh9!qc}(gA`}Xkw~rKn{gDN0`f`rDX0=4r8N-{7}Uro4~t(w#^NllU2cT zI#bNBbfl{@ySefjwK+BD#M}pc9i<3?aw|5m#JC_gvI3FmohOSJ9^5rIUFypJ>5N4X9|Qe_W^wHJr+iVKSxng1g>Q>Ck;6w37Y&pi2ZTla17J){{fOfLU36tn^aF1A#)a z1oPN;c*l&o9-&)vNbMl*I$F~Tml+x30qy@CW&1MFwYUNignzHDSSNP@>o}ly&4UX9 z@Jcoc%q~bxTW385v`UUG>osVvi^Fx+9**TU*QS)m1G2pH>dLw_xXs0_QysN>P2Gv+F zi@rMkv0R>+vj=gbbH9#gACz`Ni|RL}2AwE^CRl1Ci9^bz@T$K`j+eUuBN6yMb1 z;0`9*#-vdF>X!zV^U>6z*S00ZD8)ZrNgWsZG`*@?j&{51yNLxc`PAGi1t&Nj?%Gou z9Sje_((;*Ir_WZnJg=Y35Xp=tsE^~N(Y|>jwY%RkS}uB1xbf!=T*XNCBWjip6Yp8AsWthv&Z$deVgdT7 z)mmS)Z!_w1q@P%b8m^GpmObSh_1cL!2gFJN1cDh#O9w&&JK5QmP8Rv& zAfcU#V4YVi*tj?^X962@)nPJMXF^DPXG%63;z;2Y3x+v=u85tnQ084qazP#f+(li0 zp<^YPw{A?oAS4? zovTYYO47@``hDpFA_>AcYav2 z2_=P%F4Q`4{WSQ4HfM=j?sy>Ul77k6*NhLRd4Jy6x&~^l&&oVh-JaOSE)WV33YgrYFKcQH%>7}Br=)Fk|sp{<>jJG^W9i~Y`G z5Yn#7;R&ZM-ovbiNO0$jjhI~jUEmxZD}g}AUF=dzlS||oJOZF4b00d`yNWEtHp~z7 z5SE6LgzU%JJiIHPegQWh%EKo2Ke&LVvER#GycfdLm(NzvK z%^yVY&yUBOCR(YA3PrxOWdnmV`H0Li)n>7&wK0_U!v8yR8$B1-mfZiC-Io7iQE(xS z#Ph{RqU&BYElMM|?Q4ok&Z%J2l_>g$mi994UkQA8G4OEs;1xq_eF45AK-(f*Smmge z=kkKlPRkcL`;j_*6Z=b-&UY20C7y+fL{-{5mS7c098J0?F50w2$fWS*+LIv>GijUzrX$6Of zd4)(AJKDT8nba280$Bt^-QEOb#KM!drw#eqX~zhQOQ+WIwJ;#FG>Btvk3}i>N#OCq z&r+!66h)IlPLvgSlFE8y@W4m#UUUZPek>Xwh*W!|m9GZOE;7D8`KNBy~W{ zW*vMnWUf4Z==&e`z@Ebk-R?jki9IVTA5HIgw6iq67u(qFa+JkV01i$GJJGL<^MAH% z%Fa*qn<38ugxT^nM7!&{Bo`CaGFSB3=E>_Kjg7Ppy+@nAja??}tD5srYYY-|xy|La zXTLs16};{+)6^`G7Fe8rM`V3{ZhiJ@E&u(w!HhdX9!>$t6H$Br0xU$Detx*_Key#$ zO9Usm^K;r^;$_P)KTeeoEYWEp{U zL(!`MU7OcHj;-nLoGcIO1O|>m6e|&Nt`Pgq?|?Yh2a$Bu$~bzpNV+N{lFS2@PO9Q; zqo8BQ6qH)PgP8BsbyUz{xt1{52Wdl^b@1~9r+o0q?HC1Ye<>4VLV*{8N6nW>CXv(& z<*cH}0h%BN&j#tOA!oz4WkWM?BsJE(k!gLt=5g_(&kG@D2T%wOU>lOuv>3KLfRBJ^s zKq)h)unzGeYYSn+WY&=m6GrC%XGr$Uo*k>b@_Wrk{GV3AlA8|TbUgRvfs9ceFO<&$^=P$BsO3HH1t&HYW^Cqee zfJTew<@r1Bou03mORF6O%>+yhjD}KK{2h1Q<{s$WE`=Lhz_AGht(gTu?%)U0lGM;&&-Zf+>K= zA`ppES$=?FJ66zPmPw{II%7TOSm=T)D6q(6QtS1#>weWS6Ey-i^r#etAiahy_dC0U zfUrUzY?Ks|(l{Ca3?Pe`_c=%6ld}PJ!0cRPrgP*@O?O4ikvs{@h(@1OTMXoB5hA?x zH^2;61%OCR{jRsH`JmlYQl=BU$jsI>#u+@1)v6yju-AI*;DoP>7Q1BGKj&#G&6Ok9 zM*nlg#P*FraB4Tx{5S5?a>;(F4*_9c=ks{hakaYY99W4{W25{}2+SD^KL3EXly=Nq zk*YKJ(%=@xI#Fe{ah1Y>*7Fc|HU@LDJ;{)^bzpVVA)&}>Y951x#|b_MN$9xIgzmo4 z&8V``0rbMSm?E~Q0%Wn$mdmYG;DE$MbVlAzKEeF7qZ?PV17 zAp8)wA$>rIInrG7Ry~r_CEkY4CH_d)q5XI8(?9ld@kqOqrN=N}bhh;Hot(#E?Vcp3 zfS>E;_T{$g?WQX3bg@hBUZ{HXjiJ@jlJ&v`Xw)jByrP<G(KjU7RoOEn- zPIgc3qOEmK?yV;W#$9CsGsVng>36v$MrlPZX`BKQHXp*>;Kvgpo1ahp;McC4p$Yts zkG&Ij*RR~zvc5@MW$%dcBlZvn4#}DIoUWz@jlPAd7SvUakwR-RMg1nSB=>e&*Xp%3joMm#98J* zfMx=D-0AW?OaJHYH?;~fGss7UB&O^nkpmTIioz;mRc*O!7b|GM{2r*lykhL4*K#T) zDOoNKG=(i8zCdlhHG$NHkD(pONuGp221D=^Ujc)uAuknPF#_USF(_R%Xn!a55(W~f zFu=&V4uo%zr_dIKH!R}7NGNpYc9s>=R9#VU%n*vJXaX1vp!~w4wjbC0G?L+3GT$(d zn*9Q3M5PVr@1!j5#bTpv=rMF7%Ar!A4Rd`EO?EUQ4vs1&O$D;Q^{ki3(}MPBm$(VI zZWP_IUb-erP~Idz@;_oe;#hRJ$e0<}Iq*uG%1CGgiLf{=+`@w7>Q2w)Ir!<6?DXg- zv=X1%$$!JE|3{P*^6Aq9Skdj!YbK@I>Bv_P1E??r7-Rm2bPUf$O{`nsV!c57?>AU&^>|sVvDHf)SQW&JvHpzfni&R z@6_DFFdmKF=F5OoPOn4X*8&W8w%vTeg!gW7L9?aO$wNMOw7$kmc_s5IjEjK_FKme4 z>A6=SfUhL0Fr?u7W${z|*hliZ!oPoY(arE!x_hl+glcFLXxn>)4J0*lu2lwoSlo}g z$oRq*_hTd#`9O%Q0z{k{WU*5Wa#fe1HL0K+LFNMyx_HhL3iJ`pijmCi74e3Ur(-oL zS=1VRT8d(zTQGglaNvoKqQKF7%&Bz|8`2Dj<`~loN)WM1T>?~6&=LhYX5e7l08dNo zWiw7F<+4n4JHc$%tOa#6nU4Vz)t;+k*yYYssn3h%%LxbhC4f7@gCaypW%~C(*J1kT zH0KF*bUaYQ=>~WbW{Md=+(aW4Dhk>K4#w#cUo0937)Db6aNJE)aTfJWMdd$yRrvNOCo0|?zozXz8yEd&y)7E zZ0v@HI!&lcnemskp%ZJvZ;ukYRZ5UUP8+P86!3)pg*G$|ER7FxSK-w|S}UMl^D-9F zsd&b*luD`ud9RSmcsv*mG;DbQ57FGvWia?~@;&?}$ZLfM|%z4+$Qk^wTw-D`E!?J!LwZ?vFd~oHm^^|I5sXen_G2FoX z-Wq(cu4u>TsMd`jDFHy7=u{R1g`E0jaL3t>(b)d@_HR`-%H{EnO@z+!>38|n2doQ= zV{Xso)g~hX1_nm6Z6S+r%eNmnN$&p?dv8h5_RP;=cL#|%sE}bD5pN!I!ArY~Exbjn2}a6#jJOetk zYvy~Yld2kN#RshvMpmrYMIFcAt066u0J8B|)7mo$n33QPFy^1jOwU-zni#I@e9j?f z;5C9Cjol5ntEa(^1)9Hlw#$o)Rxm?PPeB0d>jX4HHmiOwgi$jJ28 zR(fF}&^6{%F$$&EVC;z_zt{d@Eh9G`zN25)+$?FwI6YnOU1~k_=yPi;9V_eFG5haZ z9*ov8Njk`X)^E8y#O2yU8lFa*Ii;&{fx)mm9(ApMJj7F+m#64$I4!d`r>3F;0AI7S zvfjOWH~U||S2mIb&hqsGov4!lp{$%)0!racB^?t7%>@?Bj3xj z`9#uxzX>7vr_?0C(cq`p^P(2_BK59xu)Lr=46$K>afbz8{yJ4TPvuX}1uzB4RWzyB zB1PDne5SSC2(eaLO3;-h%+lDu7#~k{)L;3Z`21=<{DqJqeJci$8Ue{1_=E5f z*7{3#QOzE$@R#cbiOH4#BJeNB)0%oV4#9Hgfz&tdETOlTA2S|GL=L z(V;ue&onjvSi=W0h7!JFeW{{hyBZ(szfgpe|@Vb?udK)w&U&>y1!nl%SbEu@-qN|cUgl{gFT7i z6r6wXcb)=mLVC`H9x75wg1_vNbVbd_5x|-3+s^dyM6Gz`=`1TCIB1{z?TjX-E5cye zl}}iF+X;cwIs)9w->&)Jo#X$Lv;Y70|Jk#UaEqfFijz%@xW>{|`+Bl~Z6&Ti_iqH7 zW1FYh$jm$xX^yGekBe9W6@!Qiu&ozrmt+X-)#TEIX6|TtM~(ob(*L+_dyF!MtKer8 z|2ee$3&(~(YHIQKKo%d1BgN$sDb%ilOPugr+S&;KUD$1?`Tq^8{||!A&%DO~y`Pa6 z=MBl_8+YdeF5BBz8=+O4$};|?wY2|F+Kh-hA^|sykt%4+hWMTcIqmKWpOFXj|DU(S?YCL5$!{H}gfhyhTy0H<$6PN#=RR zitXQ~tu7ok;!&8CKFpYH#*@Y+Y%#AQ+#0Ho6PUVhHL?2qFj6mk)tkfAApV-AqV0y- zJRshCe!A(m4G?Ya!K_o>zo%bZUY>6b!tdzl_%v2#=_LE&%TgnzFEzlhSkAHsm*WozosbUE7+C7m|XHZa{a=7n(?@>yYxSn;pXd|Y`xY>)*2)&qd^M06D>nN zRy2$~7i<3^9ry;Vj;-^qmzzz)PW_lm8ws-%o5AY&yUb6jrU<@5EMKX5_wJMK`OLUT z5V7P9y1;+_p-)A+Y|!IRn$kNOTrm2y;O+=5oxx_Mf8Fw}$yxidjLK54q)TchhB6o> zFTNI$>k^COScL3(ApwD3m8UNX^e-VJZyqGmUH#aw0X?HIcfhb&C@WRde z%kABu%VWX=2Kk9%h!rFIq;|#yxVM*Z2d2Ak`SPXA{#XybTXbs{+DLbokE6EU!pu`( zKhQ(U<7%ZhPE7rT#L?k&R+4OS#L*CuKIv~C?_LGb<1MB~{r^N0!`aROAe zY{6aqD*O8lhx7OVzVU&$_>9m&74b57IKjpA^+6|dy79n!nZq{yJHYJO#w0l2AL|XQ zd^L)tr}lMFu6K0Vf*Ez<*!|7D8`8$7LR+o}5_XLbsw;fSC8mxU4tqVgJhx`CgkJao z=chQ=i9D}vo>>x4CzX=543CvAN8blGj&pI2BnJAYP=1zSdvf@3?#BI-%VN|bge|gx zbgoCL(hnEsp7iOYJjz?~Q7D#8Y~Kozpsc#+YYMxsmq^xV=0kPjj0oBQ9MhK3(dqZ0 z{KD@dG%dv*Nk%7wgM<0ES-?02lau;3wf(?=cD*5w^?X}#7^W$-uDJ1RJWqQ87nvDh zB&@I3m;4G~lk0KYjX!2Hs3G0n-X6Be>$&sSjZ`NA_R(~DfL&hajKA`hO~i=M6alS= z<>2m3>AiQxkGzTI-y zZn|y^uUL?2UsGMa9qo9p3z%QDc8m44&gD);`J&cvD&B&paYL^gv;Wf$qviPNpAS5- zz55mCbo}_e$&_vheCo2^toXoIry95MIKQoES{Ty5tb>&sgCw1`?Ylgx0i{3c;I|D^ zY3rgCCVZGG^GdS zDiiQw-V;2vRyvbSe(6HpS8l8fCC*bc1*6mSmLNg(c#-L@wQWTW`K)%RzLD}7 zlwId>34P4LDcruqS}N#FLB1*U>f<3>mbr@^$HL@S`jlRkrm@`@7IwWqZS~C}4XpL; z!lggQzZi94YZ=Ewk_Cg=3|bR|YbnWV4fKmr~3A zv~&BlqsFT*BVXfZaBb2u@9bzP-7OQ0^Co8mrrmWP-g4$0W_V;vnj`-0et?ii8@8V8oJXUO4sX>jBK(e&Nj11TF6luG6h&GH-3a zv;2ZN64)A@k=jx$7Ngv=)*|?B_tO)_OS5)HU`Rz4tiHxuvYT86eW%6$GTh*ZJEwjM zxA^Sz=I(dC8-9L#1P*F?L1d-(oCHO2Y)hXZ z$KUSV^qrN5Ei$>0!zdsN1y zMv-%VxBA9NvUqyTU=K%9U*-SRjoomf1N_+MIy1c()Q*AeJtuKPzr};<&MB%seviSD zqo!Ug-BnTX+f7CSaDBmw@k%+gq}q#HVFP z)S`?Bhb7k)IaN2Dz%^dM(KE7X!T>Aa3)zeLv_u>>R{ON&=rgGIVCYD zDZqQ4Z}X>>gH32o<^IP_QDRYC&bIZ>%F+``j$g+kdGA~U*G9+HU5ZJ+W;QDIYQ=h) z)Yugy+%B|dVl!~3GOcU?KIzUDsZel&=GZgFU%}HGak2u2gIYK!JZZ~yUEDYZD4e*a z+tK?glXw9tyuFlQMF05l;P(&{`u-(&WTE7kSpQrjY=Yq=p?w>()c)ki z?Z}C^9USR?f5%%+I1+o`WlozKlhDe|nPxOV*%g)TBTT@DZYWSTPi(im`(qOQZ5&7Q z&#>ph4HKUvS2owBmu?OEE>b7H3J5!%Z^2BwOZ~ulVp}n1j}64$I@_|@yWyWk`6VuZ%ahc3QFLxkrg=_cWFijzFjK|$IQ(>4dV4?22V%Pn~~;%?@B ztR=GbmH2q@gw_@AK`vV;;=i>bDo8GT-fm)O$LZ;Ly&3(S_{4r&>Pu?hja_U|g127v z5FAJ1m0#1^lwZ^jB6#z8+qh%i1o8C7F`aP-Qyq%sW{jM(x);-(BizR3T)twnxp(d> zV>mV4Y*E)lkjV)vt4J&<@>WNGFi= z@S|l7$MOrsr7lD@*U7U@mwnj52%$eM-#5PI)ti1l*f-tw$>_4@dU#^kq-OECS|FSN zvHxSrMsuOGD=foMSvh>qN9ek?IPMjY7{G>$ygyvFPq`u^Ev-HGAmHQ4iOP zm~v&OwYYCTS15)XxiAt!M0++so@y&BATT0?Su1XA0|LlG%%MuE5ZOX|R8{5pV!xn! zTKiVm9L>asN%vSX|HysnSJas9NBq#r(wUDRSy)LI8VT@^TpIdHu>lbhcl%AW+uXsl zl>mbDgF}yZ)1E0K1EvK~N&KLiikdD)3F62_g23Q0p@epAWZqH{PURh<7(#XhFm>L zQhB0nd3k1(2kFA6Tb?fjCJiS#FaE7nxK8ay3dqmTi`qQ$v#V3OLQ56XYp{YQC5I|H^ zP!fs6Bga1N@_G!jtyn1(?}NZdo< z@K9MXF)fe*{xO(@$-kxHLss_Vf={VotP zHG))6>t{H3Ct%QKJ3^#8s7a3?jZsBM*=U+jz>IUAKF^9xb3Qf<}1PLN4=kAh=?e zE(_V4?RHokfRwB6c$f`TuC6dgeM5E+I%}2)y?RR}JVrv&Ku+J`wanGVXk~rpCYmjhi6x4(R4d^tJ}h1+Wc7Dt|@IsH!8O~i#;}Dm32x{Qh%G_~kPA6{J|X=LvyVojlNDWrPwS;Q#6=D#ubEQ*SfelrxXSa|3`xGT{;c;_qOvi^$GROH(il1_2*@&bz=J5QUsMBTX9i`&5^hM^r z*(B4gS^f3O-NFbVx`#Es39650;OfnD$@cD<-}HWXC|c5NVXmXmnm*Hq(wI-nBb%2RZzmC%9*6 zWj)}q!m`-YC{R$OkeQF928KtG8YE&_J3$y&c8P5yE0OxjxR!!kFZ#ovtv1+7+h^ohRY;betcwclRcmv3&WR#kh5 z3y*KB?qsG$RlX}EFGYMF6s+V=5HZ56PQAIhC-U^k`E4TI7=-_k-ugbL>`aN#da$K> z@%>~<1tb}Rd4G#dC(2;ONck37khsOVPn0bfStJ|Jz=ff zTJN3eA*Sr!_yLZ2Awp6D`GZN2a1XPa6sEBU#YINQ-y?7*X_t72kS)QY<4S2i@Qh|$ zYV-7$>hL5g8QcramdyX@t3he=K!i>kLq_lY%BlYN8b%I>#oP68KJp%%7}8)92*V&@FX1_BWrRBK7-!S+jqyM}iXR_^aQ@O^~r-QB_l*jA5v5_kpTy zBu=k52!|g2LPWOWbN%ePPE`}_U8B^|AVvN8xXSPQe1-E>lXl~5lOsE~M>MTe$t6e6 z`LWce4GLn01F{FigeNLMnyzjpH_lBla%6>P3is_;yf65&ii{o68jq@-G#oghPkYYet z6U;!E@5$gY{--r>Y4gS5h_x+o-$A^%HBVUdGjDKWRG*j(oh) zxh_mwi{k|xy1*4UjLs?JbYDcetOSDW!O2hweim(_R~;hMjy)S(o`EF9q9pAU<0xe;7hug`hSNvzXr2-WdKz z1^$=`ia4G&jaVRLpKP$#BA=@UuuM$S7MxbbgdP;8v^i>_)({Jr5HMJUttToBX1UL# z5el<<_)0yvfkPS8GZ3s;jVd70MwGAO!}dL)1>dpGTkQ%moGf>X5IQxssY!&ZczB+Id9=kCXC>VUHLvFWSRbxM+LHK3ij{_;cW#hU8) zMkBkar$2{RKfj(FT)jgPYes4;cdIpWtnY~J34YpyJ!y&C?)i!h=2yiYo!mhre^hk)!enG%Ifj&n|y~7iQxeB&3hn;7<5N|8JAS zUdsfaK4H^DCCJKsB@x05~@Q7#LPX7=H2XX_YiFX$Is&2@ft1JPiSt-oR_p{nFS-%Am*K72{uI z`Z&Uw1`!%W1k$L?6buynz3TQ^O6L~wZahCOjct1Z;-@ieC*HQDR74W;Dov8o z%6IxY*hGrON;sj=2#Pu zQ*R{c8=!>q!RY%cJkg?>{lkMZUDyVGSg<}Rf7iGci8$&6RHpgZ zf`>YBwp$P0yoZ+62#uI0qsKzGSM9L&$k_n-k-3j#vElt=b?Pd)~! z-RLs?-dX4piMHU98cZ8CAeA2+nNzx)OCGZe5^k=!6LfLykxrdR+MODIg>UOsqJ8^p zzzNzP(M9Wz2fu;{7z*GFMxvkf`GAL^W)7vd>&X-NNkP(i9NIZ`QqYptpD+^qtn>uF z&yhxsD+`ywck)@3OyT+63SMHwc2Zur0~>`|*xg{NqZ;nn2*=me1$Ep5Fuy4E70qd6 zEV0koTpu6dsSc_2sJV%MwFnQyw2?#O%q&a&6P#M2kv*S3<1ny-Jz90(n5fQmoG(JOB$1@3fRT4{cqF0COL9Q zIhCJ~leiu4DaX34Cm^9QFH>r=W#>}&ils)KRjMKiy}M1Y-XSf``kT4(%g7rSE{XxG^3hZ@?)-An{11a5)8p!-E;jVS&6ZN*vY>~OmbUKfA zhZ#DVQh2TI-$88El!AXLkLu5wXvemAhB!aJrVS> zaKb@xk{(4M6CdAmaNybQ3KB-~@Eik6iUtuiH<}ccHC$CXc;k!zUgI^RfGG79KcQ?~ z=8Eh3qsv!x(f*GvybQ(yXlYMIxk&YG3z*zSVPpNz{g#}uVBaMRecw<0J6mw-Q1|ys z&!~@`w!TF9ZqiIpeLec-pAN+sxsj&Yl%0p_g>*M@lY;=}Hdw5#YI(6M-ytvrPGcz0 zoI=S;qtO9kt_0l-Kj`Mpmi|gj6Key*Db9|-O#v$IL?R}SD5pGlawy3KK|{2KDbWBWSD3S3~UKsgY-Crzk?* zZ{ayqd&1B{lrCZ{4HMe7RU%vzc;+YjAr&Q5pGPb-0+`X4Z4OZ4@h|*FauS1xai#9v z#(ixi*v`B4Qs$bt=L-?pQY=8%8YB)!uK8~KHHj~og8@*4VFO2KgRcR!{D}idv1u-SC8_%jKV82CDj(L^6`U%Uh#lRf_7kBg(dKR4cJl}+8ew^`oaBp>Uo>NQJdc<6d;QJnI?t#JF%MqwM3iWx{pD+esULML7mXf{~{{Ok44sHFQirPfj&{pvXKG4Gj z!Z1pXNP|MYud377j_Ii5Ji%We@g?W*lr;s4F;js~%8I9`R?w#9nUJHNw|43muqy+tio$?CmpvPKwG`iHPiAtw=Lbw(!1KD`?o#6gF(AcJkkd?xNR0(E#K%sc? z3(E&16Xq=CspVmGS}w1$jp$hFMLxFr1wv%R_iX!4k;%pB@K0k0QCal;m4@EB%|>7h zxX-TKNv;(?#A)rx>op6%%e`9)FNS;ZczOrMvdGua>R@5)1(s~}@~B9cpNSiNOLQCrwf=Hxf{|D)tQ&NhvOMP4HWzX<bDpJO}@r~VbWwL}^u`yd*47|&*qahn$4@XYb$iKU-h z#aG8xHujpxThlc~DB{Kb<&N$Rh39wtZ(rUnse!L{MqV33fab~SaR)cYqeC70 z3bhFQ{^g_UcgFKS6TV|-eYVpb#(j?ezHp1YUKqu<{Y#dUv7i!V;Q0vlY@q(>Q(4U? z8y2oionLbf24!#m`3=+ZnW|rV2YvlVR09LEAPMi^C_m_8NDIy^wrMC>pa5xI(mb?_%(mk8;%l?Z>-v|O zHkn&Pd!={2dtOOsS10zKL(juRRGqKb>nJsd`y_g_9RqU10O~~e8aGc zSki#(2~6k7GtHW zB3L9eY%k)Rs12huu6md|Q}`}l1t9xjtX|5+_7Al*74S}#-9m&VL%HZIr5VGllkB>e zCG~Gue2V^O1jt*X3A@LybM8l?>z0~axLiZ?yFpU9g@^J79$j@QPMusD7w)cMr9I_& zdBSGvPQmvQmLc6FN$;O*$pRx>vXvW@2&I4~O7#r2!suPSlIc1$Hlyqq;=&qyV`0x0 zJvJ16jA&n=OI}({-u5;E>}0|M9=JFx*!+HPAyV1xtT@Vrl62NPFdd^? z&+lt^p)2OXwX2R~luawny02=F{inZD2747>w@6jfXxE!RRF>+Yxo=U0SM&${d#=*& zbP|=VJ$_KnW4@x&KL@v2gUu73wn_^~Vq3LjU|(SAW(o?$19HEG%_cV3EGV3bO4c`O zMa|^8giW-6lrw;|COEn(NRp(4BCAv++f-4s2-=W{b0FOU0ZeksfG;?I3lhHi${j!P z6b)lhMlB(-tX~KNG1@_);pzE;HXy7E*%Hnap@epqa7pF&8=FwzZsb@YR0vcO7)HVP zMu4zFA$yegOyzGhJTB8$K;x!1 z_N>fnjBu=xi=%bEeTJTV{Wb?qKO;AVG6@@dHaUtQV#Sxdiy38$4@%(0Cs{VagW94k z9~Rc1iN6uj)GV_1Fdn@gnvDrK`AW~?VhMVlf@V&6ty_78)>78NO4lh;~e9zi` z=GJfo#>`IKaYh<44rsKWGvu+W7yD)8E5#!H#I9I-+`k2MC~e;n$mGYG>Dd7kk3KJO z3}hBK7)=5ZCSzZkT67-uyh~fLTN`=O8&z{ZAliniYEF@_bYh{2MGfA907OwULa|q3W9$Be3z`| zQ{=@>k^{Mbe?cB2Zb_?&%?(<7LrCFV0dm4?L>0~7J@&cwX=#p5ki9LC*18O%X2oNs z%%OdLc>CWT&IJdiO^G++gXGw4p0v&Bpk{#7xP*#QMN_%^efiQL{41v>1hy8xsQkY( z6s%`NBh+nAeW@f|8dMuybq>{BVr-CIepL8B@=Xjmur#;Fts46sAOGU)6V;bKCX2fc zsogHRC9)MG)s?K172Dx_D+@BU#{}XQe^y^B8BQ>&(CJ&vCx`oQOh4jdk* z$7K!Q(p1_aZ5J)AEWtSlQ3WjpdAZl%E;cEQ8wJ>{SR%ycl<$7&zTyhm|=xWimUwL(}FfQ`1BIiiG0L#$7ECvih8 z5SM8PAh>o>^jou;-|?W4O)SeE)RR|YvH|872y2T@-LaZXh6u|Yw+X$nrN9CQ8H0Bq zmrG3veORcZrM)saD~8`2d_;(&R2VOD!ji76tW-hCN@zNvqYR_YX@R`KRLDe$9Dyze zw^0KRLY145uC#V9OeU0*(y|%Dm`HJlnahKsz>9;j5xOAHf-YJ$SXD&;_@cO9MlM$m zpd(WKKCy+j=a)11QIY+B*j{7wCIK$c^r_2M^fiOWaS)tG1RIToHo*ZFQaqHalZ3f( z`A{>@wD{!x&$i`CkCv?_^hwzkrO;r>c-@FS6LIifm-$r@osKS-mEK7R z((fQh_KCLf{i9QNZ)v_zuZ$Jb3!(qU#FY7vdrY07q&*DKSwr+KkB3Zg6W&Z;@q zJ&-@Bi(?H>&%AJE2;QliWcC%z2ScXwW zX}k-=3pG{JjF%83DQz@yD1tl#(`i}GZb@6cQ>$QpKjg6OINnhi)wgO6@^gOY?AuNo zR2qmi!<6a=QxP8A01Xa-bpfC=%Oa^t(I2L3<{F&@3_25hT*Xya1Pmm@Re){|Bq%F_ zLToc>e{G_dp6deP^T(tK=j#V=aAM<=UWCOyw|RZ~l*CY*X3u`h^zqj=HWKIG@eZ+` zIwPaf&^IRQB0Kak=_ODWYUd~r7-r?=ja0WwC8VW1{N1I4vXJ1oxrkCouluKyk1V{I zNv@TdwtX!wuW&>vaY$e8*t~fJU)y|jGd=xGj**aH_Bi~+ z#=UlIXL5>Ne{-zF_N}uVJ;}dR5?#m-gI~V1xp1KJ-vRD|0Y5+LJ?pFR6? zTk_v=+$DC8I)h}X9}1-(aDD(uwV$!3mtwgG7~~rF`2hz}9Xq?3P2InnH0A%FXYEN> zvuE|U?_x4Xkgk>O;spMHzgDuxRrP1O64!)H3`xkp-q)r3501}V_lvuq{P&D_a`Vcc z_Fs$i`ycnY|Ig(zA~TC472UsEFX{ul_V<0~$#{a{sp^~~CE+Qqa|59myzucc^M;-kGoe^J1BFYQ22ojQdI>wWoa{-41J^xa?6 z^Z#Z({Qo$8{{MgZ*p>4N0@)u=im|G^YSX)Z_3GVocL5ie|7(i&=VP8g}0_i-;aRlRs)~-T#3%($A!= z^P0AuqnzI9cPSfk@d-fs2`EwcJnhQUx*SGG`nkWU=MpV%a^TB3Gs1}m@y8;np0Kiu zDL}I$G+Uw~bP$2}l?5)hNSuCm;QGvC#499KtV~13@w$({Y3?d8J7iEW(HD{h`K} z5Ff>&V(;-G@Be$V-jZAi+NiZlj|p=z`y+m8p8_f`-&|g*+U?oTTF!Hqxz%$ib`<{z zicW3x(iCillSf1O;|aIiVuL!N3<2c#St--lCj-WRIR1@K&^HpL*+5XU~-mnNj}6Vj>_o+OWm zSMLL)d)1E_0)lcFpw)eP6ZiJ9-Q#LJ|d3 z9+`~&DW#?+^6=rqYqxH-0A(KB*JtlQ5e>6Do6J?(wd>clQ78eR;7xY``cJ``?I7s^ zHhjA0!q1;SuidzDNly=7?z*$(cBJPiR?TDTuwDw!2;gVo1Qfer9RK$g81vR8ui#b>Ka*!Mi8E@2Y+5)-13UllVE_WO4% z4GkmxjGBQ!0>N%A{wL`11x(Thf$}f?MGsW z&FeqE{s}JtKrF9ig~0Ct?kYk#khAb&ihoGH#+{oa@ffF;4^3Y4{gVJyO6%4w@EU_r zhz;RHXJCRr%L5YWh3%)w_QWz$el%Ko;pYRvQKP=gx>3db(;{ z<|d@rH5<_y#Ih17;^zBFwQ2O-sh#k#Cd+LcW-wgYS<^7|b?+BQ($#jMW{iL+dmYhb>A|K8}7f#+f4 z>gwu#?@XXpQRRo_L8GDIj-Cj9Kg*Eaa>Eib&lz2j2JfnhG$odSLbFQi?;jr;e|mIw zibg9Oxc};}RXpbeKuZ6X$ysWlLv4~rsI5B5jL3;*FKfi|ZPrXAjH@+`RtpCnQWHPp z%l%uXtGPD$(Cg_WQ!}TRd#?!}ivH;gAY|ru3EUGVeWGgaLm6}`1<;+9jIEPaVzosx zb&_7adZ-?QA9ivbDsBDlnb?O04nhiI(%T(T&Pg$nuW9nX72U?1BaHyI&xbRwY35a2 zKl&h@zi|9d3qoy9ogA?K132Y%IJS&``5($KlYbh2q*VBqE_Hxn<=vH(yzzs#cH3O~ z(WcL(tW2J{k>gJ^y*bG@6D1MqWPIN1vbOW*hF#wy29og$&y`zrU0RA-WB4ALyG~?Dh61RQH0})kD8JPq7-Nz1pR_V6n}mW(Z%i1lpg&^@i6cLF59HESd9p&J|Kw+Yd#bJ9^KX5!G9s%v_>?}J+gNzlL zlz}pXHeQwY(Ol(WduhdGHx_O*hDI}HqPjlk>K2}Btj5x;HlhZ;>DAYTtH+ZO{T=Ai~d`%@lYmbiXg5Tpvhg3 z68=I$f08zq{+WIqtG8*t(vb&`HO&lrGoDs{sE%WsxqZy{&44&^!x1u;QNbmRN&G`} zqQt(RZoo({pThZ_VpUGX9@u#P;>rIz!e4eb3U@Yw&Ce~!~Y21Kby zDm+3=%WC3wp0^H0d7J?q+1p~xU|s}CTYv2=r#M!hc>dBRN8Dbp^qHXeTA39%;0*5r z7sbPn2eFD#|E-@;3KX()8N)xuq?YU@8o}#QdHmVFwTOw_kBW&>I<&W{_$k=`aBhWw zwNdF$ip7C|)!;#DL1PcA8~Ph5YIx?cyZhm_b`=~U{xvkHFmL-RQts` zP3A0M5e5JwILV;xYcfJ(q5y_oIrGEi(NtRC4w`e0yE5ePKcW+}>g<|Kww=+=NWYrR z3HNE`lRZmMo7Bx3Yl20~PQ%ESbni4HRe(Q4rcZmQ-3Hl$8OFQbv%M1Y<(Ux;%s`Y# zW-)MfLOoekaXoV6NWT-FUIUa|GZ~kkplv!QnOVstTN{cu%ut!1Xnq0DEg48q^wXzL zpWyN2Kh?5;!V39fxTnY@x=ICy?KU!M|D_9I#S%uzOcG=HG4O+;4W%o8_i9@fT~zMz z>59a7q*)43YJG#RV9sd1Tm$l1)4xmQ640>BhgDd*o)hQ&zfO-+msZ@qb1;JYqr+u< zE|zaKwZ36JbjUQzX+VIT;}eU9MzDL)rWA8`*X3|f6@NtkY4os%E7qh!Jvh^b)z5?P z9-qbsrK=i3kC*l|G`VY`|E+l7(r!3=6XDX03e?zhky+Z80z1;5zEtYR-5bTNxQ_E2 z)KQ##apn3Gr1kH!J(21d&V|)`MD!Y`?~kxy5Bv1rRi}t-Dc+e+GsN5|&Fb$_@kwsA zD`h+9gl70NE;;rblx`cYwt_T|`GZ;1*ru9N>k9n(6#6I9M(V5>oR1ml+AB4!JleO@ z`DT9}ECwF&0xRx%z~)l8EPm}#ML|FTuOx=Wk$+HB;q_1+)y?1&h%SI;9Fu=A62uadAX?`%OeWWO5 z$|0s0kS9`@*MXpm|Kl12NQk{K%a&XDE6(~aX0z#?cte)kECWb6FO3s_s}P zb}6ZlD!+2w-kZmGp}|nJE(c#y_l?@p#W$%N)&+myrTyx!JcI!s(qeh~KmYH8_^K43 zb_28McX{GWy|p_Je*KKOdtBqUJ4BIZTbiuC7`5%@rCTl{-1xq)%-t_o1D1L;;zz(& zj|w>F29uxY7A)9_(+GFn+~M{bt?gZJO8UIhUG8f;cIPs*qvYJ$1?cqW8#q5d-Gr3V zFCTzY=VsSpebsOscVL>6DZ@J6zPs@1?ZLG9EK^Y>>qo5JrQo-1I_n@RjjhA-c3s5ao&ljTL@!MkZa_U24Ep`(Rt9n?MUv87 z!Ia147BthCD%=%K@$vI*z0c7w3aMT%Q)4$s|L>((|4(=dEX8TP-)5rc`bO{6c)L{9 z7)9mhOQ)p;PRw|TeXqaB&0_R!iXrI@?b`DQIOV5n5MK*9Vs;5$7{Z1eB3?N3V6LgN zQ>=VT@-XWp<}G^K((TX3F?N+Ix=L3T B4l|#N?F**0A#?sb6N^3AW76BB~A3(FW)ySvF!|?&`vyfI(Y<0bw^PG7=3$yUEHPISK-< zm=3JyGArqNPux7kZ)JB%;PwA0ZRmJK`=xZs_dp`a;%vjs>ux=$e!I>I^M+$JSafj zKOAFU8)rhQ$+e_weSB0Lkt)KLvszb751!yY+~*#VxxMSY z;m5zJt|TH>q!Bv1aQt$yNW^SH2suiBk2_>bN50CxqN$D=cXj#7YI1$?fo-`P!58bJ z3jyNDR*N^(cwfVt5CU=YspHy%l^2Rr-|vhFQ00Q3sARIz(xoDL%j-oBxxiM=iOsay z)7-6*9C{0vMvAUIE;e`VF?(qKuUOMm+rr}d6MV$To9G` zMs3Q9F|-2%A}&BrkVVh?Lk6F4n(2ClYHW3n4q8;CX}C{>8luVPlyGj~bqEe|m{#!; z$nH+zhmGadrQWX5OoUR0tQ!Qn{py`nnp3PoP;JXfJ_R zVXmAYUDfSvQ-o5vY(mLsZB^XpZ-B;GQu+760Y>st(*g;HiI`tQn^^cIQJV!iVBjvkm zR2gHGxx2jUzQ4Ov#n7|&_3I10Sx07{{SEqrA13h4V@nn<^Ksl(YrR^7*lfFc^1Seq z+d8IMmI0O*3(PnbGqnc8!#~gd*kaEp5vt*Ckz7qJyf&gBY8k>Gn?Plol+agV`i*dJ znptR(bjjJ{-{8)-9z+`69495aZcg|K3V!tDXyoeqG)3hhG@5Z%OmH**F;E>_MdjmD+$L`}Ti zuRJKx$t`(yKK3DDSZYaeF$n)gLZ7y;;1U|;x}{iR#lwGX98ZCb?u#d4HQ z@o(!3X5m3V-*pnCA@*3;bgO9}WDn4M@ZV9%N_@L-FSNc*w8YSUwDZn1e*K`Q>)J)7^H7Z*h@d#~Ls5ZXO~8~yQ=qORUs0BD6f8dstY z9wUk4{0a_Z+Pu!9Gk(Rm;q93%bAS{UoD6J#e&7#-rz^=e@sv45*VOg{0Ffs`4isIG zhtVR_TM@TtROkx_=cpIK;0k~NsujB^&pz$X3+sf(_IVW?vdKh7F)+3;9fggictRL7 zLL1e-N=FhHRuD>P{6Sd$7;{Gr=K`=p)NpP)LYCOr2yKzdvp;-Q#84ci&G8H?F{mWf zei(dMC4_>?ScqCIU5m#~D_32>|C;u9SKr!Gp1HOKR_}>Giw%6|gQ)iZwJAT&`y+V; zX6pRai{-ogFj(CRlSZ{#o6hj1#fg7(n2d1jdoVfuMfk!mi>n5kKbcmo8qO8N{}8$O zaefMER#sL&sO?1L10hYo1SpyrWSuE(KPZ`-y+%_SJ^>34@QG zy|}|kwEIS4esogUk!(ByyKsRys;=#8Gs`x+-x|0cvTCxv=@P0dJQh8^rO8#ifmvN^ zxmIwyr|I)iHP40r)q&Xm#WIU}8U?q#C;UZEFm*#ObptO+p9VRnj0hf6^UY4mWOKzD zB^wDr(J<*c$c%^6HQX(5%sEb-Gp<+K=YV&LKYwuukOR8^ksb?>;1%5~F~uJ9*IYHP zoA6N_%l|M5v;`e0bi(fw!yv};K#d0{`B2|kuKn(@${}$ z1=rmNkSqBn=2erRy4!BxmpVUF( zV}>7j;tQ5Ag8)C*sYyc=1MqQn1~msl4WAWQ+caKN)`d}cpA~xq0+c8Bf{1^kW&h=X z@GbL5DRMiD-Z0j>@Iq`Vw|&3)>*(GSEirp$)ppbStGqkQA;(53MJ=;I51(9XzoK{N zVJkZ0ruyLjlwkVoz1QE+rjLoy-UHZj>D+-0dpfNxo4qCYGh6=H1|_t?Kigz9Wu<|} zjRcI2rk=+0?iA{1Ht2o<64N-to;iri&55Iu zXb?!-syX21f+&rS8@}P0dJEQhAm3TM%^=p$z2H7gF$K!WqP&-e8EOb=;15I?$ZX3X z*_@-sTk(CfhUw$=F#x^VUTzl2+Y{iZ@zI+(J#u@-WhZLuAeO6~UEULpUCksE((% zM2|pPs5(Yn&YM6PsjQh|4dEG?p9>@FaWKwBNFJss62JuG+hhYgAeoii@XC&F<2x)D zZ+(rjC?yn%AX@i9SXd#+rOW;w#+qX`3?ci~Q|p?al+c#69Ea@MmRb-hcDX9vG132Qn5INGor&1SG$Q ziBtmJ#@pAGXo9XI`}v9hMj93Jy`(v=&lQlJ9cKh&P#B5bs#vv~xO?Eaf1uL4cyGu@ zM6aiFSbJ!6pI=~wC;_|PdLYKo3s~IR$TU&R3GkOevC2X~YN7)FNGtE*IsJ#@1u*2q zF@{jW4<~%dic?RNwgkb;nbK~*f;c&y43IhKvnuX~!;qQTC#gSPW~ZrDvi}%_bd-d2 zzDtuN?gDJ`32MV4<8>F z4%XT6Rs=&HSMD!GY4%}p?`n7)w^_6IEVpyEiLA*byT=t5$0Bs*HOXPGMprEeT8I0K z8RN7OQ_YyHrCq+A88ryfcSV24-4Sw0a*7ugBH$rJXQ?ZTd{3k=Xw8JZV$RjU*trV` z7wXITX6GNW`gzTdg$pYzwJh?~h6|o{YkcmjR$()k(212!bGw3a<*InQK%QKDkvwe1 z0#{~U2M21f6F#m*>~q-_I>YiF0Mz^E;iRaX_+w=U_&85vzO7{2iE6;{BqE>P`IpO= zFJFRjPp1Jo24EKt0vy!OkaM1#H-oc?n!0A-pH+n? z^LGX>SYq$Ds(e@*6d=j3r+*mbnHf z(sp~ooT*B%)#@lw4!`|Bpus=Z3okfJE9_e*TPER99v<@Jr10MVSjB;i#)m)uZsl27 z6Kqee_$gkG&xo2Xce9@A(L0 zZMytP8dHv3vDsV}l84t+%zJ1!jc5Z>O455fD`#rUt)x(CC76&BQP!mU?Wk&n!Gs{* z>$=j2N;22vXr6|!->2*`uAaOHb;6F{kp^{v$(vp>+-~Xk>Bu0&2e*I`znV;wsNvYn zCd~V`V zlCBK(;SatT-?ljwP#}2EIF7=h1M>eP6QeZ2@tXDuqAY41)$ZMc8pBqp;5B6so7-?A)opDJ0ua5mkOJ-UvF8xVd=)I6x z!qzW)?zCjcptO^89sjktrTq0m^DH80dO0!eEKjHAW@Va^~f z(a@=&0F$hQA%pWZfkQb=M^kqK(EDR(RmSRn1mtMoe&Gctr_CXuh{raAWQ2PUl7JSC zP^_SaY+*M#{SYT@dfO^g#B{IG8xfWj)DjPM$ec>X5T!$v!W@*PcY3(*jl6swRKkOQ zg-wH_!+$C0+{5LjNsjvzaZyO(@$>C|L@`{rxzxu0>EQoN8|87~F6Xm^%#WfamXEF4 zoi?Z9q5^xTt{Q!F_l&Bcl2(oc@{C%%ifYfVw4$`D4}SU~@0_y5LEiLh10>$gioU{5 zFOSrBn0h2r8nX^W4(TTFYJl$SZ*k%@=OX%pi-;-%5#7sfMAkU%8tr_9lhdIu-D#e2 zZ!}YAt+hJ}XViE=ei}Spx{Y6(90o41>$6o&N{I1{%zl6`-?eflpO=ycjAZ6iaaRDX zg$Kpm3GkZUe{t}r4zj+-Dh7R&Iw=qjj9-ml2;dudfTC#ZN8!*wr6U|LA_XlNR#6>k z7{&fe$)&g#j$lC(Tf6SQkL_6r0LOm<%K)GoOe7i%QE|oDB9qYK(*1uNM!M3~22`Wa zLJ^9L4`y!pk%UO0V`IwFp$OaH{jd-XlU+oZ2}+rvWf-8JMHgy^N)Jx z&Q@T-{|!Sse=1Jfu3mkW0|5P}# z@v3Co{ZVSg(2fcu1JJ;np+qYJ>X;N}nkw$*AMdDhWI$qd3*$hh*OyGiW(!u9;tuB9Ql&Iim#Bl{zyd02pRTt|V;gu3aKaJFHV%|vA*5V9aJr}3_5$!55p$rO0d;XN z8tM7^8ASC#=EsMftK|BN#PMG_krby}m$dc3Qzrz(1HZXH=HBBK0!N z{9o+7XH-;Mvo5Tn^nZn8+uA|e?C1VnO9O_n6xG&$$cWSZP$ z?qcur?(Kfhxp&<2{kda&RcvcIsn!5HB*f`7X1J!^$#ZGC-**emphb@ z0a2XH%M6nxN}%||1U|)1YTBZ!U@!EmdZpgy3$Py%C41&P6T?fo4Y0dZwH=;OJK17i z{}Sz1_(##~Gk{(#Qrr54xYZj`OlQux^iNSy-&DUnHKP@HLXivrOWB@RXS}ko)3ai$ zZhxVkziO73@<2{nnLv)qoSub&MBstcGhrJUCo8(`C!WtBTswK0lG@4y%2Ag&{!)2) zX0#ng-M0y_T=y6@Ja=zQ=iwTo3yV^tE)&spDn&wnTSY2X>N)h&?&#!Ffyt`FutOE*>(*cojKs^B679p64&5UMb4}Asak13siFFX*kC1b`Tw>z}!0U?G36uxkAsztXO*Y5Kl7QLb z7Iq&nR~C%`+7;$)!rnz&WGl2CdR0yp629uBie14*jUYt>QpuEbk7F079CeAJ#VZ$v6+q1NoS40`4}6L%0tO;?j}9|Wf!z= z&Nnl0Dm`LH9MpnK8e6N8Yuv`??h~)(~3@#kUQ9chbp$Xv3vRL z5t$?Ue)hi*lFulp6Y;bw`eBrja~=g0h2Q%GD_K6=s7rX-UHpsVA2(S#2Lc8f>&Zor zDYb=3w@|%IUVBq$^HjH)7n-|rHnbKf$<|d|^^@9tS$zxZ%2_bRi@5;EmU zDRY1sXVSmSwZmkspigmI!~TC;mp)fI5YZtF@HJIVHqe*NI^Ks(MLpQ4pNQ888_sqA zoOHOoIu$oQ_TMXAM=~FE!ysEx3u{6-E^FOUrKB=+{HD*_vzPEqY8k@26NL=)X@F5` zXlq-Gupz#kt%}{IPSR@~=0#1-&HeoUk)uGTDWoaJV2Exk<6xq8dOrD@uN!`F%DMJy%L1tQ|DP)OziXfWrwac6Uv>KbtcHL7{}P%| zsG4L^I}KEbMtu52@Q8#ct4C8)GpwD<0)PYj+RCZN+xPokyA4UUu>?yb68;Ycv3k8WS z`GzAI=kh@h&+0+5Z;a4=%;y5r&@LI%vXfBo~~5kdp(P#~`G+W!1cM}IqCdK>kgydo^8?rehYqj(A;r>hmZi%>^J|s zAVjEu4fdNmFGvt3n8&|EBsBWADB!*=)#iTs)XD^euuzXKhoz;W9q1?dw6bf%l(;V; zDjOR;ke-kK+tKb{o2ji^^~wDP(^yqIXbADVL|IS%aL?2Xz}MmqPS?i<0RSevuSI^Z z1^ocLB31i!X-myD0IB#eGn`*+L6BZOT`cz94>{{Gf8%*e=v#Nb*KG2@3oiQe0v{m@ z7E5R{*uU<)AVpXZ&940}j05LCB+Z@zy5z^*nU7^a!&_Qk>=>hYTW>cBlxjX&0>D~z zyZquJbBQ4TCEo}n^IR?HX2~}SSsAhG@;d~_vtECkosE$hOQz)vwY<@T;d+1$K<{bk zBs(>70)ILCN83ew^=e-IzorG8spgvbJ8bAz-!ULVEudsd4W|*HLj6Hm!NsKnf=5;7 zCIdlArO~pQ8E)kBxl+*l(p4mqV-CjD0Q(*Bv%2b~*8v7*Z_Fjs-F7a@L?#AkLS%vK zB*gW{0E|Q=U^9Pca3qp#t{WuA?Ct-L0Whz+;T&=f4LxkMz{}>fueyGwt*QBaZ3Pg* z_X_@u%4udd+E283$ggy3Rr;Pue69AHq!!tyneewX&&Ywusny!O8x^5b)a3qe(T=V zN&egE3IFZWf9)4Hky;GlF&r*vQ_huR>(GBOnyirJ6XwLEILUZ<6fXW4{yF<-#$z72 zr?aH9OlI=*0Fpu#JNJQ<3kmH?FdNIJ*9a^}a zzK+ofNrLv3c|BQsXfzWrYJ+5e13_$(e7fGEHoh_PB6gdy{-QQ>N$E}_M7V9*vrA%u zTnoqD#tNJ2AP!&k(5rX6${zhv+YtSv3x7TKyXHN(ay%+FQ7bZH`+Q{>MO=$bxnl(O=XPNW;l{23mLCr zU<ep_eK#CoJu%IdrSXV}5CRNIZ=hBE7hQZEE&y(NtSdeszT*f1R>_;_k(h zgucBiL1W$63A3BfaJ}6w0I=Xew)Gj1ovZVqWPAtbuP?MMp-7`KM)myPKk zia#~YiwSbzh8;b)NdwRjdnnX3eoc=4=$JmEo&WS|1Y}kKl2Wp$+_&~{L zf`zDk0P3iU2P%YbA11inx9I<(S11UtYlJu{Ebp=s?)&!{L*D{~={7g1hQwFX%1IbG zRqWKBTKN3rTz8F78nYZ2@Tzza$qx0%0i)suoW*IQJG+>Z5qw|18TWCF>8Yvl*QloT z&P06QKw+mbZ(RTOhh}si$a=j-zJ$+g+t1keP;#%|6mRmabZJJ3#ul0>^z6Qk-W~TejSw-p=Ly5bhL+Lcc0P?lA;Fw z(>Hd6H2{_UeVPA5i{_n^fG~WBO1O&`o$bOED0|0luaV&))kW;98>x*XGAzm!lwu|* zkaYc_R%m|Jq#DCYk+a;t1koI$8i-pke58u(_K{K zv)Y@tDuXl#n+4WNRyWo%)}27@#pd_Y=ttFU-LoOuJhpocl_J_;f{=_uE_`AaRIT8| zs_`|otnBI^N`<^LzL$#>6S#MgP4B;+BpyJ(1eCwTJ}kMYv8)>^)R&QTG58{NDY3D- zqWpIDR1fnk)d41TJ+R{NEKPZLn_C zn+8qxK;RZzvOIDUvJQrvG9v_rWacwTWBKQAVR|=cZ3*z)#h)qo6V%QWK)^d!r$Makjmst+CU2OQfGoOO#ZtSIp%>l@uU;zH?AASn z@l6u+!&5O}{umjq9I=!_pwUa8$Ew3*K&Dr9c`DdeDn#E*F@z)uPpknc2cfFZZ{6i^Y`!A5+uxu8lP8m9;dzIX zLIBOfHkWzycHR!cu!QNb&R z(lHtd661IgTs3Xw6c?lV+?L%>Q?S;$2Ff%Jf?U_FArYbhk}hv!_I-9cM6^tlH0v-L zJ-QA1(-<_VGCmMuOrF+o(*)OR_3(}xNo%7HaYD4s;0(+{eY%lW{OJiX*oVz|xodQc zEu>Ow&8zRA{y&mrdTW@+m!RPpt(k zBa5Fg5((rhLlLf>SGgAE41G}vI-v(z?-QNF4Oss3n#I(adlT1S+^_L~Xsvt6afQB! zii^OAj*ip@`}x*{6*@-b&!lRMFyS=22gJCfD`qq?lI>F*Vc1x0RpkJq%bXE|jLBxU zn&zX_u+eD`ljS8v0EQXn)HJ=6dof$|gWuj|V`T{y@xDg=_2|av8<6Ku<*1BCio%n} z4CQ5y&hlVGhk6>VxuvrGS#JEo7eEX%7vtK~Ko4NuJf(wNAgzOZ%I_9**U~v5m5XrF zg9;Eh-7+-6i%kV_NsnqC$+n~g^+Gr)>ZO`%dOSyGy(Gl%?~O%P;H#`_c1tI*~w6<-5PVp0wnFd zYhKdXuA;8J>d><19Nm})5m9S=;v!Q<>k9}XOsD>*zg6yFBFqV!$k_)**%UN z-;r`)Fg$(HxknamP*Nu=fPGRP^H5oU^ zd7GZJ!?=Bst(kK8jKC>uW|H*UT)}6ejS+OX1gzo0Waj@vXZj?!3$=YX)rsb$Q(|GPW(F>8>FGe(%m#}oAYX|;nA^_ z7#447|211I1a&STLoVfOZuuK6 z9e3&Y43mfau7yOJW%qjT{sBm*A`jybN&V{5=e*`uI==%Q%$lb?x&W}ydBKZ08kwz0 zC((PcVhxMtvE*YXUwriSsyBIxK1Qfn>_Vs73!yK$5j<#t@ZGNdZSilZqF68wy}OCc ztPf=P7(A8Od2y^`{B}~l8tLWJw1dYJ8B9-nzU`(0Nc#ZNb4eXn@CNba8BD}Ur5kUs zru!xK_AoKc2~q+UL**1{;P1N2Gh8(I%9f{?Q8R8*osxTtt5U<_h;M5k&PK^xFNJ%b z%boj+NTL$-Y~RUSO_VK;2#9>Acmg(5w4>35gkI2_g*VBMQS0hF*-t3NuP+v+yPW9y zrv>Firm~85_C8=U)+}vY9A7}?pY~De7$c^RzQ~%UIOH($$K+ihVkkdKQ;YKu?O|AB zMr*k!xerjSJbNJ=xwL&hO%_Auq#uvNLs8+#+7D|NC}Xv6^ryAoIH&UxohPJ0o&OL3 zFp}H#Wz;b^K0D`9eGB8_f^y&J!F^!Kg*+B~ANkipZgP|NJVXvn(LCrB7B2!D@=k}IHm2G{N%!P?!wk%$)hrNR! zqf6}<;csMgjZrI9mgD^S@5N<;qc~=p26BRNuJvz?tl%+4wiN6xh{=}ugV^nGhOwWN%PC$Ar&L8A-FPxE9pU|q8d6i7W zFqHR|*%^~SJf}kPAzq`UDkn3X*B-@PIX6d>6QAm_3nAoD;05x}Nj%@*B_WFiHlqY~ zIZG3(j7>F`=q%TikzYYumOmA)gyuY#V)srQ1Axv|Yok>9EHcZv<#Ff=Fd4AG7lrZ0 zXY(58X7)I3M|Y_Pa*gz6Hm4p@H}5E}#ZX&1DPSFezT-|+*I~#t34Zm94*)Tlinc4q z8V4pj9I>T4yydN^R8dSJi~RXrQ4;2d6MtUa5f4q(9)F)-p66z-;!;A^Covzpipxc8 zfXD5|LIY1&m>?6ii6Qc2cHA=_PpG7@1q{X5iCfhf(l$z$AadO#|08J&My`zL*`im; zDyG5w*mpM#nwjI;xl@1N%vQ$I)cP7bR6IWY)V1kCt^B*fI>OQBBBFdQGf|!1EnVS| zVog5ZJ9(P0v&u!>Sk9}&YIVH{AE8!v4RmVIvWicI+1-5^AZodq^Ss#jA`Z~(&XsatOD(~Wr^Co(!8!nO$;1_%Q2Z>gmm~?H5giW76;T*^9 zsNxgMI!xaM%6DP8fK#iZ)&VZ6bEHg~Ly6RP?sh>ov<_FF!$LhrZQ92>v8rdT7U83h zDGfES1?Rt96p}BVNB_c&i#X-1|1|e-mNc}kF1jZ&HM*J*)zGrmyNDK{kYPW@)5`lpXRSdi zKp#rcLL-a9MXZ5WCy;=5=Yy=Hkd+40XNbOd=h?FO)awt;jBia=$ z26nG#>F3ba3)$r|!KVA62eDsIXQWD;F32d~%!YrONH*648grQ39pidlpTNRw$h@iW z&mgG3*6nU*NTTrOKo7r}MdZCpa9^2CTPo?{p5D58v0#c&eQReYO7(1$;(Q?ou*gZr zcV$=(eWw-D1%_9)$x=fvIqACwTn0sfxeUs+IEQ`{7r+(l*-VZ)SL(bDF=O{v@;YPC#YUVLBm zcQyeiEeTIyt&}g~8st1c|4yN&?V!n~99}6qY3?F8mo7vzIN4X;Rn+#q59bha>^z~% zX2E*s<>}UjAxYiKR?7lc5OA@@QceU16w`Say+peOmu-bQ9z&1OwcPI)Bz{T*07{cT zIy%&ciwx}e=N0knGoqDRlw`S&cEhI;J|w;&v7IE{@C7ce`C7jXME8-KW{bU`@>ol7 zukUpPuD;t~ku*!4P-9kz4NBdpLzpyN&~hlq&NIu20dK^^CBPVu#gsnZ^f5sS9}xws1EINQ7N~^Mf#AwEbx1-EjZ8}mcjX662gDtI9t7%* zJX=H(YZ(7j^+wFmQp$BWb1j6U9wF0r|^sIu}>T5BIP@X)b3 zcaa9g8Z#uNt+N>C-qgv<+5m^e+>Z~zMwGnH+20tIJK^?3R{}ONajFjC=zpRLUbtm{S<5qoh{Yki8}T#u@pQ&_1qG(Ayk7#t*Sw` zBEc{dToc(9-JcMuFksWA9WVzg9p$Z5r+{b|cd1vR(&(8dkr9CzvQd(UBq#v;U_L_CJb5ZAfbC2j3onvYfoEF@0+|2+Fnq@>B^pZLq z?+A!44nllzt2~YPy}%S9wNIt!U3bj4-|B`2jR>65uROoJ_+T_gW=c!cc~;I(+56Jr zaXSRDrD^h-jQRZPs>2|oo6uy;Nb(&9{ij&k(j)qDkP@#kvR`7VeQn=!Ph|b!#OVbs zY+7@Ft!u){1)tb+0`maZ0;SWUrDd*!0rT+pgylF;@13v&K&I9(D?e6x^AfBbwMO{` ztdGp}{oprNR4SgnUqwM2GZ3cv?P({&aVzIHdz#=U4BlTADEu#bC#jlSwxR^>LYA*H z5XLJ)v*niSv!Lt6)P)UwtQn?HFuy~~5t3Qd5Myx&T~OsY6!d=zfQjTp=uDUYids~y z#o!>Vd5VJXlpps+FKnh=`Lo|ey4vLN>{)^8OQ|hoXi;RmR$>IREz^(f{gxY|qf?NG z=%pY<99j+S&E5#7Q3j!pot$Eyd5q04nus)O+xH#D^6l2=KN(kPIiB9zm!0c^E4>00 zN7C5;Si`pP@E@@pL&?~YUJT~wD>L;MHdbE7&m<2#y^<}ng4?OVH~zJ2{4=emYlDzO9bkfN$}}jntyFh1FQ$KJGG^Fr7UF3GJ+2tmWs?CG zg^j)4w?4#fl;QAMqpu!W`D=Qq>@X^7Alh(f8(PB_)zgc8{9d#Z}A32*ruIZzA}V*S~H%}+?##N6=a zQvm6qxK7ofYha7T9dd32%6v)u!^=UC?K}^$LCRJ=Tj`p0^@2_ZNp;$8d+{rjJ;-`4 zX`{$pW;|P-@xyzPz;?)J=iVSx9Sds5*VgIIcYQj36PlQ3*LAdLOOi+D>P?KByTZWCh98_e*z-0$5CAqWMq`C|&eNm(7G>pH z`$j*Tq}>(4WaH4B&n(zfd(XjvsqI&e%tsyPIGf9NPu-g;IZ8L(y*C zB3hVxK*Zb;#MX3`MCW$b4UrjklliBk17v$kl~o^U1HA4+-cJd&l!oKjtFc5q_tk|# zp=h@K_GLUaSUS_=gFld(*wi#3X0pVFlWRHUw%TG*+vB);seDqE+HQ**(|36gn6FYT z#Mzx8cV1-f-~Z5fgW>4#W(W?_pi zH$ftqFTsXasd9V%RJL^&PepY~F?PL}?km9FbpD)uY1@TFDSbp#90_Q@74pJD?@CpD zp)NbG5)bT$)Hto(i0nq~Zw(`I(oAP?nDsJ z$pgKlyJ#{&X#Sbxv4c91<&4KOPm0vcN}~aS61dkSVCw@DJ)4A2y9j(LR!IpUJrz+T zOr{OIFvwv@sErM1=0L&K8;SL9CN(;G@?}IlYv~B0TO{_10&#W00pS{N;{u$Q)~y9( z@#6Wq;|y^H6~kECOKobKclG3}nK)|!^NHT(b89*^hJ9F)Ez=k493Up~ zHJ0{@;Nh|tK+b?{5(S0YDnNbLZDGp^P4`T=GgM6cCXU9auRnG#xIW`Tch8FzP+SZb z5eFIFQ^$9RL2|bG@%ARxX2)Vbl3maq4*0Z}_#Kaf`De0gvO{z8pR66b&M^0)(|Tv{ zYma5uP0ANoo|q2$&wzwjSkw~tXLB0qrE97%eZm-=zAtn$bwyD|%V;LH2zB*VXoQ;m zs|$&iCwcP>dGnbqUE@TV(vYl9{_=A*pZ(py^~oWUW?qZB>6EMxppS*lG4GZTHG)ki zpa95^4E~lML0?I#-A@CkXa9C{R&PE6SV$=|lvH2}c&yvtyC|s+wB!$FLe*dG46eq7 z4(4_k46K$y2lG5tPCXmin$-2`PTgM~H;Oy@&zF-TSGy;`S0Yh<)eISy>oLTEI}d-KFlLZYlm{1GePAcT#Mv^k}N^ zPBmu8#e;EKvktIJfwv;qje9BonhGJjF9Y(fYlSc2rD}M9swtxryQJxbMQHZnny6kR z04pbK6py-DZ_#sJ5xh63{X#S&l;1_fJhRccg$5v>EUBHro6qlBye>y$H!>mTJlHXR z@7Z;K#iFRQ3xmyM`$`}5YaFGvPMsd&QULG~157Z%{)K3RB_@ono~N%|t;PwcG@qXe zv2i<>U}(e&Ex2Z}m$q+B+Lx?xyNJ-VF5)b+x4^DIIa(~j3maIqDdW!|%)DFiO(>pd zYsNbxbfo7;@$196SYD)!pUZs}nP*4_dVZ*`j#c`6S;-CY#9!;DWwk(amVejXWp&fu zXs$OkW&IV1RrkXyv-ETBR5srxM>T{eRy|!e38MTE{jH!%^}^u*iL;mc!EfbC>Hdoq zKf5A8?nwvOdeq3p*m5agYFGa|Vw6-ah5M|4Z}!7e|K0GXRAN5~CDshxkDRw<4T9LZ zj$~dhP_0|VSXmv}&!FRMHD(3a;M55;=BP<JvoInkGi0g_K7S5%ccF8HZA(B;+B` zK-0=Ob>DAh2u$LIn-YoVVXou<)uJ<6>qS!M2dyF?+zQyvt?9eftPd5{9>MG9$B3aB zsZlZUv4)#t@6wnS;$Ex@pn1O{=j2sr%i5>nSWGrYZx}5~^k$ej+AFN{UUvsq3sX%K zU>2$;AtOr?N6{liod)fAovdm0jvu9^jbkB1h6(t1>hAK`HGl8l(V;*})YcLkwr9CY zW|T8b>hJb?&nK(Hh?aFO$R3f9Fu*8Xo^GLUzlrpxgnQ21#S78V%QJ30dS(k14pen% z@T@JJK*+4Ep&3DhZd&iTP#v9%LJIc;Pg&=q&hBFljhP&N7A2h@#DZ}jwifRu0CYQ? zf`9DKT=f2E%10F2cQn0n9bkDq!U*zMl9WWSRzl5##}BoDv{UkpTx&T?reQAy9{oy* z_WHtBWJ7g{Tv9C;l3h6lD)lQRAZetLMG#cK_(i*Vu%}p5mxBA%RY>&U#I#R8s3E7h zkZUH**0ID$qS`u<8lHZm_nQ5tkqB)(rVXN>J~&^bBa@R^z7MnOY;3t7XJrxR&~lyY z`M=c$`4E>F_v#EGn8!e2riK9w$HmYL@9cmK2X!$ zw{F(O|9*KTO@#wyGJGx>;cO|74guSu2R1Z-e z_PVBfWU>7dAV)2Cw?K8@or^p|!D3|ttkGfmWv^=y>5W1W_jp?i#BISXYwIibY?LR7 zJWWb;E&}v zo}(Hw)HC&yyCLG7ZsOWW2Ym6JX18b!Ta3p4vfK`@YJ=y#2r4+d7PTot!vJ)DR_6xS zE_Gr-1L^bCW5Z}p>oE1BogWFoM?Zc7p*8sq`bvA1=#D4{@C*u@+d*wcFUf-5IOY*} z_YzGT%!?&L@|bpe%hr_Wp!Vj!j21FcOsH}~TsU|Us5-S6mV7TLv+&Db%gJ38Fb;oA z$p{`%IqUhwENNtgzr7Zrn3Nd^KH@e_HW`Y>2sJL_ait|bvI`oYR+steAgAhLhrQ-) z@P1krYk%cPGpO54KZhOGStRRH$vXRR!k$zgFS_*}S64A5>sw%*JBc^XT z(y{3i-Xhb~02;gc9g2LP+z^>LI(Z7NJ$NP$cTRh8CEJ}`L^VNnE-0S4CzT23!C%mt z)edZ>mKYG>##qjV89AJL+%6zeNy0-ruw(%AjFT-$RbD4xLU+EfXbGnCwkFfi7ZVD{D7>iP<9ukN4WNx-kwHt zY)KAF<693~Xh~BcZUcz5lEC(5a|m->wF$qt0V0agXLb;rhbCO8K@T~^smfR$|Bkqa zjXfKYB!NK`%glmOKnCn|;sR#A$vqP}$KXxg@-!sEJyh=wHkmzQEZ=*=2X-vwB5zdh zfClXBEo^12H_~Ec>EJCWw!7OJa1wBxSGBdmd2icB&E6Ar1kbo z#%R^5bj5c~geeB$*@R-u{?NL`8(Uvri;j36q0A6e5OruU(z3u(X56IyEBBbU?93|3 zqvRRI*+uiqbB&vyYbZK7Hdqco=&23ZhO0VU2x=cwN470@l-W*JWY#$!Yum;ML?x{l z|I9aMVBo-=4COPqiE+~;Y+h>VW=SE5CtPXn(P*jrSU-bue9rP(o3;Y8ob(|g-<@{ zlSeM>x%yD!`NZ3Fd8N05-QZr~9OHfAePI2VQ~^~c#54Iot(PmiSe+60u;rZ#|4?~3 zJ*Udl`0Cup%!8zcY7>ZdD^22a*5;%GrVzQLaFVVr!=p8wGK;>o1l+?Cz}3yF)8lW3 zqim;7U?AKZacV&$A%*q0X}=86=3_nkd#FkGUSm}`m!cQ|JZ^SkxQB4WOt2m^^Pv8N z<%kJ_XsXa*C-y7sq4;b=F|YEivtK~~JxB3CcDJGH1ubQu#ZD{uI250VB$9A4H7-RE zEmAzAy@l-|yf_@IJ7hzoZ2gIcutzDDuwLQKz}$r_J7{w)sn(J_FM2!Fqmfr8)||I$ zkGqAChfM?$$*&PnmnONA7S^kQdi$aXl#JjeA%g)Zy=G@7prfuV&j(Uok zowx6QmFaB}t~xK_#>)-2Q6d$2w8+q~WMFqW0K_eU7|z$czx~x**~H9K5KJFr2hsH* zO^#-(?J|OGk^!x8NL50GWAih&&*zr~-E2eAbk3IbTc&Qa51keBjF6{26B~g>h?CUv1zIR`#@omK{G4S0aiQM zB^cwGyiUls9fVO=A=O|`mXLPcNaekzDL-U;%V?nGczL{5erWX0o?|HQXOTQrne|t_IP(DW+u2|g zgXU1P(%P;Yo3+Tsl!gp{Y0BC!V8s?Zu`t#h?WMR-ghYPgyhJFTyI~KYH_HS7FZ1z5 zIkzBgXtw#n>5}N_dhl2s3~;RBf`)gHIa>=C93Ga-v0_*KSkY-V?W6F!`OZdj*;h_s z(^}ytOr+yjDDxdR(C99Rh((!;|D%4&W?q1Vr%77<&YH)3yybB$-TLV-T`-pkS^Kj3 zLMjk?5?*$YDD5!d6l6Ex}P&s+YVE*TnR5C z>;p-}EPfbxCDoSj<8g$JE&a4U%!owQ+L+Oo6k@on-MZLrdyW56EywJD#%zOjwWezY(v z4;r#5t@GduPOLQR#D_hFKD!HzHUafJ%iAGSbF~X!>>aXZ*DbO2(qq;MgP--vO0;h- z=0)r5wdJ@u&LeEvd(%`pG^5wNX6{Zu5KoM#k8&#rGk6HUJ9ExK?73lJypxp3!Cgj{ z@f{H&WIg^NGMRAA0=m?YQofm%>3$31^Sj-DG=$w_P zT`oRTny9G;Slsjr=3~QC6=>b(txaWO+tc`HI*0xA>k8%NxQn!|WY$zmwXk@$>e}i{ z&^AY$Ug@pf<|t5j`s^y}A79^(p)&E#;XtN$4{n`MIK_HXo$@DMq!+Z_gy`773@2lr zrHO)8JHU`S$Dd!Oi4R+B%+AY_MQ!t9(dJG^j>_+NE3X-v_o#rb?itO&38%{)jt#d- ziGut+_B)`*X^XZ~OTu=e5b^_o5LW8%W@G)u@+_dbiG?N8^FsFxBmH2V-ipkFFB`Q= zeKLca30eTp8NQ3h8o)f$e%wBe`H%i0zie{b!Ec?&vPNrjUn*4)X+D+?Hr@%kOL`%$ zBRu;HhWSF+j+fc>$9n8!%QK)sxmsn-cch`grQIH7lveut>d=F@B$bHDV6C2OL2L{x zFXJ&Amc3Y^rh%VnD&v+{gV!2la3|M-XZ^8li#=BAU-|N6bb#X7S1w$P4h$WMG-F|} zGHS~Od@jAe+Qo9Hf8=8Us&ft^Z-nNzh~ddwt6}x}Z-J;?{Rle(D6)1*-Yvh^H0y#! zcQo70UZ&$xg|k<4uPNf(Me}!OlWjgSeGm&^Xw=IBrcp^COvDTQfsBUnR(@O3NRvQ@ z&0_d8Sl7=rCNdFESf{EJaXp2@qJ4j%w8iBWmI5BA{xd+Hv$CK$MfWH}Gg2fnL?>V_ zHMWYq`;S?)!H1{6IltMS#n4pKNZ~v8+V#zt_H`H^KOX)3*}y}?O-=a?PWon)S~8?) z@VioubdD1-(IX-!@w@mk52IDmEGV5?@7{kPC8a2duV_l}`3>Atboi!u>yGmP3MJ~X z<&B3}OUdKiO5~JHlXr17atolbtLSf7I{2Z$UOF!ey7EsQQ4{*)xhPfZ#ORm*^YU>K z`2}6W&1ODGtLB)iS|mYn>mX%cDCFj3jPZ1(*uR6%{{lmQi~hoFdF#gtlczJB6y{j|A_V)l#C zdB5T^p(j(EM$vHJm(7~fkx!lkY;OqIc&MThYn~n&4p0z!ZDKV2S~+}%t{?HedY<(5 zvxv)u&DWEQE{_t@3NETb*b_RzU*iX+`i$u`Tl8*W^#(X{`y!?pdXW_R2F9HpY&l!Z zVm1eNecSfuQnA|7#)6Q0mU@+eX#v- z+pYQ0lk53R3PNkKGjo=?Q$N8x{~OdXze7S3aRreqrx#a4%akWU`DB?rD&fLS zLC|6SBnSgQ{QSp}%^2J(97&w8q_h!AIukvCCgveiw9fT#`21Z*t0?or`fjK%zDIPa zrK%0j1yBB_?bkibw+@JoWVsT}(<{S?lZ`;cyJixzUqcRX9*!=2UpS(phl*pug9j^^ z=xOet8j9KeOL^L*dt-(d;5UvR=c9^i76d0vn8_#%tl^udXzTt`pVkA4V3#j0XnXRO6VjrWjPiwzst zC$p@bM9&Rtm<(;!qR33ho0C0q$TbL;mEs1qg|{AO^sU^i(F(EN(WrrSh=yJ}Qi+fU zUI-Zufp;_sABMifxCCKbS`(eJj3#X7#NNJ4c28bTc0ZYUj{Ry+l+Bh(;L+hlR9lkh zA&2V74wWH zS0KEO0zcwA;dLEoiT+YSl8$?cmB8g~^t`qTF!%TPkA2HFZAXZo((k~DB-3zP>j@bj z(#j_-(tuD&atQDfl%iLP#8>h zb$w}vujq*vjLgO-p{DP4y!WbI;fj~`K4ZVsvg=QgnRm?MMnDa+qt*46YPu>LPGtST z*#p{V>zJ3UPw9nODUg`Vbk$+n)eZYHz;_jC?9`bpf;DKDol=9&XGba4sy*%p4w#w{W5<3eo)YoZq-j^Wz_7PoR5#F z!`5ByqGRxfz8}V~bLPSc53cT#%-FBAEl%e$zaRR`oxsIWNFg*Wo8I!5PNYTPPnY6L z|FgAr@17VenI$PPT?|a|_w!OgLEUuc`gFSmFsvV;q-qPbsu~rsgutuI_gk-Mg`#qL zz|qfVGlGO+%#0uKeU>oq!DggCf9A^34kQ@qxk-4*u(jIbRU5t4TmF6L4DDA>nIE<=@AS`J>h_t{_)GuafbZtd*r@-92tyus*mkd=l;}>gq}VtkC$Q@fHnA+ zX`uH~PJ%20%|b|6b*Jk7-IVLrIWD#b%Tka$Jp_8o{CTXuG2)E9J-yD+YPsE%8vkF1 z$n$q_C*XA8J3HNf*TCD;7u$2AvEn`dwN^+TebbcTM9kDTnCiQ^UD+xBc}}Mn36DNm zyeFq0$8QTu?68U)eAV270e8JYtGW|U+;Jj5Il6*A^)_z9G8$0 zlie=vC-kReHCMB{7!0>Qp|1Jn{cxG}&Ovv-FGxCJ+Ad~Zji z2Y>x~yUYwt8u^b4dRe_*A~Ps{z8rUZRZ~Izf_>R&6Ki2EzW(2&Gy=?3!FWOe#n%UC zXRqa7zm(J@%`VZGGWHR!;N*-d8=YwP62E zw2C!YdHD-@%Lsp77uWE9^xwj(6dpCr$g3Fxp{O?1yx?NNapK^pdqS|Z^zqZ@pd)YO z$Ml5YnQhyZ)fLiAKU#WvFM^S}oGuz3+=Bhr(X!S)%FCb0OGoN*yV!VQ3ics0{C|5d zBT5Q<$@zn%4)1^DQ%6KbMDe{FR#u5t5SnTBtYoeCSVlF@$$sc^C74~R2Q02$^#7eJ z^CXYIoV~B6!28{SfM{iPQU5KbeRmhVASZ!FN4w)$`vYA}jJD27i}0|p40N8|@B1>* z64t`X%b&J`qdxlTx3H8bm?$VGB-#W^7|_PeaCoh$Z_ z%{Rl*>FKi>UquU9-wKvIcBJmxUpfWv;`++~WcQo$^a@LfEE>Ms933Gw&{KahGK>eP zG@xz@p;3R2p_B38uUS}sQ~u+(NB?$MJjR@{e|-3RG6^9x+eH1{{7aC`d-<#+JE z{?P3kt>?elncHg>J^IaD+^WBN#BZkS_8QEc{~ShK!v758Z<+pol7`se)-mwh{B~>| z68>q}{cgx|LYiAW7IAt{_ErI8&lu^QK`QL@;?vQ-?I3BXKvi|IZJCW zr#`t_y4b%=^&)GiiyV*&u6n_W*)Za|?)+=D_TWN0`pk~7TFQ>BN^O!rrFS6jO;qO( zP1W|*Oox|=PdW0Jir*Gr3^+_jIN=rNp-ydzTQaMO{Ct%Nl8QM@>*WZ=7{#s4-6dR2 zQh7I~;_vrHvZsadZTh2^8qcST)TenS(L~71r$5>KEsi7Z+hP46ojQsfkiJ6KTe!F0 zWYJOPZrukS7pDQ?pMR%ZACfhtsD{_djSvI7XCJDmD#C$u9ki=2$pfXy4?0pFu-l&D zpSuvaSal8%6}r)!+v#xZW)&B|uMx&b`EWQO?JeP98aIM`l+$41p3q>x;MO8DwH#K} z_k7)cJ7l*^8}Do$cRhViAw*MJgTJ7m_?z_LXR%cS(*V^vT=`{c=VH!EZ5 zS!hksovF0@mZc7XCqFgU$NV33fJ<6WYqjB=)FH)aM*J=$4W~Yq%%^uXI%J+r3Gy(n}~ZIWV=fd(PcC{2_aP2ld)+w~Lq0KemL_7|u3LpBgRPyZKtZy6V5yS0sr zD2SAT(s4_7%FwMME!`y@1JVrw0@BhcFw$Ma07DEV9V0n3(mhfG4E3LT@8`Mqe&3J( z&o4i|%$K>~TUHi(Gqroy1_qz~nop(4*S0sUCBRtpJw( zG7?{vElE#8V2VHGJas=vyz#LgED)YY6mh3X;NdO6bXQI_Yx`fBd0-DLm|2oU91gde z0I5n4EhSRI{R6PVh86fk+VEA-;(W)4XzD9&bAbf9$o{ku%SB<0Oy>aFg5xNO)B*Qf zk_dJr7DSU+H9m8&tz=7<8kp?!{c*dI8AVQicdh=OUjgqK=og$UT}bMC|9|D?#A$mo zftq5P`A~g3ByA+XivMgMw~KFIm7=%_a%2wVoxQ3^Y6nbKOlN-z?vV0`s_SQK|v$+O-xsvB?t#`j+Fz8wAf@4 z^$HS1ma(gS^O1Z6>OgY z#}r^&TbU;JXJ;`|;azvCok!f}p&#(#;`Z~UgNV@X+xamBAw1>FjWRpkP4eXRPoRR? zAnBKwR>-ruKlSee)5&=-x)cUCb`5dfzwjKyoLj>cSq9*7gsNjc@p+^ahsxexPoanf zcoDOlQPM-88jVMk-roLp(${an>R)(D9zd1myc*#d2Ql-kyj1hq)F8r~2e;55K9xZ7 zj0rgb^*~GY_N)eh@Bekft(fQ2Fc_KNbTakZGI)4RgtNc!PI?<&PpohV9`b<~{X8MW3Sacj3(B096M&2T&D9IE0IQ ze$B}a|80n8SVZX+6&krUH_o{cTyQtWcFHR+I;v1Auj*ZqD!bofC zERH#|x=Kcv&b0$1_vIXH-X^Njj2)(>zA4e1xiV2VD4jlYUo3amrak1~Y*y^~!4i6i zLzX7WiZg$f4DYKBalUv&K_iwi;(xT(fqe)X(yKzT!v>)Qz!4lf%x5#<2N`H7zK+(Z zQ?^c5DFWPhnY^S&-+SY#KMZ|fSl}R^cF5ja(FrIIEUOnH*Q;vu4OAghmQ1Ty8E(ms z@AqkozVWTtj%_)o8v5&6?^^e8ws2%GSaqCRM{PRZ?MQbJqI|MHTcO8wUmf4BIqeP(D1Ann%-+c$YrWp?u=2|jkn4+mB5ZuYisXYcW_6t9&>4}jN?Zf znMNO|59x7ieyG!Cwl4F%^qIcf$Qy-dNIE7gv0VSBEc5dMb7z+1BG}YJ0fH3J2YNe_ z(%}}UY(5nYb=JTqB80dSTRpWaxahB6pkLnAeGm?!hFG+*=V7HH_@u594fEgwRj^k} zwYgCCoS?_^)Z(DlW;%2yA)H=teZy;KJU8U7-Yi1$>ujm;iiU!OTXWg?ufO*#IIX1)SinRGfCKmaPfEH$$ zdOMeOntPYo&wE{qK~YN^$@8a*>&dn(hh7TvEBafbawvO0=dw3BEM|+zB8dWD=mlmj z!o;M5^@qIQ4zV73>dg0;&G)E7iuN`q2t|*qMEhtg84SsnRQz9C6ieH&HP{oB`7H7O zI9iBTBdPG>xVjPL^ZeRdB}q`REstc}R{X=i!)PrYr5O<`4kugY6J4H}FU@W2cTNs` z_D`ab6vsq`3KiiXWyR#?$58BKP~Or@9HVoOq}uyR9#9?Y6Ld@ze2KHPwazIE&L`kI z@s=4UR$YH;KzbI?&R>~(^g%eBm^kFF|A>$4h9twjZ!zTaEQz`QUj(-6`O3q>bLmOM zaV$hx-4E=r$>foDglB@*{wGFZ``&y$$k01CqBBr>zW5Qr66y%sXF?@@9g>#y*|PX-o5 zKp^NB-NoIjqYQK=Nv_zEMe@R6ZG?VE15Gbca+@Uy_4yu*yBI(k5!exNks$o` zCqRuK$3oRm#(0~B0(QY$S$Rxcu{$i$B&UCGbkok0C@kAfqI>82<3_kOq3Dn)NJmuC zw!2mjLdw8TL;F;9-XeJ&SQWQt;C}#^!~Mryel-*T2ixk!;a1;2v&>^dO)U3160HlI zmtn*zhxk2EA-+e;p?5Y|9=?k1azX@?36KeL`*2p9)(B$mJAF{O0flFzxGo` zSw@)XnU9H>N3jyL63NoLJ%$!y>ffiJs_GD3=7+C;!8ho`X1oDsf>IG(?;yf=s^&ws ze3c&IcLS6=#7^NsJp<5L*0Drstrc17nhvZP)p#HqfizF#s~xU05Np0Tj7SWYsR`-g zQ}I=wNj#6+^wm29blAXG>mEi-lIO$HaZP0HZ!0$3s!F-6HPg84q8UJvt&jY8=U@lJ zm*7nMTd6A|R+hdmuYJ|`oBo_ZIH4CY{f z&YjbbL8$}j^mDQyKM>puif{7HbrQkW!C3eF;bCJH{IDr<`IeD_#+o`=1p*q`!wZ{z zL@}c*O8&lGCCP91y#UfT<~km%;7bQS#sy*C54toX#n)WQdaM#;IhKOe=K`jbz{J-8 zPB0z=MhUffTcm>g%3COf+g-be9ntU{ZaXcf$91kbX_%eeyU}LB=aj=?oeH@42553A z9u?FCjoS5Gyl_+ov3IZ>!pz1<)6oJj){fK_k?vX>^0QeN*^)%B+4nhiJhJ{KV}n9H z`Axp^Gs*SkVi~jQL&8RwxU|U+;puWRyEqgJOBeR&>VlJ%v;HD_-_j?GWPs`P+dFC| zs7_trYHc*@)r5BO(xC0^3ux>MCa&QoCdA*pg?A*2Ol)V;LCies76`u&YnK3z#4dQD zUp9>kC-AJYw|dU~+dr-T0J@PoQ}6$%mJ|t7;kCOsBC($>7KnBjk7R>u9zxfsP8ax; znbVc>b31<(n|$W6B0Ljkm4p4DCvab>YGuFq)Lq=w8~i}a?}11iti5u)2uh~jidz54F~HfDxDX8=#g?NY7;y( z*RQ3E!0v+guY{`w)~FSHWL(IY`t{w2XemAs?td2Ar7>^%GkjMy;HT+ODT&`HTG2o{ zT{_*bE)lqJhN-6i*O}x6T-GdAwx-`prpXxn+cmW3`XtyBTESN;_U@iM8IGqVsUz8F zMH9L4Tk$d^9Ur0`wf|nArbD_ml_EosFrtXsT!iayDoOhULrxY0&tiL>lUb87Smgiw zU=EkM&5Mr{!^78@;<$rxeIKY(T5o4 z4;G_=E`GGDux@SSUZlwVg^$zpoNt8wX;?B%f9z4c>N#5UszEV0{dU+(N5BrMM0SR| zb(ZRO{@G$^n@_|e`Mij0vWRA{OvLlla4A4fIMp_Yn9B(J0Qw;CjR3glrCSa+(`l}c z!PGu}1Gmp;v6CLN0*!PcIu!-zP|_H(7F0qtJ&0h$f?HSUDR0Rv7)w^HAckC62LXkZ z8PyQ>1wKfgA8i3m9`H8V89<^3m^9aK$3{B}gDR>+A$wAS@HM84-_xNSb#u#B%co=)wDt)T0XrlKO{YTH{vdqBW7Rc?Zj$fB*5iq-%>>YBp02?7 zNCh|jlybId1G}e?7Hvh!oZ6l-vmg-Xi9dxdF#OJe%OhMAZnA*41oCRLIW>OhAv`AQ z?yb%_C}Gbymr%S%8NEbhKWWHv_P^%)x-&Nku`)d(w6hHQf|?T9nGGUT2_&Yt7d1bn zT@}H_$s>iAY|85uha9(BY(XsIi%GJE#NjDlEyUBXaj z?>l>FBM7BsU@lcodUxK}FLv|-3421-%`N>FzJH&xI+;%a;MnP*EQRziWDKbWhScl*7;U@D~OPS~J zYsDox!A8wyWfO53Sim!krL$S2iDZJs$)Ra`21^0nH)Nk&KU);htT@kY{nD98t6xt0 z4fjVySQPtpD>Jh&RXg_7sk&UUV8-Ix=WX!*~ ze2BwZ#+ll?^G{rtrSzbzgR|s*Mol>E5UGa+Ej^%EgibS`#j1xXIU$H6Ev}p>hz7iF zQS!lJ6lnZ(P#g-g)`Z7y9P({s_#0px^Xo$ZyaOlsdXey!$K@PY=u6W3|BV;$_(*zSxk=@Iv-JPOQ%&ktO`i;1keJEv5k}mYl%kUX`aHob=OwLr z50?%(;U+8W3*Y?ajz6?#a4P>@I9f7$34l~v9;u?2(~^BN-P&3P;V-1*>x>wHhV0v= zyTTm*b@#C_cYi723#yzPtbijAJ5e@|hWf5x*HYq-=o9q(nuKqX%}CzD)2NFZt>Gz) zpINr~z}w^l5Zq3_V?qj+sih~v%?sVNNQ$%H7oZq&(K)z{NhILyOoB1a5( z?sET^)~7Xd0Tb35H9jvm%Jd8ffKlbFWwUY`=6e9})pk*JJ4g#pvOl44#6>xCDD{i4--wa(#^R! zzttN@0Bo?qA*jADxyN{zl?DLX?VeAoPtMpC;V(CaTncIN-9e-61ggbKFB-p%C?|U+ z(`jW(S6P|%klGDHWRTgo<5D?n8|H5En;+aI%XVn|}H?%)xA za!qn;8jWRfV!G^;NtApv(!{si_61;)xrpA*?}8*o#M2ng{l%udQTeKnTymvDM3s&>hl+geM6sckSJzOkbI<3{(r2Wsy*xW|lAx8> zWN3T(nN&Syw&Fm%p5k-3SsSs5CK32CPy}G_u8Q)tTho*G|5%^WnC^6nBvB^OD^?8i ze+*wbi9|(ndf>k6T;&O_HYF|1<#FHvJav}KuBDxKCn2ZC>EctBESe0lTE73%+ys`a zFXZ~ENtXJIz3s8;1dko>*k|WS^D^7i5l4{e2ut4xQ}q1gmhUh4^5PTV>Z6_6L9xAQ z@XXn0TV~H^>k115vnO35({@g!3l%;g$5W;t(xTYsZfYi>JX>vpEfh=vy(~NNO4&R| zj*CG(S9bamFC!SY^Ai&5ZQr+R528kXI>+3GgaeuQ3tHW=<`>584zgxM|LGPIQyb!~ za$5>h{S4*XgMc$!6c8VIdRKfX!<_Tm+fl^)Lpu)A{K2$9bgK+(hjiVMIZimT#4F4q zm7IXpS&lyS2@s`oin-=~6?&bk-qdL7xA0BvEcIGM8+U(cMr-!e9FNEV6RQyzJDZ)$KzL;l5wC_F*oRpgeu_c|M9@DmTd zEY5WJnjQ-5vH0|@{@(?cJ1ub!L>`V?BAfov>V1`yAF7QUyZX6-k)JROgLyraNc4b(t$BAe!0mUd+wf?^O%R&<; zjs-u9fqin08SWp5(~~1?k#SO-vX4*Eme&1=jRegp3^K*FL-l=1wo1W)%FR_52{#xi zJ7CJ(i^Aa_xdRnEVG#X2p?5RVqSePbxqCvnd(=UwJjE8Nbgysso;PpqOdvwCl9Y%( zD^rDdZk;uD&5w+qer(o(_F4c>vlbcQwBL2i$Wq~s7)09D#kbP)oj{Ew(A1SYO9DU1 zL!CX-7VvB48LpvD-id!|8_e5uZ?b*Yk)O2#158t7aNHmLwY?szUPM?lQXF-@g*t9d z@;$U?bc|lY^;G{S5Lw+~FpuGOEZ|52JeLahcD^R04B2&QQhwZy6?x3(wDLG`gLeHQ z%Y#`5)5H=b`>JViJ`kdjTmWGJ)hl#m+ZD+4K4CAXz+n^zzczwBaO?x;^(?j^tv z8^b#qG3suvte)m3Og%B;=r5oyndp80@U`onCzQm}G;lu`BQk8mbHO@&*Hasm-HUix zmfirj!FcQxDfDI7J_ZVnRYO=#U%VF9m22w9!6~WkENuE5 zCD)FlCMj7TM12-S4r)y$GD*C7xAbf_!%1EX8|e88oVp7qvz5!%dthRS1O6oij}Xzn zi>n;Fyqic?%Qw&x;N``cZytr?%*o!b3)kOY6cS2f(V(%alg$xz_~_GP_|Kp6{?b$W zI7=4&ta&4X*SBEeqBw>3PR(7lqYCpPSYj{9_p(DcX1H#HvWf;J`r0?^P>7DqSw)~T zAd|JOW@wd94$>~acSCn}!LcEtlbw0(Tx4j*d}`yNhQZ>+k8^uxb=a@5*u(sVMNLyZ z_FtV}(h_i{cYfm1N4XP2r}i}?OF-@Q51~5phAWXRR?AGH{j|1NG0ZmVk;>QU@8`q| z;&MR~7qM6bt9pOXXH``TK@*YqXa%cR)gPm&U zWYb%SW#L0j3a5H#@u~#)f=Aw45DUr~1viy?1k7+>A3ea^8%!C;x(?#2G$y#+<@8(_ zo}2>KaFAxL4Z}-W`~EIej}$zG!&%FzJC-aiHHMz0JT);E1N+Wqj`%lo&CTY=89qLY zdJeDId#sX*!WjRmA*68uMEoTDNG-lHod9@bV0Yvc;(TwlQ&QnFuINk8erl<-wZ!@P zC`}ryXRP{BzWu58keKg70!Lw)V0J3#!#QVzK-!JB^8W6O;1JS$GuGpR_|YxKUnPP6 zw!jSKU|av(mQAuRa==d$RTgNW--Hv7 zwIfDM{8q+)6O?@;*dfS5TsumSK23yM7iQMjTAr-_7LYEsGBtb-R@}~SDf`$%gk~n8 zUT0p8-5+#GgLbWY)UZ46SCP zhfWCC4M&4UVH`m4cqrg$BEaz0sqZMvJ^Me&58cS0smH98&#fMgLdn{xkAHR^HmAsu zu7H7zy|pL>uX|Q^AN8aW!jUf(e%ASQIOboth6UwGp5dks!}21e_~@Vm%J4$EFjTkZ zPH+lPEtoW7uwK&B9kGat_mK%UCp%l{mxDDYR9+KzsttimPq)OV(enKu<$*{5ufou< zRqoqCiE~5g^Ve_&O!nppyZa+{dcFuBQyteQzhA?bc;5bNz0{*C>E( ze-P^auCuo9WketesT4;?uaw@7a4a8-CxKdhE*hmDndBSmA7fc1nB<$#Fp9L5&kn}U zIxB$FCi`Xbo(t&g^{OSVh!WN)?*RWK0hO|8O}IUI_kpQEf2F{2?V6*5jajFxTdyBV zp9ZCjY0UL^iF%GwF-Y*}Gm5R(ancRf1OJ@|nbisp%1!$&a1J7szyFKt*a=IJrKjYq zOU466_gbNsb>~Y}=68z0zXojuz36im{z`uG$TN+-@YYAe! z`3&zlq5~HZ{8S_WPb50C7>X?@m41K6PoR8Yf$*h33l74Uq9cnhS-||Qpamfuw66<= z3lVi5im$1i(riGw;(q33#tjeOZ=gX*-m$;xpUQhOZRffaA>1rOmQyaJtumxX+3dCI zoyrj7b;d6h$qImOR>~DW^J)E%b!!wnB`*xMM~qo5_OyMzI*y}%WuJsktEi2GN84A& zNu>M)1G=f(mKDY;@p!OdxZ@^~88ODp3y}rmX;u5IDP;-|TQWK16(vD~)dEVBmvqD1 zVF5EAVDF|TqLe+Fw(gpUHaX)a7;Cr4C^r@4JUnSm_ANKj`CEA}{C3R-n$ph{!KZUK zq88uy+t|sO{;@Df5rG99c)cS`l(eo1EF}5P;WbsK#5L$jC4qt9FGS9^N%C7=iLzS# z4ebj!=1_t51qV-XdKE46=?N}6MtvznfqPKPSiFl)``+^o8+xeSJ zzqcC8*Oe>04;ccmB04kb2(y4F(UhXK&mAV-?b)Z%g)8NnAC_()ETcg1MlupCG~@PuX{clp}K+Av)Mr z&R{n=K7?$`7iTy`9_yI6{ZbpUP*Ezkypy@R)#_AS^P7W1Ej_;hgxDMA0#la50D}5! zo{}E88x)ID0`z+S!l<7`bS}W(;>aiOEh$k?zo$-pPi-xoUAOSz;y>O${u#x5`dSFC zOD<=WNd#1T0gfsG5iUIa-XwX3FBRH#Ji6twLFJ+n{16fFxJOfuLM=B^3iJY+qd8|o z31+Sz1+(q^h?n(tB08&(4zak)_7sjB1*%Ib7Ml{b^pZxHMCKE>JT%dSI$_vf?oBI! z@c;vk`ux#^&j5RA4+UC~8Jo2)+&K>TsEMD?XFRe?eb4(`pQ1Pbks)LEFQaHFVzaxb z=Jw9Nv@2+mt>_?!7{&vmmExzsNA&kg$lNLT^w;(v=f{xQwU z%ZXw@f%&IwE>|&pKZ9|2ZSEYPCJj;Z4bVn>*!~%cY@($gZucj)yp=#e_%Q_2n%TTV zzue9kPxxKu3xk^U%Gp7T)Padd@iU9~lX+#%{FO74rOD8}^Sr)|Ke%#|lANC4dD*d_ zFWo8|HZ!iNnpQqZWi2T*`jH&dfhp7T@eQBcLdQq?b+VIv8zg~^_s#Jd?2R?PQc{_{_GYcTe$%3SWv%qp6eV7WCP zmV<2)odSA4Q==1=N@3>~u<0X_ZzfF^K`Hrjb!*r-<$>zZD?47^&tv{SoGu(YeQ9bD zq!Do)^&L~HbxwN8tkx~o%+~D5^;W`@&c#6R`ylsc=)wm(3GXwPvN+vy53c#?jjW-^ zWg@B*fSve}r24be!`Z_E#Z0}?uw}ELU|;I94= zv&Bt+=a;*aZ7mB#@FR3@8x&AuSIy&En2->aC0N~xiO%}{3CbYPu0wv?4(`D`EKcz2w$ z+>_SFALGT;L?bfy@Zh^7t^3SgVTHL6WrO+J1l_g0E=Pbo2`GjroaL}~6KM5Yimo;S z0j!t)r}|>ppTQe!@ewq@KyPVdcHmfhs4k^<;P{a|IaGaSiOrDB{VfsrN&{YuGk_u* z@@g75Mn>ML@SUZ9vzE$>g7HH9$81ltZR~qLLve)(nNcSp++ayQ^WOU2IFQ`O*#jO^*P_xzoxFUhhYSA zTCbzXl@+fjFB1CZ>z39sQjGSPcntQMf7GcY6peaEg}FIV|IM$rk5lZVUqp1>(SHUK zo0k*v1(#L2<3P{kc7|Si0-Yfk`<^d2i`dH5$a-H>fqmDy{IbJSF7zLq{nmh6+YF=1 z-*$YcX-sLxm$s@z;(7)xn|%~0;u+NC%3?}!c-!*Lax@VUD}`fHdjpUO@|UCC27o@! z>U|W}{wQp^r-*t!9}x&9)9aeBNvub{v7h{xCZV=1j%!H)+wm(#y7JF38biJF_irOw z>Pu5ID<8NcAWXRPKmJx2$-29}&8_6z*Be4kscuKQ)H+yY?`_rk%@^ngO&*}8?xOR# zxg#MzsOG6WEf+nE_Et7wvqO35!+zoQK|L<`)(b`T2}%Yf?+&%9c>4?D-%1{8uZ>P8^QHvzCJX3RoMbt*jv7`-yHo8= zjnoPG%&af_#Fmd)2c`~G=$vcAf=ZfN{B#azUGe8j+cE5Lc+em&-^dlN`31myg+4j$jN6?pa*Fr*Wt_{Wcu_B6Ax>wIA2~aK%yZ^d!EM7jVy?^oPfT+iT zeCL)|mcFFyI^MVymhk>Rf8g2K-=j^s#h9Ki;f+gYkO;xBZOAStgylzWIO#{!(9sgTiVpw;M+>3PGAK-T}Lx$Y1ZBU8{Q5ZRTmfMsrSpoPj z`j$-5fn*e$la{~To5s>NI=*;HZl@aGGGl&(YQE5$`C$yv!t66>9nt?O<*^FFhpXyj0ox9WFJ@iz7K z!Mkzz)eO5kj$aTOG1FHXPt&ip$B1EPsyJj-4Wyz^8WJ-TL(XEa-;WO|*f_I4wYpDj zq?#Il#(M5~jH}RJi;M>{9CLlgPXI~?)8Z;y(QwIVIO8b|SA1X(Hsy}>G(TTYD=(n3 zD;zK7;+C;@W;tn?aD}z_e=Wb6yLvy)EAOoMa;QREGGpQBG&ZnulWtq|^3k99J^sDQ z(;fSjrrHRK?e=U`EoP2U(S~NCr~Ucn`op|)9(^eMF%M6gLH(9OrIa6uQD{%C?KU2b zK^tue1b5Zx%~OVx#%3d3@+Vs;96|4!}{&QXj$*3oGTK=W+%z8|W zf;f0wg209S$G8I|= zvg2U@m&W8%xc z52|IZCm_Y8@INN_tAI~jI0G$0CSz4PeeRsp-b&e=?vEKxk~B1za!)6y#_at%>c*YV z2)?^~7qHFWE=~Y?#_kQcN)$;ku##n!Rt<<);i|VD`P}mIf`;>?-=$X*`2c%)M$Y3q zH*-j=9A2{tUHJcq_t8Zo`u&bbqik(Djz#)UBV6I?eO-hCL}Ow7f2t7V&thT(a4;CZ zpIl9m>pm>PsHa(nqdze!DQEcWpWGM|M$<6)S)R+w@hv2|m+vm`&cqUt$pMkY5XTHpW&?ve_e^{EkHeQU1no)FOqvrIcd3|CGp}0A}!28S};} zHkay=%_pN#3a&c;zAa^^Wl`o>9EsbUt`Tl(2{RId{Bs*V>uRs&{K-OXy!%H$lE;3trk6EzkW0HM4g&Yn{s^t6PYtyrmv7!& zF)o0%`?aWSb5o^Ib-CAX)-p3)B*u<0i_9gs*7MV2!;*h5ItoG1rV8JRagMV{w7~+- zgpJXz6(8am@!lH9inRK%v_U(FT7~cN+oi9bAW?ha>TlJ5Rp=2PKlVGjBcVT|kDBfH z9_F$I?9t5o^zVHW2QarukDyeJ(+ZI{xV;SQJX+Pe6(9cEryvC%ST3wm!d$u>EBgCK zd|%tz`HvN#J49|fwV>*kB9@C2SJf|n8g1JBGZ^UlI+kUVt{ z{UM{hi(T08d-9s~{aN&H@df7Eg$;aS7c&}>HGJ4=!4s(0qY^pqkE0vAwZXsfak?f8 z?;xQBf2I0jrh7Z$|7d}l8CYGMvUzl?EFM^I%h6h6!r?Ng+O+*cR_NjjQC|6)zs|Hp zsufBYq-r!-ZVfbxw}wVAV>XpCO!-U~54+o&EcgHTBDl!${qu%?$|;NqJBr1R!40+- zNK4bzG6lb#U)1fT>hEfHurWnmuQe|`t)$+HpmjU;A2?fUO66Con!JM*T`~1rC9e}2 zB&-vybQbJ8W=MEQbmX>^uFpQQoc_Hp@-jDcXG&s2N0-{=YdMlQbA?XwI(I_kwDPPj z;e3&mWPBuG-8Fuja6P}p%9MFcXqPRRrLW3ZG@jx`VczHakKWC9SJWeyy*TdM_n*T% zIuL&ae5pZV)zMyGRCd<4tXs??NeQllV*j;yM5|^|dj&2CORx>!z1ahg)OcC;{HYRI zqm5T?VSfM3Q(G<}(8)+*{es&Ecz)?I@2kB+ULu_^D51RFs_Rp8Mrn?jVL9aj8sl`G z_EX_}=zHlo)j%Q7otil);g=!w(??&eu1kna%Y1L$!q>~<_RJ;?Wc@?f;2z~-RK}Lt{))-_M@c{R~8-Ps*8iX!a)}` z5Q~NJ95*|M_53oT-o}FLx)Vn|m77B+pBCCk7elFP#XzgC!9tP4c zIyD)KSqK}HsCT=cbVkEZcMW1eY5($wk*tqxjMl!(=<6}DmE0yj-&_NK`fF*RsjXj| z@`ewr`_imEoZT|ra^{%ept-86D!?69uuXog#Zce7PQy!$2F)b->Pk7MGRYyPw?h zEbecWi@y+8xj9eIux_G@8C&WHwNf#?zPwOk?n`31^#)2ztN zBUV?5_6HhNgl<%j+sZQb5Ef~gtSRp1Pv*=v^FBW=()VkfZXX*%&Azm{IsL@=3wJF_ zR7moA@A@OlsR*xg!M1ef#jiKbx1XL>)bv@bv?xCj`yKh0nb~E`dQizT3bMFw%@Vyf zX^c(a;@u$nHcJtrvR@WYq^B>9%vO>a-n>~0@DW%Oz>mX*p|d4MrL$bNu)l5Bta=%9 zts#H@_OqgpyEWp>+l>S!f1?Q^)L~ zNUn}}1l;_~01|r|fVu4U&u74ZCx(lIT_o6^fCg6^%naX31#GfKg;>zUR~oKBf(?09_bfN3^k0uO(j0ASFaCU z6)!k`4a*o&T5L~`?%w!RXiO|;S9>28$bQ!adIHT2{ga|uxTOQCe@AP%@Np45g16h! zoJSJV*8J>EIht)}qB%iGSkSBL8eWv?41P$SNa;#WcV4qQrBZ z{dDU`5gMj5^4huo=6ELkH-F!Uo;vF{xPP&;6aAvB0wc>lEk>)o4c%>pst$WgKd!^u zeUi|gFg0>rS_ySQHL0Iv`@)VwMAy?T49p)vOra6$A*%Z|jGilNEh|(p{huFEVjnR! z2#|Yg{V3v5e}z(FtA0<9C>*i59#q+7Ei(IdTc+1a!7C#E8dd6EKr@}{JD?o*E;?n? z?;CIEEw!bA{Q=Uk2*#Uu*O5vgK<$|RNf6CKQkVw|WToLJZ+d05pyES7_c^3^1+uh< zn?S1Px*9zwib(X@KRX>gLv(K<#7;%_GLU)PQ=mYPjR4Lx#HfO`r&soV5u}`kIn#9@ zicrQlgLf>?nX3fjLVpNjjh2l)Ygi zJYGCGhSEX5N?H*Aw2!frDd@YLRJs|Y&~${Z^Z}xi#J)ZiPZ$`8d4ksxo6K6%=yrHw z7kq!VHmClPP30pSQF?X%n!}&e$hCaAwfvT#o-=l?f z4AeL3XPcDj&HZ>hAn1YM|r21)J8`hk3bZ}KbD3E z>ficQLndu7Db-%UMHGV0?J28g%7J;(=&3haEDE$Hh&4{XJpAf7Gmho$msj&HxB%kZaDy7P&*=+T2Wlff!`%oc=(CIp zmGWrQ9quF?fbD(zKEW;V2`T%R{$G>snD*Loj970s7o&R>*CnHkcaiu;k|m?LMlZul zKg_0=2@vHheEocg(idknc5Mr%w0%Co6vP{>wO@YWD01ZK{JZ}l<=vg7=obrzme0D%>p z-7jL*GFok?41W|njA9-=XIB46^wF8fw!G-pp-_#ZsAhjBpeZCXs44Y2eye6$%wIyl zn?^{0-a*-TFknBiS?Qg}kjaLw%~}VIi=0p4)$u_0H5pdAVT;SJM1;?e^;mlveZTv^ zOvjo&aE`6(m;4>um-(8xQD6EMT}I3fVl%^VE#zuUDY(!?R1t||)O^#|ERcvzDs0eT z5c7k7bq2d}TGTne0hPy1?S6#Mw7#&?EXMa3J(Rswr8~FlfWBI=5+}~MdQjNIaB#jH zeQVoZH#AA9CU5w!7|;A|N!R@RfkI_2g9PpGgM-*#1?d(8f2#hR5%n9K*Dah7ym;+T z6ZcNMxyvA^L8u((_wL&Xb{hu9cQ{CHHIdgYB3@1xeNg-sk=%SCuMO3BRhDP-U)BfO zYl)T@yv;A$?YVn1(($Ha1 z&#!ibev-CJjCUXUgu1%fKumE)yNPVQX--U|bSiQz94kH+yNYimG<6Up@JCR^A5KL4 z7IEvPrsip!=)m-1mSHLg7cvGeJr+iRL_5unijvx&+Yc8Z?*^Ed9)>eNw+Z%V7sjXD zRAr!1`EA1jDi(oFy z5hH!`5(oM)TB*A2x_%dGz$j(dPqVhDS2b;4U^k~V$B|}tST$`ZDbsz?NAw84ACZy& zl^7s{b)H+UQ~WE^My2xCI|El<gm#_{sg z8-ycV;*u!T6r7_Rum#uq!$jqaMkpsVbSD)9y(+|l=scaAXNG+5z+0+W4`0~PIWQX8 z9+)%|EHCG}K$+yA8=XPXjj1rQz7DF$*2`FmoQytS4t}zc94`YhR zVUB3~-R8iVHpk<~M)cIGdcqiHfp)!3Lz53zD~`}B5KaiaEp_q?l76%HlQg%hOaHK) zu!44;Z|t>wHcq*;uGa=Q)L{Zjta5aD>FSqT0E~VQUskV=|8_UrSn;ld_;<3 zd9~vOnmgBVDh<*qh>|si(;a;0dwhf>4w?P&T|bx+w`7Cr)h4Lr=kAg-B5?l3cWT}* zZuVGyLu^^AdVPF|VwKzSGqwcoKr`P@Qta3ZwvUA{b%*mDfWPzLxpfG%gTU}9@+Tu- z8&cfoeiXJ!47`Qj+YqvwiozxHV0DssLa zBrU?Z9a)k?FV6%hl;%G&TgszkFYeZbH0^i>TQ{LT52gT_5sdVqhhtyuEb!RrqX*&p&&gjY)RK3wL-FEts{N`8~127IFe{F^*{Mt-kS&xyeSarMPh)>mKEUqWp?1Keb#D{NQ zkK+5B|1?`&xj((QJk?A76JJ1Id=#&+IvS8Nqn%$5plj^IDmrS!UBBC;jrDEid`F0k zuR#-b2gCU3f_;|=y>eMy+18~P+zMP-y~s%dZOy-%xCGpu4Evnwnf$4zQBLQ9$)>N| zD8+BuUM{c(9#7}AXRIZM-_9QWHvL7r2(5j|x`pc9>j?flnS*%^EGK1dI>+8B@oFuU(dB=6%h^k%6uT1ZVy0AjN(8*1;-y&We0;&{S%V1Z=+=sfa&S|*MojL+w zx9h_`mYuVgi=%jfeF#gq8TwWklkHqzWV^5E(>DkN4JX(H-uIEll16|?u9EEy%GxsR) z%?xRYZfs~zI&!Vu%&W_6^J1?l82v}G%|)2VtVOIK_~JRmNljj-ZhTMC9Cc6e)C!MA zjR%{&^)7A7hH)PuEEOTx&YA=5_*`RlO=x;YJWb?jiXPtIao)yjm8TT=HuV>vj5oet4}ksK)Us2bU`{qUHYxpr|I|z%IC&CX~IxBnu_uEWbIo#h(HiTU1QJbiZ zo4v0wy9X|h!YlGKDpLae0YoMjeUN4t$hP|*2(l}KlGcgS)}qrV6O=^mPo_?Tv)%*) zuI~u|VOQyy!RfBnf1KWFZiL%~OH|d2@kFDfT;us|u$F^(tI(>1n^CWEN~6>>D1!D4 zN}aFf^@TYkzOL3{RqfrpSsuH#vvf@l?cLnDTN(YZQ%{ySDTLC#D@bCFx!ZufdUn;VLw*#s^FUd0hnUGF1b22aIZGafx4i*WgO>>G?;a?GiILA_ z3M*tx#%SiL{D^Jjm{{8Y-@0q1UOFan?u>c#<=|9En>2UM(+A*|r0Z|l{ZVJUoNBKw zdSP*f+#j@0qUe3ecTA;PnHBOAWzyH=Y251@n50{QuuAf5e-Zm?2&-z{T;y>AO#S18 zzCn6x>K^lfh}qsPqi&r8^-jPPVFULAEf8IqvpI*pmfA3R*ekj*kwP*BFar`h_ASHL z=IIjfFYWLmMyhHg4N!!gpG6v?KB|osXB<0-#a>;F>Fj?CD2vmZY%4*2=U4$wfpu$pHXJ?6yqHda36NbG5<6?Ub8KJ0Q$z1-^0Z z0bO_H!Fjr1;i|f(;9kz;uc~l&IQuZ0_2)dDC|kjO+s@ySlF_ZUArr3UnyrI*mxV2ouOHg)tR`wvt;IYwYXW&(Cif=Y`yT%9ykm_}Q`g zm?k3djd7izl{~OEliX_)6Kk{fLePWCYGHK}qyLBJ&$hgMnb;>@3oGNtDQrnSA-zP{z*E6Zsk|a7P(tXkPtt*eSPF>S^f3Kxn658+F8;>O+HLA{HhTl@%9|yL zh$AJ-2cO-yMu_nOzi9?WjkqDZ z-IrX3C5yTuWn+dfr#<#}cDHXmou{lM?++ios?>IL-5;^=sErCq?P=n(+5Yf8!t2%v z2t~mHWBc&i`{p?_K$8Q6U9M7Bxsre)5_@&jl@17z4`RHBC-FD!Hl@#g) z`eA8->d1o@IeF&7DTZ^M*TB$Y#gM%4rOyt1>vq3sCDqsQaG!Fs#~m1M0y&`!nA%qI z6L*%R^$0W1Fzm>@SovCN+*W0k#>tFY4}P?yS%q>Hbp7y|NF$rz5)iLZQQi|!M4I}r zUwWf&e&!xIz-9Cxvw2%dHip<($({n)UfOsWvrB)}XF4n8XHB|#uXR*?p~<1Q8AKoT z7&Pq7DNftb-{4}zb9D|lDU$l@a{u6Pe^{A!x^yhn8DNAL#QWX3NIp1MVG;6ak&T>5 z#4KVSMAwRgCW?Yy_H0oon8I})pPFN+$HHT3727e1Jj%NSZIk$$)SZ_OE$I9405OO5rC+tjr@EqX4peb97UIv6 zPK!C`2B@2o622qT%BN@Eb%KSI43Fe=uRxiiEo4es_V+C*iuS3-PW7I{zWjm- zWdWHsWBxy(ccltc6Nd!| zJpu;S{{yx}n!1@jW;h#iY2>G;5crc=hJ1ONn$!LrA$gC3Vs2eWHXrcJEYK)Ppw`K0 zzZZ9BL_l2dqz{U~m6=TyU)O+{82m!fK^Nh%Z$r@_=W0Yu2~1%V8Sh9X>Hf3ls!%4=u$PSloh?+zXX#2hByM*by+8C&I!t=|aKVL93v&tLhIzv8NHSiXN-HC=mqHj*Pnd>mC|HsDI5OwEVahMpt@ zzK8Q_h^B=0j}||C3FC7K@+#K5 ze4QHfPo+zZK5FE3=Hr$Npn27Sk`55Vv+F1B&yP<8nTFu^EBT9#xOY9iPSdR$COS7# zF!j2YyjeGqk_Czog)3~1(OwFXPeYRt>&IF^S+B9Kc8f%wH5W2_`$Le!BEfJ5oB#lL zlc(D>O@81Xv_Y;F;w;jj46Cj;luQx1a*p>(178c+_pA1OMd)^-7f}L%v&E8yM?#SKUCwl;lKsR-k=Zg(Sa5s=)$wlZty0S0QziQr?jKDl zKAGaOn-BicFK!4|4~~M+^ff>?Pvf3~OpScInvauVZq7U7*C4N5Q}DaW#_|k;v#9*? zl=m4!0r0UDkBpZ`v%}47mrEz=c9%Z*u(j{!F5kv{031fe`%~)kraQwMRN`I?tAT5z zjP{LSSY*b?+)%g%cOt;_WZ9z1)1z_S3qz_HIOWCmjt9F99k_9v>4%K9DUWvTlUcjU z{8n83dO{cL44em|9_}c@lyyVZTVd7vA4n^#214EBBnKUVa;tlL!p&2JSM<2!zNbv~ zqW+ZE_-ggyA_7YY4{hGc(9}#Jnqxls9<95=$h@#zH8l0Eq!*{5km1+BcOXZKpD!zG z+Ta24nMm7QvkE`9_#)$x$uLl-O=R?=0A~?T3WGRD+3|*_^Lv8WM2r$AC=#c#6>l6J zH*-?&8K88wQnl0ca}HPisA@Yk@M(#Ga7u!e^48CRdCjHRYAZ9@ifD;u-m5JJZl>pr zs^x;lcoi;bAp_(rU8AGYqgZ@cabryz>;)9Fs;Qa8i#!t*X8@fP0 zT3^9Y=&=nJ=qQi)bN3Z41et@_NHoqH_q`*F*4qdc!JS!aicv7Mg#5f*V0NJQe7yhW z#ZX)xBdV6tb7-H;M+IE<4YRF`Q<+}*B|bgIF%emFTtEB?J6W?-Y|B?_OZwFU!E1Ku z>dz4B5;Ll@3H{#MY+gh4?Gy(6Wi|HZrf%uoumLF^dMVUZ)oMV*K{03Qo20?MR-1f} zpMPnyLE2x$y7woY_F1@P0I!hUkaspG{8mC_j67!(@`kj!IVC;zlzWIuYMiJoD;Yct z=}U!8F3%sagFS^EDUIc<$K}EA#=s{jRA+;Mu%ke4Y~VwiP&?I8M3*CtSqBqU_M=7; zT0m@fO(!L?P&KapMkA!(M8@Slz)*Dm5qv>&+_w`inp%q5EpyuAV6lDAPsPrUNo~sO zk5ph311SJ9kUGxi31LjJ4_@lR12Z80)H&I(AK7`VIvxUl@`ro@r-z1Gq;oNHn+Q6Pk5-*A8p)S4#7~?n@ zw<#etRApo_$MUFfN#>2~Uq?8YN@*D(r|a7$h2?E5q9=19 z3kNd_2=&whAweHp#SYTQ4D5J3iDn9xoEzF>MV9ljHuS;!dx5%U4Bj1S2))_JkDh{B zWL`PAFAt`;lq&a^?;QKjl$5YGu=Y#cc7MsN@V)%ie3UlWK@qVeCcjyCPIGeM3LP(R zT&MpOGIX8ZF={80rt`)vpCM^ywfj=ySXg+Uuq;E8EXo7d)FmIM2x0T_Gl$L!m5Cpk z_g%q}&=)kVF|4rD4j~fx>M|s-W zyF2%?m1hl3J4<`gHIb#1k>;5`JyTr0d%OC{?{3yym|H65YxKL`pPw0|BxtcoTb<9s zPgBKqE2$Qd5`L1-&sTvPVXqP~gzPe*ZY@eU);O{&bjvGqq4gO{k$>oj+Y!j~Tv0f4 zw0~mh`iBV@NH35xpUj&+F`t7mlSj|oH90+a*ge6Ep8Hh%?cnaqb3_&uMDQ^U*RtF@ z7bXoS90vVGM$_5SR3|iHOPrfDx+H2{c#SYSTUEEtI-$2-G#0TfEWZI0qUBjZv0kkX zLVq$4*3jSL<6d4*K68ROu0NCII1D4?g7KK28h=^)5q<8h%FHDe6_WX)FGbTD1?82BJIerU7@;{b^UrI?Y_?D?gYW9F4qb4=ys9&pn2G zdMw%ir!$r4FsU|4q7L8-cdfAfMFbOx{RskX7DtTh(7l;B(NtXW z=Jsxd?w58#HDiYf~2yK?DVpA*KX z?n;XZg^v;mt5X_UZ#8Et^b;XiF`*-B)oZQd6~|{`;D%{`#U=BI39c<-36Mew0r$xH=uW7YHZAAR@=y?t(|im%X6w-m3iSpII2Q%{sxYfPyidn5(nXdZnS zC{Xb*4`he>g^Z!k9vLT%7NmUPI*-XxYWR|{?<9$2Fim5pgv{c)`G}f641#rC-Vm~w zPyYD92BoHm<_}csJxmX)H}EuF@25$H1A~=3yZ0YvFL-Hgj{>_N5+$qBYVogdC#w$3 zUpO)qy*eFqS)PagBQ>XHx`dLshjz4w3vCJ8(??=t>JNew7GMUaxs#60ZDcmpP7@hQ z$FO^!92BAWUe3p-MO|K=x#m3ThlzG@!XMgCGt=nuW6HslWapi`*Ha8 z1J&dl;pkG&NdHh(;2qN{QbrAO6VKiTbb2B^wti4+49AJ+myKa1a+^Dpy)*G9aHx9!xxZk1BiPqnW3+|7Tw|dn|2shnY ze1yqC@p*@kdN>t$kTl~AyZ54y!dZT2ziDLCI5p{rpCO_{gBEP|F=_J|k<$whJ*(A{ zC}ia1{BQ%a+>*D?*o%mCrB^u?A&zP^<~89)pE0cZBE=xWe)#Riq|qx@U=HC`drWfT zQZXawV!dRp4aT!JL>}nOFM`XC|4R`Q&a)|QsCzD9Np$e70(jM{0G2q3glh?B4a@Fk zX-p?=y+ogRd;`w38_tP*1T@27Hx6N8s z{MOrD+}6&(PRUJ3emdk5gQC(Cy=HpFc1dt-Xv9q}C^p}ILu$X8^AEHjyqbdp3+f1e zCD}^Q%tXyv*kkcmeScaXB~aFVk)e%_HD*& zKXWv}Z81Tzh|#~H|Hjzw{IYz<@m2#~LMI-#KR9={Y~MCKvgn!(9rC7s1HWx95_W2N z1;)r3!1svNz8s&?z9GI?@aXDL6QyTSTD5O*^h&(2NtToHZVAi9yM|`7Qvep|UdP1r z%$j&u!Ut23c?_FeVSqJ)zYjY7F1(6X%sIDSo8GJTDE;R*=>w}I{ClDp96S!G_gZ-P zXXmgb!mcp^Sm!@=n?5_-SUinwMqz7rhN-J^r_T^ubr7m?5ow#g`8R}NX4=@g+CL+w z(RVH`h7dYCFE8_O|I{bi@S9{Q<7seU?y#8Kk1PX*O9P8c83D-luj<3N*r{2XG0qV! zj<$G9AC<}eQ%@y+58CCZ%&*?%y-H!dO6|Q$)Mrr%@que+4|O(%Go>6!w>cfd=tZ)k z>+P2A1kv5-D{D321WyNdiruMKGo?_LQ))(z$7kUGg@;5%_GeY8yq5xzM`?SlQ!F{$ z_>@R_{?u^A>n!b0(Uf1(yqR<=epmvqSlm1NZn`zGWDVC|JybHD&W-OB z4nTlaGuO{lhlKrQ`uEDTq2({Y43)P{fAUJo>v{S+1gMJy`kf-vmawAN6i5)oAm8i|_))C1_{}rR%})@ny6Z5JhJ4I?xe%7P9j9A_t3`#sGpUHQSv4QyX3@Ot*0r z2;*4vK}o6uA0=PjypRdFB5FqnJk6U4zimXC!ycL3+#QA@!n{w6=7CCvMZebWC3g2I zf@iGw;dC`b4o%TJVyVKWk1ZVtf^?KcMlE~uiZ$F5@Cy>} z3BUml&%!P}yT1y|RqfhyRV=et`l5_22>1*3g$=ibeN5*oSHsF<06RBU=AJ<~F8lsa zW<+`1at9TA`$70brDxxCTImLDQfOOzBZ;ThKATs&vMc1|>Z=OXJ}q93Qpw+m*<4wJ zApNxAe0f^w^_uE=@f~oPaXk*bRjo76EBw>jkvao&>UVtR9}QWz#WrItu#g+b6si7C zNC9W5pV+`RCP7J+h2lWDMj|DH1#rid(9QAD*s0Z?A&w%v=B+!IYuArdw@1yV2F|9V zvdT9jOH_CIQqiA)Gt2)~+cF&0+fn%GL_@jezNPZ7VIi7AO}i`b@xF^jF3aAQXK*q@ z?uh3vs`@eoq;<)e5(V~}zFTy%jX}bet0*ECd7nE5`)-Vw_(jBR3o}cQ1zJx3{ah_h zi9G;yw!Qt-g`|j9HZa41F3l3Gs`~)Mpqi>y`(`rBI zmKg+aZ1X*gRNZ+#Hh96!_^^F_b9NN(<$og>ZS46pJeT)}o?b-m#mi|~@0ZSf*Ho7q zG+v6E`$mzas~BKd>xqgF4}bq9?dLYoP34+$=e!7Rm58xFzbL-VjDrX+-4^X37ks?~ zRxfn7QMZAo+_&~$}7s^Eo-vi zzw8V<+-2A@A34&!xov!NzPm!zboe+{Hb1Y4pZGQ&*ClZ6N#+&RlQ|o#anCL1FB!Yv zh-vRZ?gxaKu|EfF&7P4xo_%F6&3&lL^ECFr547{~*_E8!VCcL}NpP&;ZaUIIDY$)4 z76W*cy^)E(P!SlpR5`VY7_x;ouT3^SPrt}=pu?&dpdyJZ%PoCRBoYE6I=ps*-I$;jl2CY{wg5V4nM>5?pIvzkMiE}O~FeMy4~6#f%i^a z-hWDx+<3G`yH5UpR%CYeT>RbWIiG7bFu>=$u+0qbJAQ&7FEtE3jRlO=4UU_WH9HFZ zvaI8_P6<7BrEZ0(&sKE2HMMLTjjeBb93p?0cN4^ZFF4j|+S=@8^8?pj2fI^JS0Iho&)ict?ELDaZ_BF5`5uHKY6T!B>1#GMD_y%%^SbH_XAN-R}3*h1tZ!dx8|Z zU~(eeLrI#zhkojnB1FhsJZnf%5`#eHv!4PZOnk#O5i#0#F-4N$zLNvub_ld6Ss1!w@_odG2Vv~hOt7U4;sZ3n|O{H&I^c3fjOkab&ros1%2*#!=`Tcvh;4LRk+X~RhzYb3(D;7K@cUfNPnxE2}$16rPcduhUGmHRLm=Mp4cz1P)y&!JK z)-rgeqWGGB0qHyth@WZYh-p>u0I!VV_3k9S)X|J_br50O_L0)6xbE5ZL4SpR;Sh7C zuP}R&`C)>J{7%0-n&yQ_Lm5e?(b1#I3aqLx`Fz?yNXW__Q^em0S;bjnL($#G@ZZ5F zmw|zy1AKzrd?x|0#z|%P0*w)m?O#90s=J6~#k1bDVP(Sz;poIk`XyX6aG3t?)g2Kq z5@9rFw%WyNAH$~L)skt@ZD|{wZ}ne|%H#ZI&HdRl$Oq8b7Un)R^o%hA(qQ(hyMuB_ zetB|?x4}rXwMWaXS`5)H~KhAxM{nUF@s%uj|nwqknI9Bju?+z!JGG@t%U8W{_B?`IiNLv z5UtwZ&%3s4x#R^E=7MHLt$;9y2=FS;1MIoZDLWv`WRw{DLFKul(OH)x9NQVV^)*I{ zKGexjlHsiOht`C0D^t?T3)Lsz5sJ6@;4kzdbf`7YuR{rW!c-Y?r5f!>4M`Q1r)=ll zAAPL&f`mpxri#}1+fo%jNSptWa%GUHo-+GYw~ZLTObP7F*w0JPx$MSW@%;_enKWLJ zd{osP(`;oDeuP~Mlg&S^KdQ6S z8QPEy^7+NTXnA759M`uFkQ7jSR_{7t6hNH5T>H1J;VClH(sY>JA5;-Xp4o^EKF`t! z+1AROv!FP>{_cLAR7SQmnvlrM+8+OlM8WPz4mjJ~gnV>Zw=BRZ%$j+Wx0< z_q|)~XR_I3w~w(7cT^$`jXdk9>MA`SGW>2O(jWS75>-n8dTN@^i}%fJiFIEt(}gtqdS$*_l|sk;LFRisB4hNE?M*fU6hs% zzB4L7?f{yR9hCGXvI9yj6WaJ&aWSfl#Ix+`HPdAoHj3o;LO`$^R21b`m%N1!>74g&oiiplh>D&mvzKFP$BD~kSSr9Kh zc!n?h_rU>hBQM+IW);P{e9uSfT#6Sug0fJrrEgO(YgqHzcN12sloI8&^8eCq)`l`s z*sR3FX}{$io1{X!bK^U`EM-ZK%D+#0-@Fy9Im%ca@K(pmyDZE%;scJgbL;prLN>8E zJ7xH?&~&$ye0|g7A2G5SleX`tjb z!`wFdeIl*6Bdt7@)2aZzL7OCbC2zxaV#@$w)*Umv+`y2M4u3!c7Tml{fkzyb=)zS% zA~G45l5g@>W%|XFBatKxwT6Wom7t7Aed=@>&UU+`kCe_*8f!}_c=%cdsDD!<>Pvm&; zNwyGKDH0O1;6cvgw`Vyl=0z_VzZWr5^0x4U@eAZt44F=B>P5y=U0(P<9`#p%W94gK zXTnU22dQ-jVvh4?@0=}Pk?~`*j=%oJD)dBJY_13V_j6fl^Rv~5Ig-zl9sH|&`i=_{ zc`Wh62Y>&2St51etywN3HhW&v-ww8-m`>tiWTn$Tmj11Y^C*I$Xc|@*bnp$CZkT<@d!S* zWO`TRw0?v}7Tv(mci0&Dq|l943YS;)1Nav)3?W7j6Ji}O`F``U4oh5&Y^_hy(mD3ZIE&#Z<5bBBdJRxd#pd&! zZ2%e=fV?)|J^nMQ6qA`k2>gf$LA7KC!B-{zHnlHqKD1AeOI`yn?6eoH4DOaNN6$#_ zw-Odn99GUuCsI9LK-DkfPr1JfY3uv;Slf<+X><1G5g38#?cwF!6)L9g0N-mP1s!Q} zf8lh~75=4xj zHt-bI6*9ssy6Ijs-!j5$SRinsu828f=}O`bd9~KU9CmA@ouEO<6y|I>C~JPpGAvY< zi#~XJFHsDKV&Y`&qR~0V%&;#?$d8qS!-BIa-Oc_dY38_bW5_PM0m^%l_!w~7i`P&zM%+&84+QTWuSA-%-pl$(%YoA@+V(Rfi%)8MHVA9S zq25C>2NX(1%W@MarKYL?>RJBa$L4d&QZT;wGCV@(l$8A%#1Cc-q1>5d8BH2o7587XOO_&n|Jqf*aCoi+<-JL%lJX*+ z6;o?cr$YSW`G3f3ZYRJMeRG=*0`4ns>brBs(8c&mVYKz;wAB zKf2weQW82D8JDDbkL7puLG6M@oSre?fjO$V(4pS>jo~b^vybK3sx*KEus8BKyV|Xx zj@-$iZL}$((YdYnS;%T@)aD^xe&$k~W)#5mDB`JeIzM4v=FVWVDDIRIEzgpRxcv14 zPMgWzcQdRa@D)*goN5b|AK3t8kfYhODd_$tSh!`7oXBLstO8|jFS!?<7a2caZNaV` zlNv;b$>h&bjwUviBp54@>aGZ9Up|y@e#^`(eYWI&wlvVcR*|q~+_ML9UFP!N#c)E) z$;q=hBFX*f>03V|`{Tl$=qIs{@eNJk;PhcTXfyEN;Ecvq{3^f949k&3QgNj=qm8I2bw#vYO?Bv9kr zk>#E(Rqj0%Oq|r{;aLBL-d)3BbwI{^2OJ?V)hySm{>0uSD&`yxo-z0I;xGx48=^G( zhJ4InxF2~b*>w`h_Rgz?GHs+!tJNH)hiSDe@H&q6wo<4--NQ)yjzqunb}x}|>ydHO z+2<{OupT;oLGF`P^M8$}Kz*TRQC^IxJg}sziS67EVG&iWy678Pha|HJ#Dt~Yk`c2D zdV{T;X&)!lM+}uK?WS=mWxyrX?1<*{+`g%%I_b)x=f2(eejJMfrOnM!p$)hbU0MqK zKPfICBHu3)%*W6%7WLf5#GkmX1(!Fvl77nXYO`GRQ8!ADTDB95hXmqXanpuI=27NC zf1q?5&R=lBlNj1wlQOaOGisZo(l2)(P#*IwxEsCOt^KmbX~h&j^(GM}dZ7kLmhKgY zN2^pd)G`)rGPZ3P7jd$&g379N2vGmg^>04V79nm^GqCT$;I@fjdnn;-CV4ye@Q!|q zjy6>0pb)&9yW(Z%@;W)EJ$yK~f38jI|0oJ#nHYJ--KS&@N)Qrj@@D-una0PFeNKdZ zxxbHfJy~gS&-t5-3#HRObbk7fMS=b5dRF_;<+}T?P$tNKi|CN3DH5+F#p{jIY*##I zvYdedj>>|&bu_d=HP(SNtbOAd@wGc1#2XK(<`|TLGE_bU5jrYeoA+#g&Q#>?ULm8d z9Y$T1_njDWZI80{Iz;+vL5Z(sLRvchto})iZcT~BNKNeRU+_H6j%qMHE|Ik-AXM<$ zm4BV>(w{7Fz+-;)s;R6cns2T)IugQ5&22a1wctEveRHF5Og)ljwv#^+V-+jj=QdAKHmq!iVzaPFlBa!1?mHd z+4H}mn15|f()6BWe)Al_(jBlUXy4>R{$OJhK}HCCA}}~8@8cK`N-TZ+tFWPYZcbOf zT|-aJ-|L#JyI~%z)B&h+{=_X@X4@0ftlIkKV{kE2tC;PBjQokbtnXFmwRu`dxoF5Y z8is1y9yVD=stB3VBGVeE0ar+U^0b?RXbP@SLGlNdW7e#j_XM}y zbjM4NUEVJ4<-QkmsEj7aw}LYowYdqg6K%f=`mxQti}-x*2KJ@XSxc>%xN`1G>0 zdOvoEy>1vVT5WD&9XIDv*L?=)Xe`E49)~MVCj^r{u`z50gau1E_MI8W>e`8sY6Ro`i*LI)gAc^k;*pF&CQ4U2HW3!k+ zw(VDY(fx-Xd*8rVWW#P$`Zzo$Qq$EBRc~o|OZ!?lX@AnH*?^arHUYxjCvoVk~8Y?hW^q_RE zp6Uini>!_yz9H2Kqz$U~K)?=&(IF`hXQC}j-rdI^aT?@pNHX#U?NxpM=a>qwKn<#Y z(hp1jlOWiuL}^|lwkXd#_VKC2Wxll4VPkE@kZ7KS{t=^S^GMFDN=0mR3ZWXa4(0E< zmw@Ip>i5mAWFVwv*V>VrGR+Cj!yR;OGpjNT{P*l1j;3M^lb-Hh?)m>5RAngx!Yh-Q z+Lzbg-6BNW2@mc@1tcwYwtb%9YMwhc%LflzX1^=v7=BxWHaGm@k9}b27a8w1_bbJU ze-_v3WqI*4Es=@h$i=T0aDOG7qaGrr(a!M3L`9M4tf!H| zT}g^o*9Mnn%>TyKNLf2p`C)#!-EOQ0hwgv?Qll0IZbf;Ji9H;L(#w1LI`f!n>OzYY%f}1@J zFH3&bSZ~ks-)>w&8#H1^$lEN$lv2vxTKB#^Lwo|`|G0- zO$PGlf22;3UH1_pz5kt1gX)ppO||dOvcI`G`d1B4;jdvNC{seTUGaodq_;4k6a9@y z$tZ5qod+?zNN!%qf2$+=Sr#x`RU7Zogs=QWK-?;y&nBi0VN_bw8GUOr;wg5JUaMJ= zXtyoetY6W`t{+`mDn;bQU$Nz72b5ferVp1!#f%xJo)EH>BX$}>29|fcP%U}*t@7zt4% zQrf>2f(EBaE$gUpJg#AkKZu_q<40Olnyu%T}P96O1?B4T5sv0^D zH_R(;=Od6Iyrs?Pk>Itj;V9N7grf{ZcR8}L!Pv^M*PtnT&$oSUq$ebs?=()TwcDjy z%5Msv#3(C@7Uum$W0cWKB(4Q~d_7fd-MFa0Vnonz!gV-`3`_CR@t(R~ugth0q%2E~ zv{};W>GviNBU%Z?j#7O!e&Y`@z(9QLM6uOf6(!(m{~m&}Q$4)a(9+X|D!SCVT@F9) zwZtge%Zo#qz>L3}4Rx495L7-z*)BJ+g|%H;WnphJ>~-xhoDB>0E-G;PuG+=v&e$jc z4^SGu$V!fT#3o&weKWMTE_A-wv_|BAptP^Y=pQrSNmtmhOyO2o5q4mch*0IfrA%Yb zZ1qQuBd0mVuSYO<;Ea{QqLBLswEdZjqnpLv1?U$R+~6Ih<3Ol$>E+}}%-B?gu7o>L zOS?E-Fpg8dZHINpjP|;!#WS{O%HhvhBxP7qYS)x zz$s@IQo`4NJZd`><|L2t>qsmrOeXTe9 z&_$r_9GvHW?twq1RcqmJLeS^t6I*A&|7_BKqhp@5BJcs%@(QCUIS5J*VBhV!o|-j< ze-VpBj=g|}sL8##63#3Hp2rzgp6pv&eF#Gu;@OiapGmifs%96$sG1;0CTZ zd0TS)Ybv!Y;?!1qAV8r{oo;H@-dvhCikY9XQPVYE~yZ$AJ`F!yO3~^-(>IZ&Q z^Qyl<@#`rVnanVKoz}D{aHY!%8lL|so3j|xV|=A6dS^83K^61H&Yx#ViX7@h@%tA9 zM_^A!J;0256XSx+WQsb?Pz)cpbARHOcRUneVer5554M-JZ+ruA)iOLmpJI==Rf|AA zo{v?b6o084&Qzu(lt5;Kwh*b$LX=0*oiUkYTOSraxt1^9^sX?!cG`_u8L~e?1o=8=y7+!e)*p=K9_B8{* z3=zez&Cm8M_L;T*!4N%{etG1AzJF(bXC~kiXAR;0p`96nN$?5T88lb!Ov-EFpz{Xd zy1?i8X^oFU_V{MOKaL)ip0;cf3>%w(kSflymAyC7`t3-~H7i1~?rI zD=D_GD_&k7GRQgs!zhLTxo}z_fu~^a|p=oF?rL@;g;PgC2Y`UJkQ0#vEp90 zBTWZD(-w$2BB!?!Q)haA%sN(U)<89DYv5iQ6pz=P3|39rlkwh%QC-M2*_CAqV@*>*T+m#O zJ@3=0PyO#%7QASC0xkvZ9Uwdk%p8P@qL=h;mv>l~jfD)?mA&5)_B_WUubf@hA}>KP zLd5*MX~oKfZ*6WKKRI^p{shIo$?p)8zsmW3i|Po6F87^?dYt}_goIxD_0kRDT=iUY z2S%4%*{uh#;Y(_?Klv%kF_!XZyNZDI3WMknw)-N_3xWTrsmPeeDjRPK!8$XmQ%^F` z3GVGZJVhvCCQ6m1->boqW0Yw(^Mk!`VAY;kl!#qWmAvQ`zDA1e3FjDu8KA&UQg6Y! zjC0+c(Q#9Cn%AVVIY_`4xiH}0(bLrDz?w5q9rGW7g!mV7T^tq%N2;@2h|9bK*Wub> zxD8s$H}D1Jc02+No4Z6y-i#td-I(E@dD+&|6wUbuUc2$?F=t20lar@J{3_mk`{@Zl z_U+rZ7Iq{bleDBGi+|-dDB$+#UYpWj474E9s zp2?Z2(vj`6sZZP_G)U2kw`<-~b*gy$bu3t5ZFPC1K6^ZWo%i%=UbjbJ`00|rhuQfD zpe`4I^!V>D%U+YBJR6@1jI;CSeHL}*Kkq#2fqh>Z_J2BR6k(kDJYtGD-T8KorK<7r zt4cnJf;B?|OD=qi+vIxbNnYAwuzz(;!x(I?KWR*RR;Z*)ia6c+q+ad_^cLIKuK2g% z+o#PD@59ey-%{CN5gYjWopA%K(=+8wHC~-rYpBm;5-MI|{{gei{3dQAt~aZ{JW7t{An6g6*b>E{&!Fzr>on=`&3opgLEdcZ!eosHqNP&L@G zZOnY8dl396qOG?iEbnZa@7!S)XC4I(KO4(Y(Tx6-f|I(*xy{U^bC1i`#q8KJwRg=7 z-Vzv2=0~unNTObpRFh0@CSHgwt=mD!Oghd{Zw)`5FRT4-@1^|FzO3yMZ7f^hGb6yQ zIVAozKJKFoo$UdF2P8+z);9z=IC3N(5WKKO$i3R0*QRZ}2N>EDRQI2YU#Mv_UO4i} z%5Z&d^E*EGaT9*JCr=@9&E}@f1fEVk2_$5-;gm1krJU@Eebw9fRDm|gMO2WudPd_p zf1-G+_kPNR)J~-{pW2A%1A(JkVW6MdaTw{q5j%>{nRp~=W#sBmPH}-Y{mZu<5iRfP z_xK*2Plx)d^vc75fEUth{Q!Evl=H0_&DlPaH6r<)VfHii%zx5wlRFptsL55vi0yaW z8*+70RWHNVugu(p%kFWc?hy*9wX09h?+2jFf(+%kG7V2zIOBr(N3cQAm0yh#c!7M) z1dZq3tR+q<4!SNTw*yW)*a+UB29&hlWa2}93&va7#z#>fSG^X=+1%pTZr4c4O-xi+^AeA2gl_bN|2h(`;u>Gp zh_ba++WY9R=iA)W_6iqUy_M8X2p_lMMYj+9jXlAz{Ct|GSLSX+)b!f6%!Q6Im(ZAZ zcR!N0Zh4ZF%H*5tAJ~H1vt7zv#A!6lg@;Kt15llXo)bIjdLZcD@#dw zT}TQru3Z4rMs8xr_oo9|YnkuNS1E}1#yS4?40iP2L|4z!=j&g$4=fAg~5$W=wejnEm!f!+{fK4toK@C?&l@& z^llkBRs(@(3#9wv}>%;&pG6EU5bF4wID2APcEMUsd~Y>?3n_j2(&Ee3$!a5 z>3b&wwDu|NM!3?uMzP`a+m5@aYmsJthLcQ<~(3$SlO7B8xL2A* zZ{}FHGOOjIhwM{Fb0Rw)%tYJs1E@NF>G;*f6a1ObPl=7LIubTJ0X-=V2x_N@5vg|q z)^n>>_y=>RmdjXOuea+B8$SUf$*X={W$oITSh&2{Q(|@HZe{FTeySw3iUa%kN|;KF z%wOGgLw>_;KedmeUIg=c9jRcx%pfIn~k*%wVcOJ4oQY(r-@pfMoold^YA_uHqHd9`IYbZ|a zEI&nc8l?uEs}VtFDj`{je-DIn$wlIv15(`HKs+3r{5q6!y;#0Qtb{YRr{}|JYl%oK z(&`zxWQ^Vul2kF~r>Df?mSz^5j-6iycrDT1&8nQx4fNg^hq}yluN9~onpp!MQDUp} zYm>7Wv{e}biZvq(qisXm2qtG#{XPMx0(a3cN+7uD$xEStUmHQBqF?X_(`4aWqqPdI!|? zTX__6Qb^5lW2<*`ZA~Pqt6xD{e7clNftPAC$zX%s1i`~8<(;lVsY1xN7LW&5pfB%cpIzn5=m z&hA;MQjXl4S9gvel*(rDkoHL_6i>&e{t-LvcaAZFLzh^^9dgx`hH$FVaH%x#u{(AB zkRrA`I^R}E;1VEyH=8~@YQ>rT5;jGBn8YM|4;UJd(vinb>FJaFsgTYE0#sXo``50;z;tF8R1eBL|=WfSW& zheA9jn-HhG{MGY2JSe*D5zfPi%@iKmtzMIl zl!U94=QPQT_7@irFZCP{g*hIftv@1Y8WfdMF~UP~7#tE#RJ}$>LY;)~7)=z3x;esNkMcOF^S;a?e*;)-Q?pdes%M>Yc-_&J`K#XGF`nl_^UOC5EPhC+~G`X@qnL zGxac**FiI8OZJ*wI8SA#)k}Zz)f;DB{XY`QZ2jwk*&0*%|BSw%F%oY(aJHgpa*AN9 zw3(V8-o?~e`hEK8LtdNfvtgHm8i>Dcv`HlPBIiZJ)hxAv#A`l|@0c~nAat##Fzz-% zy6Od~P?_$}#Bh5d$cy*QG7G-JZUBX**~_}y7GSJVsSRIv8){_$tPf=->~OV9lhjz)tmL*p_c3|RJ!{OpDtOI$VZm|q=7BR^m7m=B?=$8W=s5dyqX{f~`<6*Hn3Fwb&;4OmI$8;hw=+?ra& z9E9VLC@v!_N9GnyUTTV6+9zG;?8Y5!%zbLnG?oE8nE^QU8?{`Y{Vk$Yrd@%8)o(%s{hd@98;jxV#>2 z_*=h7U!ux1k;TzO(sewjjw#>y;6^b<1u@c80y2%)9KQ)f+ZAP^c50^;*`s6Tz|ct$JR4 zn^v!v)t|o$HhErgNbx@PnsTF$gy`&2LJ9>+^&tmkE`fFojBB0bYMofh=TUq8C(D|( zlR-DLa-mp%$t*5q;mQSSxJXGz9H5)^^gu8_ahD3n7lCVo#)|O$nFCl}mdg6R#Ly1; z5fEjYKO0CGaMKLGBsO?fmalKJ22taZcb3Bj=ejNe^iyzJHvx&%2DJ_HU5Ww(9YptBnPx6j0ky7{nq-_i^>$^WRk zN%5Sz{z?pEQ=gdaxteG&+_cAQQ=Qv&N{BM`wvX6TWHAA>5Qhy#hfh{k`><^4Xa2L{ zdBj>9ad~>o2u?o}(t{uTU#fPV9Kb0uY?KQl6z1WJIoCQ_v6Oun*;0FdWQMbb^-$F|l)-tSLRU0=$(= zMcdSD1ZLS#m3GeOltX?$X{&wnr6nHo_z{yH19v{D%_G^#5IAydk-ij0hTEzI5TS2> zauh1>T060)3;_h)XJ$-*^$gB`Rph_pEVWiIG5$K8D*KzL3<{DuwTMHyB~PopuEo8M zTS)75QPp0uSWz3(oQt)Kgnln7XS(>mbnWsU^`2e> zvwmy`ymgi0O?7H*POSdZXtT%4!4Yy<_|dW-gOVR6c0!%%_I^so9tqXRdUL-S{@R!I zS79NWyu7tcm1~TiM~vR%AK;bkw#0h(Mu=aJ+D4$w<#(R9ui*i}HD9jI&Wo>Se2l;< z`B?0E`@Gt+1^L9p3g2;ixhpmK$iEk*aPrL?-S@XbOZ$|N^?mdJ{IKfz7gb*+C)5gj zh+;lFB*6Z+hkX^NmuB8i+Mt3BlVOS#S(!iE37;r~R5Iq%vcFv#uY$*_-9D}y)_x%( z9y2tRaOC6)36w%Z>E9vc(hn-%Q7z^(4np+j(r7uRd^?PV&*~c}w%wcW$-Mj6>XPr$ zdd>#1@iM9gO1w_d8c=uB++$|HF1;`igez>v2|ogZ*Nq?VBUqnltX?eepg^j0%@mgS z8UrVmA!-TGKT}_R$Kp)ox5USdsB2J~QW zcwW@;#_RZP+?V&myX7kTU#zY-g3Yegzm`oAdsRs_U72b^*;7}d<67=^dFpSF&0fca z4yxdS#Dq(Boe*xty<#@yG!8^Q9OAkkAgfCdU6oos00;zsn!ynjTZh$eUQMF=+*DWA z3}{q4zt?zQb1t8IL4T5TVm%IFVe`0Zn@r(^Ai!J)@00+H_ADW8AQ3mbDzM#1+;Ric zC2@J9azNl?Mek-^Qw97M#e(PO8f<^FB@F==`c6+NNL3og(|3lsdwfpn(GN9O{H^AO zcs}DKZxM~;lYMAWyvial$ITbq*=R+$*w7*!*O~}i9TncDIsKke&4(vEfk&j3(&F31c70EHJ&tFb@?KV-g*?nL-uPr}%L}~`q8`mAS=&AZ z#xVBn|4@u+dj-HyE2nmirAOnN5mv{F?0>rXNWH9H(oFE)IgmV{R$zVD9~^maBA%Ua@&SmM_F7tuSF^j+QP?0>}X{z#T& z%~-m3vs~A2af}zD^hpJl09bmBt^@6xbpmGYwPW>#Ke(RjrsUKI*E9IwdL>YFU%p%X z9Fs7d_6@Rmgm0W#>*-Nk>wfl24GIJJg~@Ov8C<>Grtn(9-xQ4n^urLIY%p`EFZbAI zy>+M%ALW%n3x46A{JsIQf@L&#%|kJJ7iKDFLk%D;K`;ln<`t*jd^>9)^iTTBXNSMn zSq4cF(R-tF`^Skss-X62TdY%0nEsiA>t%qm{Mi#H5^2wPGYoJUS2OuWRL;yvE}$JrAp5}YR&7akbGXj8#>#-KgDN?++_zTYU1#a{pM_!(2DbEH|w| zUAeDGxZ$XWq6Vygajm>r@d=zdL%_hf2YGGOYnqAe+x{(JNHgFp60gpUEal$I`~DDc zIq#LVmEmEQLV4~sP(HCo9nZ1=ihbJezKjDE*(mEHDXp$y4et(q>sytRn%Rb;d^duy zs~BQ^d9jgCV~4<8%ZQZGfBWib66E*NjDc7*F#zOU`g2>7w)o-y7`V=`uf%1b=3t_#KccKb{4wqdWjO51Q_k2>JUTDtD&h0m9#yRW&bW~O6FPPWyXR9dIZ9iPGdttNTerW7HUj?=c6a>-lkuz{N1@Si$ zx&J1AoI_k!`AvxnGij%yYOb%Plg!@qaZ`Y^rDYR97?9FT`zfg;;jFx~M8m-*K5HQ~m;%?7Ovp9er zUVn&DYDMr%(^|K=-*0J8iN~w-+x#C=mw7`ZJa|W&58$i|xk-_S6^{T!P(H2gVQ_v8 zf+-un!}3pr=u?f)ZN2EM5r^LGbmp|>97 z!nI4d{Z9ANmXM{$Pinvl;PH~C`+bMo<-Q+Ne-|UDm$V*=M&(NBniBFc41(upURcG< zJKSlP;-A^ByAcQSH@;hA@5aAGbwtd@$A{0-gH=*KKE$QAAsd^qR6I=!NZ>W|3snR3 z0Nc6T#^AcxqSwS^x#DFNo?!7F`W!^`U`|+^`yp}s{IM8UVR5JL7`9NF23hlMtm)58 zLi%SxL+WgQ(H#J&gnf|5DborB3-r?bF!Pa(SLOH}6HWi}WwOAcFGMMzu;2s9;lu?_S=p! z^h?*H!PMI(996MOdjj@fgcsa8ZD(Ft`=H@BS}mdF>+7?nEQadl3A6%O7xN>$BI5XQ zg1Z1L^y`IPOnrM_tZEj=Fs$T}bL!Og7tfE52>(p;Bdslnhti)(Xj0r0I=ZnJNRbcE zq57BUI0(?9;GS`leVdIq+7H~Ue%(0Ype#3#WxoJiMY^2L+;^KthuAEH{8=SrxYG-? zQe&GQ;b|F8R#qAJ+4qmA^q?4B#(;ThoiNF+GlE8f{;UxkEV2RktT?0l@|xHtM#(Y{ z=te25&b`)r2g*dTL&!nj`!$pfI1k6 zB<)Fjgs--7B)84J!B^lg!t1uQx)10WuHV36mXo%?Ni!P;-h9>cQC@KR_)uaOv-WA> z{_m+ZrlNRtEi^n!!(fyl2@rTn{FCl-M|HhRNYh78Liqez?v`2%dWQU3%eax_$s7?+ zG*QoLM3h+^Kg$u#$41)cblHFT1l?=aKItOVCj~VzL4C$7*Bv>$`Smid6>l3-KtZV; z?rg}S)p9-Y?5Bvm447pmNr-}wOrwJ#qSSYf_0A=H1p85#BtyCe_w{^fB)Ehgv%qj0 zIb%mJ2;O+pgoTO~vUiK*fhr>7s*-ih65*JmlLM-S3%+tWMS;iCz)>%pf^By#we9T0 zU|g%i>Gh-}N@2TlYw5p zJD6K;W4P3C8GZ4ig$Ah#TKAafJ4WC4+=BjB?N2^|XznwA^)ZK5eTGNm4)SF^+8k>E zYU_x_ZDWp+8d)wfSvCgvd#G}-G}cd^(C@jm0nOPBNpIg=bB@39=1}bhwI*O*4VmV@ z!pTZ#h(n2&h)~Sq7Hmhhr#~yt>UVk;L|G)z=MeTr4P2SB)-NNCP>`_J)dX%Pml?1s z16=2G;0DXZ(u*N>=_md{>Ms*t)DG-+I@C<0;A7nE;a4( zXFf6jbuCG!EV8RFOlNlVWxL2$3$(R$?29!9D+^GyUUlyHIqU8Pyepo=n=1yy?YMiM zX$CKMpqB_w`rUHN%sS~Q7Pq^vN+DkV7>3gVnEe9(O1w$d)m_)|i+5Xg&baUQ< z_qBEYA-xiLP$IPXGuiK@;Fn{19WS^H>@sPZKxvwD3d(OmFP3br{of|Q+h*dVpDApw zhBZA}Xal6GpypX`y~i6f1t)B1k@N-x`s>W)qDl2pYWBz)LR7m*uaiyhW|sv9(T@u}6vRuXl&w;n-tvolAu3K2X2Oy^yd- z&nmq|!9(F=%ivX1PCqYo^DXh^CrFEo9}}<*sYlN+A}d8arw|sx_Mm%oS7H|R&}KOr zI%qSs`(5(bV#_X|0wv=^M(;QiLxLNaKPcUY5qm|sCT^mYb8;$k#*>h9Zsh5}VR!vr z8QdXC8IN?gMN8A3b`$B=*sFq|T z?i$yvHZg(Y-j$9Q?{Zrn%WUndxAhGNzIcBhDH#(oHv(d;CkwzW-f#E3Dgh&S-1DX} zQB2Jj^^tC*B!e<5Eevu3vu0>Wy44M} z2{FQ+=9Hw?NCh}qwiyFx5+!I#8_ZwdTf$@dfqS09a6))X#}3a%namj{w@E6fq^>`E zs{<=|-)j9m+%pVHSA{pD9X+f*NV-ovR>$ZkQT#NT4+kQ*?V8Bm*z({=POWIAHENS?30rY6sVlRO#++mPd^Vn&b(%uV!wnx13Bp zO!*>Nq9Y5t>{du0P086#nWr&SJqFr~R3p`|99$kRY2_pO#>6WbK_>&v6YBcHJh~*q z!VF=uF2xILSR)eRjz2|{^GR;8TWA$Qy&d_|lmpXF%K2jO`C=dQf1A!p%NP5ZFV>$g zhJ19zEBj>a@p#3q!hb}j*$`JQsZ>SpDrD&~gGsPXBNjO|XxyG(qScsl&%=R{iq&PD zxBL7Y^z_d#flGB&74G|h$RveXZneC!r1dUwNym2uF>7xj_Maz!2!2yULa}w9M-09a zm9@(B6WF=?&qua(L=^Mp(?hcn&3f)6MJT7hV^oGm?rW^R;6d>x?nMb_>fIo2TAIkh z^cY2Eic=|DYy>$uvdUrNnoe3`^PSxlQ108+{IWlask3qOWoT^x6Z!e(R3yL+( z@Niq&W$5gFGaCB%{pmnL@_<{<5Cu1$ z$Unc_emE9n^uEVbox&R8$Dvq|{(a0TT{&X^-zQr=2~)WeYi0x)eR`9pX|bni*(dhT z_!qeW(Wt5+^=Z!pwV!Qv4{5uSgA#VSJs1HsLv)5%S;qYk7~R2(nIB%JkYJ zF@*YhuX2>HUd%AgoH^UPx`Z)u3_}Ijah2+CF4&cV;%f3lhbGL2CLPukinH^A76L&9 zyn}Su|A9#rJMzafr^ee8k4zW&%rAKirRDgy&L8K$o@IRx;N_|1gq!}#D2IoakhMC( zhW8c1og~esxY}qo-@|_TQM6RLpOP7~kV;2f(|Ym(a=`+VB;7ccN@l#zi|KWG5$(9! z9DkQu*GGUGJY=?(_Q8RJhy8?x4OsDzU;?{8e!5H(1h3*R`C?qT^2+G(iCfmBZ<>1d z0OhRDy8PBoQKIgqkhS?LvsVd(RTuYe{I}czPuhVgZRnvldI2+pg?|>7i5rzgp-kms zwFln4kW3AZsXnG=doy@kN`q{Ic)P(nENx4U8NNzq`zQENQN5G!&wc-Wd#qlZ5HN&@l@1xUD(aCjY<|Ed-W~G$1CCaRePU~`G0sG(M@Svd|}X&2sJV}U<}hds<4yN z+5hXck$^^jwNM>pCih>AvzV(DXZEybn4Y%sm^avwJ^e(Any;D$Zp z8DS?FSsrY0L=s_~z>lvUYhOT+Q^5bff=7Z8W3zTRxXs>B$mx8R=uyo28WRui%KVCy z=KLkc<|G=rvgRU+;j67Nzxa*z7Ot-sW3H?pi>hCIao6FXwA>$$g?Ko2I1zCTJ{5@y z+QRkyGwiLZRlz2~7{fLXAAeQ~vRYscSg?5A}x|Mu=5~ z*yg70=tPyaYve=ola9(FeimaYpPULvnpfrYo9;oK;k+D6c$}QC=`Qp^zmW9{eYoNXq_&=WaXtk#>DZ~s zh(_B^$N$JI@KW1oqd4p3fdY=L`q!$t)y5_s@DIOBXhl+PdsG#Xv59?}HZtWtf`GiR zzsADu#hVP|)BEfnsq>#-#qzS~`n-FP5RpYUFtb3*Ds;mK+~9?tal4AHZTSBd8yj8~ zW@GBT)~0LIN2F*!hn3eKV^*n;IAWk7(oxgssW^ig=Hx{4-}dwIWS42?8yIg#J)HR= zx_#Iatdx@L{T1O{Se*B{o$>#ABs;?n4l!^8 zo7K*gxauQZjm_I%+F)MSH1?b3*Ds;|TV{BX3;(hmd(04p8|Mf*5gSoe7vkSXzbB`u zV>=ANRD~*Q|4T*zZOf6`q;c7*E8*(OkOXBC7Pi)65&5u2zlB}o9*5Z^QMeUPC7be* zw+i_<7ZAuwadKs8gD&vDi!)9A(o$yl-Jem*GTR(gamgL>T5;>v{^vg{`wPsr%ZJkb zV@UrI!#`FX$%gQ;$Nraf|L^~RX{|Xx|84sJ^CDhe^_al_n&>|YH;(-O<7VwYBvGfr zGHu!V#=cpUR*I?WVrnf>S{$DR=NI9A$kG_;C%0z_s$d*W{THsU;;+R;zMLg1sB}{j z(vx(y5@p2@QFG*++>JRB(~xYhu1yJ5D;j}MQxs(Q4IaJL>VX6}zfYp%sK7jSmfymi*P3nj(epW5s!rwui6=QN~( zQ??vv1S#qU91OeCeN_l4ZP2*qa$3}-jj6>Gm85NUa|&@pkL+CHp~kkDo$u{yH=b9y zQ`Uo`%OWmM-m!Mq82!u!^O$|`ZPM@&os!oz);KNO$sEm&r4f{N()8x|rqjr~YWm#c zN(f#?c=TZp53%yVdj86@Cm)jQMlQFhJ08_HwAc89nrjn59~W=YyLh34A|3~b-PL=G`5G= zc&51FGRYPQ+;RNqaIGxNtSoFh_%s#nIi%z{DRG4v`vPu3(&M(A8sZjz$6_aWon*Da zk-3n*fy0>kFGc8x($I_BX$rhb()OS{cQ4LCjtk}3qsW459zL5SEadrT+R%UpfNO*p zO$mG4^XorwCI&FBItAmsz1WS~w`1dULZ8Qs;0{yO&sx~*x>m&7GAzFOc)%cRfyj6V z@pFX6FYH}_bsVU^A)7?MkDSka%YcS@LW+ zj1AAOv_~+dBDlrJt%-lSOWF`0Hr1kB@f}iwBjo2c^udpO(pD~HL5GHeC~lGuAGJV> zLt_Q5m=G7)4u}N~a!CO0&bQ&QZdU*g@RuAu+=#`WRjJcjWWi2Pe58NuSr6YOMz-z) zgj0!jn45iaV3T(%F9c(wF|k!r^LEy}H(2g*b z+(~WVE%7HYHR*y{@gy&fsCzdsmYwv9%I|dzKYdLBfZX8o9mmdc$Hq-CVLAVYXyWjM$H{mZAQ(gpZHg;tWB(j`Io@z|3VRd_~*bU3;CnPs-jOG-`YmC0p)`a!Qh@?p^ z?e2=ac8O_yaW@IU+XzU78Qrtmn4w$IIl?r;5z2L#DRQ{}FAWJj`tq7-X8r08Ls$fo z+y|5BcOU`z{yD!y((F)jOe%Tc#Evf;ma(B~`&RoOcc;P8$CFD?7Ho|CICJTSPM35J z4=!eIR}`W7zsxs|m+=f4YLTXY%kn0CdeZrwaVy|uvvnAvjVJ&eBaOz%c4Zl1Wq;ts z1xX5as3=srr(@6uZj${^A^cJ`w=mL#wjvr?LT-Ix)rTUr8NIe6<p5wd(X=-Vu zNLl=3qTIt2-hw68^{%jrwww3rF?z>NZ`TFh)PlK9RIBs{e##@r$qYCtr|1F0kEj>- z81EYjPAb;_1*HxjP`a}=y#IL{-E^CG8~@*{;|H%BK8weeU2qNa{?s`CB43>4v2<6W zOU%O12cFWu6-?X>%<&DXHs^h5VYzCKY9B4`;5lzY$xQPL>i_+yQP?|H^e@LHAyy1B zaOf%!rB()SNDJTKRaVzKuOJLi@B6E8o_kWK5R|3vVeptFeZrp=B5(N2 zpwVQ&3e)?Kp&JXrTTzBj(YFTQR2##w+4rE!Rw@W*={VRSDU(x|u!u^W3FZ$JZ2XX& zzxtlZ*-0h?<%T2R79_6CE51vaoS+|zksR&y;o~Sxj=8SNaqz{K`D=&wp=~>=Fk(>r z*@v!|f)kEB>p8EN)2?LV=^YQRGZZmmd@UG6aePsvWDStHPWx0q7Cgj?{fA}2(nD2} zEyc(-YQVN4E9dh@rRjB0Yo{}YsHGU!@H7Sb?or5B*@O9kuvuE3H9jkc6gnul@JC8g^37rCrcP?<|ik-gi_ zQ1m0rBqPfacr2H1+)#iT z-uW|~BtdWfO(a@La?O_40-_w+>`20HT_A}4m7fpD`;N8}_wmUwL+U;_+;Jij)}@{?ebzUf&8)tYb?Wi zR}$0onSbf&s`b>d{<(~KEy1@K(u0`5mcuS`+3p8JelC{uNPzuoJqsiEgVFd4sXLK; zcLohpEz4AM9#xit(sCHgY_h(TNII<19e&T$UmW4ll|bYqbRMS;DASwr&<(B|_hZ6i zX%exebSPyJIE9wyo(nk$Yb4ON$%~JPY=OJ{VCSfD2y^COnx;=GDybe2qiK55t&wQMoT z9;H3{4>_Ifoa_|4ttsFCLxffN=+m`$(sult!!^VjW^Q^~-#r&%8C5TsAEIdITF=uld4&#pk4J{l<=`x~;c+Nr@lfM}Mq$(hP5 ziGEv=gx5rvmUb_PC>WKUFcU8@`26Vi#TA6-l5cw)xZRfm;YX)|5&?i zN}M0PlpY0M(h!FY`SWv#`J{$7EF$c2(DGEYARjhEjQCzV8S$qpT99(1{rz2k0&>x= zg5c&JiEhlD?4(*s&~!CZ^I7YswvP5}OnY3EsX1wnzu@;aBp?A^Z<@ynP07kDuZ;y} zVjiC`bTBu0Y!X^n3hh~DOp*8icw5qpj2#f6Jpb3fFuFVW(u`(J+;!=jiP;)BiqH*> zI3qai(3EzEc`VsA=er7sWRZ97J|-(JlJKK-mUzO+J!Tl^N9QVvx@rPYe}+YV;}DJ* zOoqd&(PGLD9HnV61@kWLo!#2!2zaN5jGel=K1Ai%G~i7$9;Nc5hUV*3A2PX9_E?9Y z#i@-1DsMsIkxD{=IT_6!7sB*eb~7vD{aFDSZ>rV(uSlbK)fne0qQhOL;$pjB`DIDN zg{q5r%?{3l?KjRfFQ+Wk4|P-zi_YAmqDC7oyUgRSPk4u>ib|_D;+xO|afOzgNd?;u zW|Ztd(~a_Ak3f;p5<5}y;%1Ir3({Q!9XZ*w8!kEd-y@j`vYx_q5{d>k^;9V1jCXyL zrQ1`ZISJBUTJ_Xaf1RAfF62NwE&oU)1Wiwi?x;IFO-E3}-@ms6vz|pE^QM9e@<^LL z_g}fu4T2uy9d~dMV>92Ou;&y>550S|?`~I82Yhhe;%W)h-?0*Q+g|v1u~E-fB@7Lz zr>AX6sev<_MP2CFm?1&+IxDp0Qoaq%=T5G-e|gUfmV0lQ=z-Q>ZpkZgGY3k<+BTnh zWqlVJs-1iRQ~uHWJM4R}lN`F94g%q-+sgJ`XuP5xX|ZC{L2F?4&|qHLcKu%uvs>o- z`AyE@Q%bs_OE2zNg%Vq4TYpl9Nn6AVvB`zHqD`g{9B9lVdZ|)YXZO@)F{BL2EMp_u zL3m4UzX4GaUqw;2&PNWLMTtF!4Tu3t+@@0T%&VmAc5zV!Yl@20!#GLhvYR zKks8Y@OeSZ1d}Lj-m zAT;|__(F_+%a0n>gV*Qz@Mkx^!Cw0;EISlQ$2Oi^kvv#~S$}&X z1P1Sn_fc+#0l_Y}Iu~sb1c=uk7I(E~oR(I^H1*Vy^IZDsxx{WAxj*LS#W%I26_wfQ zt!6Go`WnZt@K7GuvdJg^Y)QXv{7ebd)hd!Z01-x@mF z!S;}?0f|AD_7HtL6p}pu78AlTDt@xVJ?96Bmg1yyAya#y*>Ak>8#UfBiP7!TWFG-w zNtVYby>YvQJu<;#h^^wcl`APUnNqsWq+A}s>w=q`xv|qM-=9ogB4Wf&$-bJj;(Dl( zG>U36>b*Vlv48n6w514^02hPjiiieXQ<$0X_;4~~qG|!`Y}x1cvn1QQo8I7&sNHH$ z7YXHPp=nS4;x+QP5xkg^))zTH?Sx2dV=H3u=x79KLQLf!?sz#Lo#5WWGg#TyA|Rg? zNP$P4qB?s^=xLFI`CbVe2^38MU|mrmy%hg>?MzzU7M#jXp$B&_q?_m+GA>2VViX4t zdU1!(J48A_-A=ufO_F~o9@r&$kwSuhm(_huNyLEyYH8%; zK{Hhp9sG~%1zXB(fH%I~A1!StIP1;R4&tPwv&p$t#E&3tkg`hr>MDw%69na4&0xf> zRCOR-`2jaF{6|OXDk`W+Za9B84Zg~$zQ&X#FmIUNZ^}Cr%|kTPTlt0FzIEjJZZE^i zCU~&j``|ex9mFwqLC&Es-c|sVy>7#2Y8?;F*VZ7aO~FaC5-8CUG>o5Iyqt~!mA-H~ zHN*qZXU%AhxNmQtQ+_+1lElPjmOwU8;Z)Xu(0*Ke`gW?xPD8ZYibCSl74RmddU1IE z7KHlt03q~b4I?x&JJ3|Prm^9IT&awYwJ{h**SwK}n9#3W*}PW)Z70WcaEvlrRZxb? zBxh&g;nekm5iun^o|TQtki4FIRZ2t$%}Do0_qsS@p{HY)TzP|Q@Gmg+Kluq{R1ad_ z^Q-Hfv!syX;z4Azi8IN1n$_;VPY_F(9NBeu!?#5on(e!OZd|E6vUL%LY+PvDBM*^= zWce4)BdyhzD`)e86Sy;=oPaP~^+JXC5!g6675x(+D_#N_hn2++SnI7wfSk|vz` z2vGSRq%wE#kl>~x*}rJueYP7~jwFgQJz$CsI8Z0;i6##5pMmCqQguxI5iDiWi#pvK zgKhMS)gR|0T_mz3vSEG_BdD8{GR=f6s5r5%e-j6fYSxTQt5x#9@zl4Z10&)zz`$4K zqbmPsQWfU-VX~9%YqIlD+(jc5A*R8pmZI;fQtepas}I8Cep#TYun)G5VEZOEF_4(# zv-M1T6NOM3Nle<6Lyqvc4po{1Raz=+*-yU#RLu8)`?qs(d7pQ{g9%u``=dpcuf6;K zMpObi7}|4G_Cd3M2G){1j9``s`-Tz7bNlgNAh`3=i|&EznsM{k8x5C4f8enm4GPrf z>v4={u+xJ2elDQsmIgQGCZ_D80@#OSG;H3-GJD)3+tB)AsRf*Vrap3``)y^rq4f*b z+x*Z7l=BHW39!va#vkV3aTte_6&kok9kEnxbN9H zY1du}+6!=38))77cYZ<7VUG_HKS_|be;JJRcXQ}^={+rV!-*|}2DNarIP<1->-7|k zvdMQk-1v|&CwFDFs+5aVWo(ev|Zx~f(4?J>XBDuuR_L@Hz!$CU$vD=2DQC_nr| zxnu3Z2Q(0L1!xWD6?8DW`&5Jjo%-yr^WN9 z`$FT2JE7YMBhr zO{p_%z1EO8t#H-OZv+SLhFtPPGJGTHCaAna%#Lxy2jvq|$FDQAEhoPM_abUewo6jD zlpz5sgq)nzV#Yo9lMmaLqq>`@`w?yqEe+Tn#K9Klo1dY1IV-XZuR`n$1b@IPL=zgC zvdfUX{17X0lX#x=LB3_*~%g;pL# zJmpl>I^#{s;@u}8&h@Qbe%Hq8p!5GL3qG!cX~-8Of455cJTAnqNX`FaO=`s&H@Eh9 z!C@ohA?^!vn00o3$!AnmF|_0SuumDN8wOpFk~BNkk_xC^rR-!fw~~wS6erbge_;6_ zCY{42q>sd~zNnLNtPw7(cK!l&!r&+z17_g+0GCA*odep}8LW#Z?CBHxIn9l)yd4B3 zV}qbHzTKXViXW1WEy!nOY_@e_6KVwCBT;UhdEUFiC{-vJT z<$mh**`xqS;597SMc9NC#-jYkh!aiYMeS~(txXkQiMs5|nJWc5?RxJYhaz6_^$Bl{tm?=sOmd(bI)>V6N08b%6;FpDf_KNNAt9Bxk}Im?aVwc^@mIs3Pw?sl zJQmMi8qXRAj{f9nbeRc`3cV3Jcg^?xc*=b6mLhkRpv=oZ*+Xmb&MK#V!?$~1V0?LV z13oCwpz-I`I&=hH{i$^iwQD1DonSA2xio$`tXSXddOPmA0N5$^X`g!s2!Bft1_|Y@ zfG?ri&u2GQ#;lrsM+uq)I5%bDZ8Kh1*tkXW1t|4bRzEp7Q4^H)IPi}`_{#bASzf`e z#|x*7F8=K+$&c5M^*#E!yhYjwPTDq6=0D?h&IttP71{|XoU;Xm4WN&@L>bya3>1pJT=+(8Y)PhH6q1-1=ts+kn` zNl&C$vt@g{Q0p}+6!%t;18h+%0|*XW45*+qyU0K5<|CbbJLjPGm#4kB_gAL!WWt`q z4FwIpG!efu`O%z4Zy6hpl>;&HRN#TDyat+xy=AwuXdrYNby8IPYSF zl3i?fl?-5lF&EsN7b*#1l0lt5)Tj|3nr{~(@)m?(Y&hYhi!c!}n_1|^awHX@z(wX7 z`d=d9sQRUm(6)M9FW}tFRLZj32L%*qQ=4lUk> zIE7zfBa4ZJW8_;r{`8fsZ)8+OUgSh`Got88SbGT8UR9C_uMoI-;~Id@Nf<9WAeZ6D zY?B=IkvcU(F1E~go}WaGuO%#?O-R|Fhc-S4&KGtV?(1ga2Q$sjcL%mS>^&zA;29!* z>oG%XYkwx~#-1UWPv++4`26?o+Xn9JJ#}fZ3J_JTiHPoyxQ+z!8DZEX-?EQ4BBB(! z?d>~%i5bdBGmrMYg5~qYLr9mVFhWMhHVitE!8qf8Yv=G4K0o;^pW1V+A^F#QA-c=- z*A>N&##Y<(_2KP{!l#W~3vnO7{@bODx(7_lX#?XEa`X3gPvP61Emx1sAo1(W|1o$Y z_kIpZ)eu*h*4m@wACd{5oc{h%YmAo<>#oBF5@%Gj9gq|;4M@Slufm1XW@)kS<( ztxlwwhK$P=UpykwD)I(q)Kq9?X#}VKA*PX<-8Q=+e7|3IYgy5YT9T8Ei%~AVo7KV- z9o=52!E@YL)P^e#aV?8W zXF_Pn*?q+`40B%R{kz+S=;S?PC=>kvvme@~MTTAQRSPHRX1mc|zY|ODtrP8u`i+&3 z*WTl&q7>v3Ku6Rk7dcl<*KkupCPj)Kg+{M8zL4k5x4o7!QqF$qAMbHdHYxMhB#RR_ zu7SO8A9ad#)Gf=XWM#~8iJ>O_hwBp4!i4FC@OdLo4V32m(&Q*wsTS})XDCLaiZ9&kPq zcrJm~^irSOX^bX&im2a8j57R#D6gU%fm9KbXMBqEJ{}9)C3$91C%_qxvwySqT4U|` zB2&KjritBY%jMk8zkL|<{DCF-pbcZ@-HEV^Vg)b$+;z-&D?DD6WW^nGb$_oj-9t&kaFns z2YdL4=|3Oz)kr%0w<+SoUViOYcGy~Rm8he!=cy%BEOYo*=TKj-5D_1~7tY(Jo~36H z1#M~oW6YZ|XFV_Qjbl8zW2f5aXWWrMr`!CylSs_vRs~$i9^GjO3pC*X^7+ase)%ocQy5T5kiV?u{_+jS%hw&P|I1y%>#2YIVb*E|i?$ac{2) zt&;A2f9)$x))o9XFk$}b@3Fuag1tQPqqkbJoj5*xhQb?$sQrYCPoA8(i_I4NU034$ zy>+nIY-C*ChVhwUl45ebX4VI(iKo@5Ie}okxhe>*(Inxw6uo8}#_c^~55+O2VT6|3 z+uPMMusZP)SmfnO{;Yt0AmT1TRHHyE0t6jaQ2OHW(mn zEQdQkk7`I-EnBDstw5I*H+ZriApkqhrGRnbH6FO(8Tz_P4(Osv^CIo{1LK!piy?^- z|Jo|PPj=KNYOTD(M_s1qpJpzocg?~glK-HJFJm2@UmOD)D!wZUBawtsL{FAmVIb*i7Hg#V;-AEB%IsX(2msG<_J z8f?ne;9Agl3&Ydi`qMQYEc-J=N7&4VF$X60i-F=d%7?*Zg%zIp@Uh?YT@h3&aiPVM zEoWvC`qdUu1fER&OrZ3x8(Kwe#jvq+V`b38;Bo*HADTP*AjDxCJtJg3#G;PVbB{l2 z=V9fwCbbiK=z&V#z6zDfMlC3Oi+mIZF`D_pRT_OHyuD9n?!lB$E|U zUGSc3p-}4LQIld)`bPOa0aF}N(lx>w41aZ3ASX5VE4WYLszrMmp2fKxXHoZENAi|h z$r6_wO348rRo{k1Wj2{-vArk3H0(Ygb!;n9|Xt^XGSwCWP7Nk;sZ<%=jSEk zVUf_%)rYCCPxA#9tXbEdybUf_oPfu~Drc4=lNEG@jv>bV+~3b9KVS}2qh5Y;-yxeT zQ176^q^dR*#Pf_!*F+KBZ)t6|ZOPqW9mw#Q-ZU5J{LJgsdF=;4cM7OO$8pGzuLUfCO{ABFT`qbWG(Gkl6m3*Go3}W^V+=c?0Bt}2$f=(}oEY5EDs!8~ zpWcd5OAZ|ET*&gludR|cv4yt}3oafvQ4cXCrL9cWQzam%i|WWGl>2yyeSd>KEBj#} zg*NnmF_$6&hvd`Eu14^ z=YpXp7;W&XZ6R7ONay(UKM3}txovKF6@0TaNy@y<2 zv-|g_Cf3Ei>+=j)z)2y-xFiMNu^s}b(KFt;a=W4y6eK)ybJV5Wg0t+tCS}Z${I9Iw zt#OFUW~Py1KT?GChB5q&PNttnOWrq+k#N<&x{{gle((QEPn2@0od2s02ElmkVuQb~ zAS8Q}BHtK%-Sk0Qd%*Ee{@c|vG4WU z?Q;%HW*_-$bGE^E4jNuRV0JTO%ksw3DKCUN z-JJNbkEB^9pLI-}aiTD0`Yy|XCd~08Y#d2C?n7e1tt#`vz?XFz zvug^=uC@-hEb%oFG3gb)ZVTA!ss`T+x?z=peA%9_DgU%jbM*ZEaJs6s&X5Aeh#j|m z)C$x#WX0tG$d&70FZkxPC9yp%`8_SaS*;^G_jZ;Ciw|(U>3}OK?|->wcYKVtFV-^Y zhLIa45SxfndqEHpxs(MmvDx5XK+A^tVp4`>uwH3O{W+|J>jlr%r`zEN^#eP|UX37$ zDn@a_6{N?1eygk3Jyl2RA6AV6{9(mvy&8)uByIYB6!%VSF@FBi3)F)00+@SHc$se> z{I!ka&e3HM!mvXPYZGkP3j6*?c5YQ|yhBDvi*Lf%YMNnpH0C`6G+}c~^RCrZZrL=J zXGYIO1WnD0J&X)NpT6unapWH%lB0UcSz(4m3RGQhEKzUVdY0yUz*0!eXRAuN(w zjr_M8c*VP~dchmJsl|!W%EPzR%#r@CeQWLM0-yCFmgdHx;%@rDXD`ndsI4Iu+*@7* z^dGv|x7YapZlK21B0dD=xw`DrB#<1p%GXu|)CtLX0iN}5MPBFjH?@5zPp@(}k0JoK zk@0F<#%JG;&=Vqa!(CU#)b4w>2c0~3H+K}+8&X9fKK^{R)Vgs-4i z7oOa670W?8*=UH1f9#KH3c zKnV@kVg8r)fF0&``o7i^%ZCjZ(vKzm9L)Gwk7;$2d_$?m z=YT`!2x5$*g4*-1yIvLBFBeD46}PM$Zka(4+;0&OiFTtoRD7ZDqpH{t9nR=iltz;& z(z#}6pfu}pd&&}=`^1WS7r3%$Eo2Ocz05btRGAlCIzcTk5#a1*f7}&p!~lpiDw=&& z5;p%m(@q2NmOwZ4&?A8IqB%B^06`HZ$(cQ9boj&n8tljNrF`GJHI0qpw)IINu~HU< zVmeV>fLfo5Je*!9KiXD80^3ohu_Uk3ubY`!CmbBJjqO%_mbxu+i)RVslixe zX_@A>W~_yM#uD|NvD;<{1!-qjf(bG;oA3D1=wWsd_|^xpSf^vW*E_)ZSkI~t!}sAd z>WL1&Cw1WL0a_rD96@71!6q%e_p4_`ex1u0IdN-ZU=dLs`2;Q@(B;WE?b9tlcn2?T z(pR#ARMb88@b~4Qbx24IlYoXN>NvkG38_eEa+3#}arSTmE2YGp=I0cKwiy<-o(@^v zr$ru2RT6HAi4yYMGW@}7KMBXVK6_3_kegoJH4opcj+Ml6Z_~~*N-|X$tgH}hw#jK< z?3K)|6S1PiJ4n{FikUAPp_>h*F1YP7gcng*_{MziZaV1B_Ooi|ExSyVw}Cu|OPzYS zFfh}ym9>g>+N0<4h(i5!kRAk1{7GB}St4z9+}it4{MrnW+G;A;wUra~r8&^8Z{uRl zSI!xfHW?**ea~B7qwhzhJ!QJ>;7xWDZumQU*FTj^E6?mOl!mTD|CA_ZWCC|ZV~t5W zSs+txY)v(gmoJ5>_q1%Qf6P#Dea{kE&YP~d%Q*sXM%ylK)!45das29b$?*zi)CXd8 zGb(`};x4`|<~}O@h&A7U`PO%Hb|X>jv=&cs;n(7E-Ge`}1lZc0?~%Hx9)Q zeEOcN4(JK~bQ!YL_?i3hVdkk>wV;`iXd%c#qI*VrUA<6W}@+B z-ml5Kn6>i6h&qAml_$cyYaRK$S3z~oIp{?nn5+CI@*i61t?f83!1mH<#6dANR&_6S zgbXLynl}YhuiJqZRh2-~mFHLax3{*Bcj)qDo^P(cm@YbKJ4?eN%g@A#*0=RX`_?a= zE2(8C{u(Z|%LFPvGa=J6InlrICCWBS#!G*E;excv&k#whFg+(MGjKnVHey7n=h(|eV$>-tH$%V1- zhPjz)->DnjLT=DOvKcnoj;9pUZdGnN9?*Kwc*hrczLguxN$DL__$0WJ<&J91rk2;p zixk8;z1uM9az3ve@~NAZE1Ry5-Ez*zCP6_!Fcdl;`!u*Qr=@3@43nkr`@R&OB2{|| z(|_>296s+%6InLVIO8JQZfpc$jUY&QsgMXLH1i4{bRI)kq&w^xScXsbWJ2h|+g~ZV zBY}Q9fWA}1@8b}{&;K#5$Z#RVdcd>M2|zxeA{88fg^6C}a(ZGu-^x1Wd@vxob<+|l4 zVYjU={j0m}2kWA!?2autd@z!>Pr22!*`BdC1wRPR)EI{HWnDmz4v5P$gizWlA)KYH zvD-qmsX{gB8t1A{*~5@qY9qWhdn}8zXCKOAMYK}mc!M)x|j-RJF<<05pjD+{;F+f!7&D%KpaR4VlgX>ryw!2F8FE|d3+FEMF&dJ&XpddQ$3TYCWY*bk$~cw{o2>g^3iv5|c8|lX}gvOw?qY`UNYgqc$Moc)ezg<2W!T?`x0X zOsFG`^Z&M!wiWRT0+$8B7Z^);b`?@iq7=>!W^$egP2aA+cn#{Tz7}A1WmN}3z%}Nw zU-Ftyz7T;9(MW$pmQc|q8HH?p*$izmg>|Mr2Lc^}-{H|xv7h&P2I6EMc)b}*BDQ@sj{zvsjJ^L-BkVJeO(y2 zn(%7o?$fN&OD7%>`s!woej|VxeSn0o5kDsVR3Q~ToSw;BwC${KdK?=w`$4^S5Nhj$ zDB!t@OLTKo2#3Oq1MxK1i^Hg8k&oN~jwOWK6{ZB6LqQJJ%XW|TixCuHC|4J}A1 zMw4_|A#SV1Emch*R@hJa#P|x%yUwrgDHclB%05zwXKj1-u>^gl!`R2uikTuYjmP5w ziFsBxYHD3Ex{29uSM`avMXXAEa)i1qcoAQZoZxFfSQUrBhxKPnz+KSuwKiWnpQ{2< z@NY@?wfxbJo*77KGxdJ=M~cj8+a8_MHMG-=hIWkj7q$j|KL34@we73^y50!wq66x( zP;YJ`dvX|-*6V=%uas}G`NoyL>onZeFRosBiHD&4r^gxP%)BOJC9TyKqoonTR?((=Mci5c=AF>ZkSpf7fPNI4Yu(7@ zkhh~t!TZOdOD{M_G9q>HL=tknNUylBJ_@58w*xcxdLSP_6SH;eALOIkQxfY-|5T@f zauUC-;sdOz1p=(#+pwFvaa{_2g(e1A%%q%?dNALaEtkeM_^l_}tE>V7EOdYme8eBO zj^N3Tzx|@cjY`-`2l1=0>rUZ2Jh*zg{xpq^65SwsJOU@m5yLCJFJkeZm9(29c4j?b zSSQLlqy^LsInwXVgy8jzBfEhiya&xHE_CdWz?<*;5k<)MH_6jTQ&0-<8(%gwx~^bb zg7MfVsgoA-6w@QV8;~3FTkqVAcGtMSOfQ?`z?Y*vb0sN8?Ka7=abOk{aN)BrxfpeK z^LFVqfAL@}lvc~uk~rJ?({c!^J#SAQ8#LH%o5IS$$bilbbffg&WR*jEym2i}LLh985)BgZNZLZ3JtA9Ddbj+?n(!JF3o~Y2jKYzkc?5 zfdP*-e0=UPd{%-xE*}sNka=%DA}0#FsGZid)Sk>L(s0A917ZNM;6|z zwOTMtqQZwlEruNqpXzsnAr1se8ClAO1)SP3YM;~0EBIu)ECj*XE*IWb;j+6VC8}(MYa8Ocez2sU z+7Q#+5qI2i_SHhEDrDVs3iB%0CqZ zLsHtM*pIOu{4k&341jcvv;79XiyE^%N}z|oxd(Rv(Y0)h=2y=tt?(Uyh9ZCIj#JDa z#vnl>B_yqgY(vNvJc*>Yd-ieb>GhOjYt%O&=@xRD`Q(LH%n%sdh16x&4tx0ot~?rF zvjf)bA6CVK`61;Qt0XOH4+T*a?!-oUA*Q=+3BBkQ)9uZd_QDeO!h(`OX}O*C@q%sp zW`o<6Z59v}(!zsIPCSUDs3hfgj!5Ag{i1%mB0iJeik)r>mHRQS^9NP$=bw1-F`~G+ zhgej9^ZCt6HAYt^%pidopBLW07aD^m%jv^PNs`y*tP=IllCeS>u~2x<`D$k zSpk>l1?|^zn;qd;Dz8STZ41j7@16B)NyBvLxq z52*J)W&rv+zDR;*m4<(6bCH8$-8r-oj%$UkVj*k1H9Iotj6X3sYLld)C?-ap&>vI* zL*%gsHH7KTv6ftG-&d3BctYwmO!h%do6nC)%aQSW9MnuW2QAFUt#PD+gw>X;^5L6= zVb)+g4g_k-;&6>`DCs$cyNg2d;O~V9wtIkOPavj0U7^Ggf7LY&zid!!V(^Z=|EF&C zWg)9Nc6c@X@5HVZ8uGkjJeLIpWRR{2^1W*h$TG>`dlGiI&*zxRb5Bk7-E#~6+39%4 zv{&Lv%Y^EwFNTQx%^BJ4V$(YDo>dXXigb9>yJu#|HWrZ8+|t|ayx6Z_ zE$v%1!@s5nI^yNdW(!NSqsBU)KtC|L^cK5bY@guk-xIGWqaiQ+unv3~gH@La-B1{t>5#P+zdci}FzRV!eZ!9$8*+{Z zz_8q{o8S*=n!M#mwJLM$-a-+v^Zau<;SW&|xAwXaaN$B9WO!D8z2jOwt$;4P)CqOW zVB5Zs1++5zHpo|tL4;eDga74>_$|XdoMY83`}OxKQHU!piBS%R%d3ZBv>I&%BVS+C zZnBWc>k)qp`XoC@5^#gJHL)h?jIBhlwL2WcRx4^tw#fCvjuiiukv*x_5h)WXxSyL3 z&p@(SAr+^1h6X>a}R_IIq?jCDDIBkXwyXe(eQIjua z=cXDOzO)%Z10F1d4G6bQN99s|n~9Tr?gV2kflo$IcA-NHIYUbkL+)5n&3I9~9}ow8 z-Bh+(mMasUFhqI#CR+u-5XdMLqIEoR;f93`G1cSGnG1SRZy6AFf*u$^nuAc8Fj4n# z-m2{DKz(uQMRh9Dr`a!wY@xsD%R&m%&YSOOf!WZasbv%{c(%bolc4Y)w27?dzTOqE zj3`wR+ZTEDyH*Yv0>pkY6|oGEZ&w6VBo?mL%Ol~&9-8$YXixm=0E#~<4!Q>1C^!oC zTdrmFS4=mN?IOT0VrJH^zVcL+A_Ajhq0E0tiRQ;}^1ZjBwyU<0T?z9{ElJx~>x8=i zWmU85*0n18%E8v3#h^T`t!us=VOgV+?`oftB|0~L6SeP7*nPj3el@Ug1;34)>c5=l z=RH(;?t{~~nIs)&sKR;&fqdY&5hr&j0qYs+)GjW1q zhkPxGQjjFCf36O9-qX2zK}|{msi8GsT=i_dBrllx-ao-WAOx&wdwl7GmM--8_ypzp zS->?i#WR{$;FcvW?Dd+;etibgp9x{-%mp)TEy+Bm-f6}s4nfZy(I_SpX{i)jy(gvW}qJ#U|JU{6&Z z@r4O$uNz;NcNEZ@Uxrh(1^`sJSI2VL@#{x>pPumSU1Hewz;nvSoj z+TyJCCrn=YG+-vi_-b@nzd^l|XAJ)GQnhwFRLq|Ow%oA!jo_^(nR z;=HUx5ImD}CWm$eo>^Wo0LYI#?p{__SAj49dqB>>wDBKI zE`Vg;bLU0>c9?g*KDZT*}1SqJvM*5X#;yW@vkc3=jz`hy!8aN zRgN`ckJ5kM`dwK7d7tmRcXwR0Xr%{&JEXs_!dpCwu&HhIMG?!NCv;+%M0)Q)?f7zn z93aEBCUICDfS7G52T~vJ%;4MZz#j2&OemS=9qlJV?Ur^TFeW|v_|7P2%#tepZ$c^9 z>>FaoUNqe0v4Nd58SXc>2aW8xWk8r;(l?6eA8^3;{FpDMtTk?jTg(S@Ow3yoc&1pt zkmGd%_@w?kJ1b2!&DW(pq6!F)j(3S~AR*wA3ABKBp=C`bl}ZT&YTFV7x?2YaeL&D7 zjRpF~3Vsbp-V^>w!Qq+Z7w!8wdc9Q0S(>VCZS40Cf{3=eH|RAWSU`+yt$i34Uw?e5 z?Lmu5TFC5}a-lX~pngK*GK)AKAz{c)LRJ1G$T&%&(9~_|22>e>FnL{L@&q}mR+>s_ z7UL)FT*=F}OcM#3v8ZZ5u1e?@G6USN#FcJ1poaw1BZVerBNM7(RacFtE1EXujSgZH!eZ8b&Chz$#^BOP*g8_r+&lM^V^K@4@a56 z*b}TMildb7QNQj^E>VCT(Vg0tXoXt>8D4D0EO2Kn`26k9)^)8}AA%p`{jT`j;L7CF zuXFD(!aUHs!M-+-#G1sNVLcN@9i89P0FtEZAV99soI7kbmPF#(uGloh~oMwksk1g z76=glo4CmnIlkr_SX~T>f00#tvVOKXahB&*3KvB{U{2c+JX=!D>C!t%py|M`F;6=uJ<6S&wNZlBnNmvtviO8~Sub5`18+Fj0X?tN2m#?Q{ z-G@`j#cY~xs_XoHGi+tJ!)5u~U)Kcm&GEk+@w+}+AP6q$GtZCUd6;E`9rZZ|U;ZM( z-?ozoK8Aa_#BoWiUL*WOw^*f66$GzE~ z24n8z7V(~a2fV2xNd+cCDbDOokvYmSkp~<>?d>T#PCZD@Zoskw{ih-Se)ZNH@O76# z5+Ro=_s=#tFul*tLtF-pgv0(#hQ3d7sTc4)G3C+yUQ6tvo9>a8W!RJCM;k^gGXqQg5qc z@&Kpd7`+ta8L-C6#kU{X9e}cfsg9H@l)XWu>yhjj;DZO~f+Tc5cpnPi;NPl+e7KT5 z?4o6sS+5gL*51^|NbYepc=P58N8U!bPg+^>1&QL|I9A7!AaMKM zsus}3;d0IeU(JRAFxB2lbA__#1;hXSimHqG-A-^+2btk}d`&223eyf5WL^crubtK< zd@MJ`2yZ6^EkY%&7S9$ib8Xcg(^L9oEr=e9TGQ>WDxt^lmT%0LThki`1;!QLCV!s{ z`xFIOSZyb*stryHd1Y4Hw$5e1Tqg1l2B2n=MG#w`f2%H(bZM5*x@I@dbSUgN!dp%~*&D75VVeOMYNf z*oMz0`#yN`L1aeT^|OyzT^yBVe?fc(byUrcEu1U<52nVFW&}VVoASn8|AqqVx#L#A z!B9!9^RT^k>vqWb8E{$bEsI6e_x0dr|46}k$ttpUMB1j&_dI8Qvb~K@nzYKgUDz9qt5uzhHeI{aVw3p zueI|}hxPh;T8XZff)9b{XHYe$B11z%gz>PxkAzonnwRpJky~P zbwyMPzs$Zl?d;b=>9vvfk9?q_GCqBCGoj-%x49p!Bc{h7-0z2d(utNF_}CUcYjy(>c`S7}ZZrFK^qsT!AN7 zSJX`vX-PP*`dXe@er98QTtcVtgK{h4Mei0%Y4)fdPMRkqRGzMhv zibDcY_RFvms_JrR;)Hs`x`U8R565w(UEjP$R}E;{IFN3ds3g2WEnSMFC=3vSxyP?q zYVtE;RvR8civ@DT(W8`8n58*b(?x5&!!dFMtM9oJzEG8;cr@eWlYF6n+!~B!ODZ50 zKt8e2#1-?R*7qsT}4&@~m(Y z2)t~j=%FPi3VTkRkISSWKgv#tuZNYymUl4Wzo4`J>KL?R55Ys;{cW+tw|w&%w|J&ljDJb?AOnt?BwXxprSs}_1sktxHl*H@8u4&}BrgvVgMjuFS-y|>B00Cd z>o4pwa*b(iX3gsBm*lDTn&WSX;I$AE4Be9-o;OVxJBZT<(ls8Zk2Q76NRKVJfj_pw z%WOAxA=$9BMV%`kre>es|J>ty3D@Zf)w%8&>nVo)J+c0)SR$1b!o-KWH59dz?6iET zu-;(yEaQbw(KHyIUAS_%`+0e=7Jw#`elGF9hKN#Ilv_>(7p6-mx+>*Y{I?KMbJn-L z2dRUbo4t0MVw8$ENG2(J80%_kg!>hPmg7_Ci0WkhajDN8Qzg4jmDp(vV&rq6`W>LK z2niaktfJvMN(TkV=aXqY7?FY`{kQ=6Fe$#?V4hk?%c8LM_${s0=(a-+@ArU=+}?uuZJ3@QpGjasZ{m+4-43dA4iv9`p_ZQEk}TZjkR zs{EU;zgEoa1QDg!`Ym+bLbqy#WvCcJ(=hGclpMC_l?s%_7-dtYw%_+`Pj(D_y~7mG zk$P5{{t3FJ{l7W^>UPJNHS_(htFx^M>Fe~E zN=CV-84g$v@f+j}D$)!Kv1;ZlYf5lVM9qGW75UWX=Vo=AgD(-|4iORom@Qw3nb*JQ z#MfhuK0{KOm7&XK((e!L9dgSryX6EVYw>{X(J5?_lL*?O#ROYM&~uXGC94+DzJe)z zS=yaHOtW)!2#K2}aKo1!s2qP)K&?lp+U$CA3w?hWKalL;Mce)`uLlpNCT;|)PmTuBYSv|LndkM6JP=6e75 zhiO--+Wn*3T{!PcP|^7n-T+jvDj$`P2~ zSCBlXO-Y;D@E|59%`c1Hza456zPv@&An5h}ULlZ1JQT9qK~$*NoSdmWthw)vvV~tKh)bBoraFyDHJhcW^%kaxfU!Z@95`xB7#b?EEw%ZnWCn!sVI%XqelOhf zK77IqQkt!Bk7URfHc%xr^#*SNFz202eXNzRDMa%HrOBXpUU5iF1=M6A$z^9OQ7D^1 zSP}7#>XR_puDH+%8evmOo^Xf0SiFmHZ@j1)2_uf=>H1z(6Gld#^|0AsRj1~;fucOj zg>~$^(fs^Sr|lboLJvma&|%ZmXT6`BVX%RwY`HcgD3y_Og`rWR<9i7z^!fRqodXq?AYC&&FbYOz%TT ztZBD&Vos$`P17E}xqrjJ)-sxVt70f0=PZwN4&G%g!0ucX(MGz6 zy5NXHJFSgRqCV!E+bC{3{>9aAzR!p0Q2j?ruu78EH?W2Z*(g6Hy8lO%=P!;qL7QqN zMk&f#zC9}zPn5_D`5ymOhx}@Wq(KW%KCT$h#1%Z1*WhG$O~2zSIF!+?WU*mlobQPO z7mI?Zo|f|U$PJDA!9`0x*X#BIMiW!{)A3i5YZ7( zR?-w3Ba0wZkw6KC*^LCX24Lo4+m@y!!py&s!=^2$K(VZbs;oZZKax(=zET)9okyN_ zzlm3jfV0%fbpxd<{u8@FfQ>R;DL?b3%6&~gNeHo$55u|)ey8@VQPYEzI&NrsL=bw_Qh2{$>} ze*IqTxa@PzQ3pF_E>m6b)t#u$f2r4C!O82-(MR8hS4qGiZ-Kt6PB8)fBT9ufw97HfR#>+Iho=8A%H3WC|I6Bc!8 zm0UY5s1aRhF@gyKOr+kMBy&ey*GYn=Ck<5A94$ug+Du%YgTy>XEDmCor6{ff{K5^? zsQi*mEk0uy$)55?*-HdZgMy+4&b+^1e<;`w;+(vu7?#g*$gl`R4tg5e-_SM|)%lN* zDaE%Zo;qL<33$P>zC6~vIk4NL*t_rc zIQD-nHmq#>lSA8@2s>>3%NsGzdYuT!?fkr~c~d*~xVFaCcjC$xXCRZ@&Ad>WdlLRqrD{LF4qX-t0TW(Y;-VElJ%Njp{YtjVQGP%ToORq)%vj_6A@@U+dy-)RP6TW-iL3?yu1Z7f7iS!NG`WY>gT`(v>pR-B#m$1aD$o|nFqJ5?}jg88tu*Cs4 zd60Xb)#&$BALCCc7Y55Yx*^M!G-GQ|tNr?=AuKIv!vwB#@RC|Igd6-qVW~92ItT`U z7L>MC%;gpvI{b5pX~wtp)?qxT{sffljYub0w}r|vu9T9L$p}1F1?*0w>u5Rdc5KJa}kDz$b9=OrVncH@6H{Q+u| z8;cTFN%Oxc{?B~TB2nwOY<3xjbEwlJh1bEsN_6T#b9dqBvs^O&Ltn&p?zvjaB9sPz zi&2&y*ZH*LTc`M2XD=wykfRXYB(Lb0UTGQ#+Mc0c`cy~ds8tOXU%1q`IQzdbiZAnO z^}D4BI0?QZTBWS@2&F|tMEp`zN{l}IujoKy5|D3u(HYMmuM)0&5^R~UGh7GfUczlY znsQV@viFAv5AMwSHtH!F0QsU83^V+%UWSw7TE(crPbWC(uch^L7;Ey1Dzaw&4sHITJfDFkS)ws#o4}~ zG|Q59qnOV0O}H*z7P<@GAKs8 zU!pVat^#_0GTBq=?VcMTm=U3k$={jBzjiPwIIvYXm#z zKtwZnd9HIOGNML&tFAZfvnA}lQ#(GsuSF7Gf9?=g7iaO1zpImOxFWhd1N-o|oYcQV z+ZQC(bGQ1;Z;3nhvhao02IcHgPQ3PhN}oqUt0LkpeIqOs7eHLLHihrJY^VvnTS>fI z5hxQoy;>lqlkNqX}g%&S+UccP+sXcs5(A(hDv#_|Q}t<=^nt4dJ`(L6rH$7F?(SI*>(rpOC~A#NTkD7e zeg`iMMX3W?kjf`_?TI^(UC+dKFJBGoXrGZAU(+_FEr|i|7zkn|_M z-xAmlu_1c*lwpCPn#RMZbgoO8JPzV2hYwP_&Xr6nE(YFgp;zH5cAgi-0fI6m3=UIK-|E!Bt4$o589t*kQbH%kJh#W4>O|=*=?7xD!C~yw-xJteJP{^V92a&25)m{ zZ>#AnvN|Umw#?tK7({m8@HesXqY@_deu`WsyYMqYREf;<9oz)xZSYDEZJ_ZIakVPW zQ6EI8+?~Y#%#$qO5y<0tr&S9XN|euI*@DM4#nMNP4|@7Td)J^QlIe{Zg(YLZXd{3* z{Q}?pQ2@D_o$Dv5d}zyBViddrNnbd6H~Wm<@xhE&JdbInq2*D^pfjJ0=(Kp0fBz1X zD7s4e6SX!7G-yn3WrxzBQ6kJwvj9lg?!2#p)>NbhP!$%i%MEjni;s9nY}`U$ccwyF zJhA-UyN6wK-v5isQuj_t%E%P0S6qZzIIo;n#Eumt`HIqXK(#FA2?r^|xVkUZfCT$lUx_0m6If2NG*YjU z1$?v*p?ZTrY`P0!LJEDuvJS@Ung7T$h8w?N*1Ri1)q@Z$i>XjTvC2X9NbQRAGCb6e z>rvmNt+Sfp9k&+z;sy;osywz^6{Y*QxcGtJQwqT@q9oli@j~mP%MG}lX))swz27qt z5wvgC$<}7}Hi>a(x+|gC=7tPuUl(|BQ+eX(Zq?%N&1O=W;pW(z4f{92&)erh_hDI1 zB^I;LC)!nX)?+)9u>N~Q;wqm--%;w*gRs|A9tJ!}Cb0vON&JIIiJ-jh_@}w-u{G%4 ziuQii;hHUUyV-xd#=O6fpKo>*%nWC8#xja7|AJXr-xDtHtS?d5OtEqqS09sdi_*V5 zk$NK%9^dHGHbS)YZB^wb)RM$-#Zj-#Va|2J1FeiYK_rFe4||$&sfQ-E<`Gg}sfrR9 zB}tleLMq~CEI2nS+2EZcTcg!PnA9uAmCF>tZ${B5@7H@$^qB%gc!%aj?NFlvIw~0_ zc+G0GSSAU}Si_uC)6k28-T^1`$=yG+Ko6I*LZmzvd)#854)};kq`n;o7`ZK5F&}R# zo{?^+IA5HXCk)URL2;I&TXa@)w1YvPUn|=@QOY(Wkn>-8vAu5f+#ajZt{>FkScGCC z0-8Ip68!W}m(z&|`W>!X!}c zy4rRIG=H$!6Jw5S@4kxuaXuY>vaaPe<<<_q55pHVfmUR&6fw#Gk0&fUw}MZTFNU#? zAxF}wOtGh0htcKP5_x>|9f)kE+V*Cg@?s~#ZL4}(rboA0)FQFFf8^RVg!vdbgQkz) zRjov4m_PjA2}0rZt$scd?SaQO-9f9nB3x9=KUelgQ{~^DBF~1Q_HPgAL2R=j&hn-n zb0F$DvG)V$6L;dc^)zOCNU#c>;jU-2dP%vn_d%+aY90;&NpclFJq)n_G8RtyJI*+Q z+7)m-@ecp-oFZ?6=dq6E!CQq+TC`1gI&NftPrQ;m6~g>-O5nxXs8^gxPqp2DlAhXR zz?6K^9uP2!L0y@U`_K#E>uMmtd2I;koaxeIRFh!z@zgQ!=mPV+bRsMFD6JNM!j`U8 z)p?gs(x%P0$?VnhLd+$8RDH!4UTG0rcLWJ7`HvN8v+3vr1>?7-m#>KCYJg`N%wJPu zf}~BiZ<#*614!0V?+_ag82%VNDA6|vioa}yURkqPu7bLZ3J5)U(%FDB3k)%@k^)_` z;m+qgu!0@C2am?HuKZNsT}0Q1`ysFAuyAybFU!XWRMOVA;{UR0%h+5`mR`qQt~L++ znC`%8*V!?tW{L8J|3TRzc)K21O`xg7C*}Y7D=Yd(b@}3E^cP~1Jw$dt?1nfs^}TEA zz@r@PT1>^<8h56=lF#G*J(k-;4>+f0Ym!}eAC97@8aRX~wwGtjhs*v!dU^Jwz(J(M z4=nd2*tgJ%FJpL(t#SR*WGOdHZ#it1AW_VQlnMehxq0UC3pBJ5ui-OPScsPw;$>yA zg;@R%H66se#6`}x12(qzP$r+k2j0veSvLYuD810K@Oxo~VHIgkpMGf%h%I&&;#n^x zG3DRRN&&A}wa6y9;7^e!ZGN9uZu?34lG#lUjpSDgib>R8-Z?t6r`z}KI33%zZQFJ_b~?7v zF`wABosMlM9oy;{Pt2R&yWg|V-uv8h$E{IgJY)UythHvXF>BVWS>F%+B70d6_QG~F zu_=xFu!BC`Tp&J@c`-ylK8D8MKUaU_<>bKsG;PAl>bQHX+l|Bv(Re4)(tgp-g zljyBPX|y?4Jl`vZG5tf~w0-dJi+MRyH?<$&dn`kTK%AS+8M2rB@nfS0;vY>*&ZhT_ zGW4N22{xJJvX(0ZA_4q4?RwBqP>`zrexhr{fYK8Nztx_kSgdLD;W9#;BE^{jeAij` zQl*}3drExg$Kl8>CtGZ_(3iUnUxg2fA54pdZYO`ZuoB*Xc$!pKQ-U{xg15(=4@f_V zTQ#KrgB=m6s&>#M%8Bw_A2i^JH|f$_nf0@c*lZrOK*> zlcpCku}o~dD-x*kra0_$^#tq@ngOjZS3Ma+weN)_OITnXix14{cDQX@+=VcljVkb!|l4+JAnN;G5;0};$_ZYq-^TqaILC; z;;SMXx|h6WXKE5 z#TMC6+GAaWh^cR_X?*aPz(2yVCy(UgHO{W8uNkv6*ncWj`MjFsjQ%AdTdq&MSZT?Z z)L6~DYY>W$==wai+=5V0M?Wxx4Z(uHB!CsIIf%72x$pL8%+l-ZkD8toqz`I(e0;00 z7;3!l|5nQWQePEPl_cdE5>dn4lJxVTxmCHn$Xpkku5eJ;+A)p5s@go7Jf`tfqt z%?SCjXj4=}4#r=necd!7t*9Fbz3qqf3>$}OYv5OFP98^??Jl8snPLei zv?yQ#LhgMr1P}V&zW|Ga@-n?Jm6@jQBo310aK1iLgh9i6xx;UoMM_1CMRQJBz4Ec>Y&m2r;yn$puZ8FLd0S#}} zhdA;-XiL@1t1d&y_j{U#7NZ>N6ER;=_I9i13o4d`SNE@7b6~u*tv}tRn29|UPg1$& z99bqB@I*;X4i05*&Y`dlsr>QQk@H#efBKm&?oo19CpW)Lm-BxRnFnhuWpMZ9n$Zl> z{HL@|$~gpK-qP_>F~x4;vs`3x?Q)&lA@#j&}5Agrh-^lLcqz7Z2O5)rX zI*5IUYZKm}ExvX6Y=*#x}(qds2lW5bs0ive|JD%ltw)@hxO=z7w} z)J?{c@zE{(k|q6;CGnCa^}=Tv9XfB}`6aKLK#~qcI71D*Hv{$%%`+|Ea(@hj>X)vxEqQHA@ zNB!H`L{4Flu)YcqSd@xrWyRi72CZ+{r>eKzP|=gGYB+xRnhdgk`xs1Kxr67NPDG1+qzDMQ6uYE9 zOv~Pc0=n;(nXR0?+c+wj+^IWLf1U43NVz?uc=KiDouwj#jne4SlIMyz?QqbT8gL*C z{D1qI#zK3NSIBrz)So}4rQ{CY9KYOKB#3Vr|M0~8m28sUae~S#*+Td3{b^)Bo^R3p zgHl(uT5Z9N(sc81us^mN-@+j!H@`Rk84=7ni*A-O(Y(<`P@ji*^zQ#alAQ|AG8>E& z=nY}{wx)h-ecdN3Yxn+Mz9sA6HGuZy)iJ;!6P{;7?R54u&W!aR{IX%%|BgJ1<|Ozc zP8{{x9z=w*B;doot>#4O!)_Va=HTq`^gV{LfqFFo=jH z<+n4zpBP~}4za>T%(^>P7QjPHb(LKm(2o2kK~e&@IsJcMVZjaK#wLC7Gsym;wG^l? z{2Kn+GRIy2Lvj+(+JU*L@?S`TCcnQ-@^5qhkDps!P|g4Le;=RcU7l)a7F&u}#gr-T3-1MzU!M zfdK-`1qF^32njLd&(EqKOMBhRg zOsW=Css_}=m{Voo&T8p|{ip}Oho7=kaS_>?4M8AZcf=zNGu>WPp!!2$A1X&89@L7= zQl53N6~TcsKNhX}CE%(T!yrz2pz@uJT^%WchM0su!m6muHmOki3zcwrGa%y2z>*=$ zKP3)&lJ*VUs2U_YWO%VYf{1sSNU1NQg{=x;($wJ$>Bh8j(GzXG6}TSt!tX z3R|(eH?Se-j!v?);QJK(eO$P;vZgGLy+&U8QO)1;z=VrdM~KowquJHa8V+opAE(6C zwE<}n0LA?xEMsXft0EY-ao)VYhNhEF2-U39uH~+2ZwsLc4Tx zSl<~d%nx@w+MY}pkC=sv4nf*a8!)Ub3zbza1Zo8uC4Z!rHq2O~5E@BY|J7KkoZtwIxbQ9cv$s zR$TQ5rHnwZoz?F{Do759P)MXoef#N$rcxN#x84Q(ndJh!4Yl{66H%d!)1ng>$49l$ zp3Zk2ZewUdNX!*mXhm1)Rumy&#QScFn`%Jwd5HBHEzFDmdpbT}VRk!f{pU1F2GC&- z33Gr;A~XJJ9qU%T8OLn0`9Pz;!Y!}s~DM{se`N_+b5 za+D@I@&*Sta2v0sHsLg#iZ?wI*6VQ#fsrwhk2X^HAo1-frdf+$9Puort&d;iS2#>@ z#V>O|ogKzhvO+a^y<4ym+3{ZLB`_aeIMr2hx%jjAdYFI1QF!NgU z;P!A_ZNnlFp+90aHb+_m4`|FA-9}lmu-v;1>-r5|A^6uwLY6jDAwL_1a+%bC0l9ge zOpSAo>A|jNA6c0Hvjqo%;mFthRvHK~sZoMY#yPt8mES2= zFowg37y3{UXg86N5`K-Y14ffvgy}4}FGG6KGT|)~qlhrJN_LV1`tL|Ks8h>8F@Uha zH}^7*wCL01VlcM_14w0O(egZQ*Uk~ctCIJlD$NBl(vP(0B3U@mB-;j#hWomI>C<8( z=2J~hSuEac#==A`DfVD#)u#}F*27y-o|DJwX$EFX1LR(9j6_Qr>Q5rBZCh_jJIq2 z?xn?{*g-xKO?L)nSZB<)X!}$gqw(5@r=b%jH_7j6uwIk6Ui+VknWrz+MDH-laazIN zBFr?0ww8I!Fyv!2)O{?a`Z-@2o*Y&lYWJU<8{#4JJKm#z< zc1O2akXiodQA?z2Q2L}onPpfvEM>*b^#2{AbFChnL>9RCXuN6iqgIoPc zpX{A!>>gY|q%_|1|3JU$`4AAuVu4rnn;U9zc42n!X1JS@t24T?vq69l9jZ-X^0cMU zT(9t0&9SYx3G*Oe2G!S^;z41%xM0VBloZu*@{HIYX8Mg6BU<%$y|fI$y?OEIZ>&zw?G84mIK$!Bj#f5~T(hVcZR;=Jr?)d#X;n z%|*djitBx+fw?7;k{XehxfW+s4?K1$;9ERx-lK zpKVxWhC2rnxL_S;SRw2eFcVF^^4k~;!xnKQ)VCa(D>DpSm>Y)XRH@Wbll}nyik1~` zASlXcKX*1(Gg6}7O8Cl1fz4^I0GV)t&pLwW&GGG8gX{Fn=)^kLWHyQXY03t35>a9x zj1ZuDT!5VFML^wl92Z9r0kFxh*JId%3Bj`disntU> zB2=RpSW);hKp+O@d0K`F9lMN{H=qpPkI8=89HbA)x@Nnmx1!{WJ zLfr4bLYMmXtGuUu&lkvb9^MXky?0s!{d@g@jR!lLe~u=yniISM46CzipvQ`4yo0e4X$hH5NG54Z@+J z!4*43zB++kMzkVP7JE;Vh@7hhM zb7IK3+8pjigqm*(Fn|(&)<4x#C#Zi+H0f?Ah3QP?v^~P1y2r-_*M|Gwk z>OcWaK+9LZm#e??OhMY#fb5=gUO4JSCn*?BYVb7Be!Cnk!GGrT4*5-S3h^-U;^!86-Us|9xbc!?L=)X+}tC{B<4K-Yt zjlgE{6wpKzgPsp3$S=SuHTp(-@nuCn(g?w6`un5%!#jVN+puTppvrXmDrAjHE=`DMjnkG zL5~IOOQ@9BeJ^h$!r;ceK$6h&TivV>n=`KKc8-ZWpbSJMn$QscZe^^*>|_0MJb?Ar z;==zKT>vuPz(rNdySo>U|77;sCty$EUeH(xZ#yShCI>G8qKG-dH)VK92+>7~&gE1{ z(A0qN@c++NyNVw-xEvq%7B;Mip~uNqS)O@fKT-ex*~$Wr;i%rm%Hy8m5;{uh_6y9C zC08^uLQKwsb0cQsLo(+SJnBg$SuPcLdP}nKeO@UpJvg`(ORVw%F-k&C7c_wdHjbi7 zG+qlqnicrVt`2~uGrKWs!BCFfnwSco&jgj8{xdu(3V)X!a*d7^tOeGtP>rNN`xO*T zUoiUjfX;4VZJ62V_8~%4(9DocR{JwjU;|`0u5@Tuw|G`q!JS&sEM8)oXT?#boGFPw zJv6rnGr{=!pFfKMOAOp==&ogzR6=b;AfD8-QUHG+|4lLjbfUx<>WYiNw5*!y###h+ z;m!OGOrXuqu@jyJVG2ocLQVXbUk^suK6081Y(&fAVU^#d9WD)NmmXP{=YH$HmzLr? zGEhG|(ySeWX$>DFY?KYJl}^lfmK1u((^8qN5@NHhZhHs*s)#Pw?BELz+w!)jIv<~) zi6HFBN^`pQwM@d8$9i-_IROl*WXCVP6*o|n3SS4%nu9O0@O9C0hYE@L7gP{{j^YV9)lVdvxo z=`I(hi}&eR31UUW>|M~FzTK`{vvdKvy1_5r=~P{sk(1u{qg|>o-XSMlJ(YyHk$=(T zABGHV+FB5|#>lsOmScNdoAYHUBs6W22OnXGN4w_FZ~#S!W31ax{-7tM8F$Flb0dkZ z%$5bVLwe~HnbQq}j?IpWJ=Bb1;=&Z*-}&qLc`_oZe~Ka0z>JSd;;O^WOlB6n`{TIf zozX~B!2G7ooTZ}2A46^8P`6^*B2ccZTPR?NX>e4_#I=TjWPgjH`I1m*?MtZ0D^=%A^yXsL2xNR6p_o znH{xc+kz``6s-q0pa8Wv`)#CQG2-TgYI;ocWB>*2JJ11Wbp>=?whl3dAmFPKA|1-O z?L;doRk87OqK9D-H zeGhZO4xDQo8y?MC-dw=y^O$CQt~9^awCib~9T5jd%g9pFMO?hCYqyfW_tIrp4%k91 zzgq53^5^8Z^Cq+bEzhOxTN7!x#LT`-`$ZT$>%nvf>=qW zV1EPbdk{B-AdV{F5|Q91C&tLkjm_M`#OW7sSS)?Cz(E`$5-BVBi+2e}NObi{-9~eG z;SKjd)jl&mRIKaFuJEXQ{uQ40sLlSU4oj^yzYqrUiQXHUu#b7xZ3%>Uz1rwbP7fs0 zDvx%z>ey~*(#?Fc8WS{&Yl+7TJD<-!m}j~D$-Ww!?^oAS&7M##%@#)(rJHjqySc>X zTax#4!y~$6CS@4M#DO{1OjQ(DF>5D`_?CqbgwKKti!Q9ZhT-lzKbWZ2&C`xv3ehPJ zd1|oI#*q%`;3_n2Dq|=Ez(}jphdeq<)NrZ?P$w5b6As^vYyt+6DB#TOJRI@O{`#4Z zi&w|!*{KUzKPa%ls!_7pQGpA`2V7ZP(~<9z31O`^WVwpb=z3So=Qh`W=(V;d7O_-r zAjuQ*X(>9aO(1m_L$!iss|KOH`8Sq~BOlB@7}BXBq;*CiGOOaE&oa_96B8U*EMu=( z1YEHUH%=1DZ?-K7M-k|~O%0M>HB9rD*sI!1b`Cp-5|jShWTfyip}gS1nu!2Ioyo?) zTv?`RzRtk;bR%e2lb&rxjH=#(3*tJi5(bNVXZQ6#~evN&x2tHV$o8JuLLf0s0#M%@4&l(NwO`)z>k+0!ke-*0RKc8fB_p%WY z*xeYDVaU!>Y08EV#Pj2iut{}Y?Q0(#V#kqj?Q7H#@V)ymO_9QvP+k%rDv+Le4A-P} z0h7i>pjBh`gUiwRO0aupSn>K=tm1`2%(+($GUY(yf5pBriINdI57e8wy(4hMNJkbk z+l@jq_qI9n1)J(h5aq@S;o@H3!5Nwj1rfy7tJ0i~U&32iS2b8siHiP&BctxQIJ&6 z_8sk$excauLVHNP`EOM&QIb+3%yyj3Wdaf7bbs%cFij@9e6NFha1q2G_w8+yR>VN5 zfCEI~0^ppVs9iOVv3JT+FMrun?N$>6T%-xxX?*!2aDy1o7WZr966Gzl_qf)%Xms1j z(k(luBt^nmH#8mw-SqS*ntvekt+Wos#io>Rk(mj=PwuzGm0=U%sIL7KOILpZWOr^dHKF z!13a%NrK@`Xi(yC?NBj(vtW=Ui6;D}n7MU)R^)VI;qrHa=^*JP=io1DPir*}ceG?3CR<|JZD0vK zM5QuP;<{7d9uII6!EKr6_!@&xG}a!kiMj|CC5bRw`kD#dLn3xAsDa-ilKwG=zNtvH zljw*3vV^g1r6Zo8m|I5l!dge`53DfoIprd-XKf*9Jd(wu$+b^?AqNqdNF4CdalYtz zoO?*pQC6@!u94W+hC41=Ez=n~GB|zU=Uk> zUjtnN(6H+r^7O*I#5i)$;S$6g#GS>BQlXBGSRAm zQ1m^oy*k8vOVr3LAM(~DenQo^d_ALN28|7X8#{ZqI;Umw6=0WBc8=s~ZrmM;*sNQD zy$0E7SyY9I6Z-!8iTV*aX5SgA2Br;U|CG@J3Hggv>#!l#;%=eZkrDu?0U3@anyttofZ#j zqJW2g@bX^-E*nHki+L`n^KLJMoUpFlrwN-h`6t-!&sxpv<X4mj1ea$$T$AU`aa9C0vqE=AL6WEumKV)|f8wk%Nvtk<0HWFlaghNk_nDMHE zX3Z+b7pU{N0n>tDn24_rw_|j5_3{xAp~@t_jqL2fsTL6Wd?<9~ygcU#oK?aO5zC?8 z5X=oXt9?(;djA~A{mA_sr1gIhd;;R4UazGBZ%Vou1>AeU^^H+zaQA*P#0mx(zogn5 zHBLe+^zj-U8Y2X0&oiqY)BD^UeQ8YGYhG^&TI{M02xW+ZJd|qe<^Kjm7LDZE;KrQS zHYwe#39K-_w*OJf2!*n!ir-~L-SX?GGqlHO)nzA9NwLt-A8N~6D8~R~V@*uRQcj8^M3YH(76pAzLgAMnL(l0vQ znd2+(Ayoz49sD<%773P-$g>CHfi64xUX^ku6LHJS*uoyAcE7gv6H(vS4Ef{X!L2GE z-0fDG-^m(ASw6(bY(c^!bFw$d{WEY`-xtFFW8%!?@ZSA;E%S3whevS#)r{8=H791^ z0I`0Sc=Ta@$kCov>)cErUo(c3(@KffTH{?MSeoguO;|0uCiLQ9OzSQbK_Itxa{ua& zCs6fo=Lh_kP#^4muj#dunUrUdkZ&dmpePnbg0RDXuttv|?JPYwdHQwNqy;)``OI*0 zlJjQv)rIiNH$+oVFR11CJj6^1M}?-ibvr*;?fy){HA7m{c+`qD-gN;3`Q@tD`W?mQ zRuBrVTGq=PLfZhjO*Hzv>Xgfjbib+u(*q!$a&ZVYdnA zu;~p`q^VvYt?|vs3hBuWSbvzgT)#8V$$WA(c~8K4lQ_dXk_821O|B?Ne@55+D$?V@ zdFAnv>!^ZExC^3!)&4p?2w3@x83953MWbO5hMxkStSmuN$rj|x)r-2MvASdr~ca~~OhDLFh zGx6=7@Kra74RhSv#rI;JVSjn@xKbz2vRjdP2hwinqR(;N(;@AK0z=-@`Wx>B5%0y4 zGRsML7`VU5%G(=zx2GOdZbFV4k5`n_cJT7`R*`gC_c$`7FvPX|Pa%nrg4io-b4FG3 zzsA!K4r#%dBt&G;<=$|0+deoL@}J>HQqL*FCwJDGi+?>7?pxd8ne9JV1+j4S<$Op| z1^wYOwWD?qT0w?Oyq;dx8QEJ6Tm?@JBnjm|A?GKTO}Z;tQ>L}yg9Janu|^s(%nYtr zl+%Zc`-Kx2pKn3U*h4MlQh_mw24u-p)F(Mnt=o&P;)HE93am6bkT1O(=&fi4_tF=m z#6R*Xk&u6h>55pW#v1L28INDCv5)AgJv%$=o8Qv9pcE#iGgn-iYg+5LO z8X4jT4|VEr#l0ZK7O}7iPKxXwb|De44a8j3JXx*^(78p8AouyIQSmC*+DJl;S$H^> z;nTbLbQD0+!-s$^jK`jwOdKqvCM)p^q%j!y%y?E81MW(&)cxn5(m{td$I#qAC2kJ) zpE1&`Frm&&$fer#6mP_(Z_L8E&C+34{~(Jc%(?(nqYUY;sq=sAMRKv zcg@N1OY4E?k%GDxwh)c_fM6&yJSBJ~NW0*x!;uQk5evSIAVx87e}GpNSUJ+vV#j7s zxx1 z&T~qJ?;8EbLP8}B{_beL(b4HWx5W5Dlhx3M3ksM@H)3I6(@UA#(U*l8#hSc0nt--58EOD!aZ#(vmQZkimM_LWw0_+Pk7}x~ zej*>*SzpTU0c29Xig|<>Tjz6O?bH|U5^G4kY`L*?vmuj%}gI7ZT5)Ghcew_sB=O4Sy zWrfeBfeFpVhdj?5?yxf48zlZ{k?0ocjhBmyQdN8Vn8&G2W{YX#w4TptqM2_s0jZ-t z@e(f!rB^@y&d;)7!{~%qo-FX$^QZd7HKoW%swihb-kzmQxF*PI=eCrE0p*1G?ciFj z%&nq6-c9J3LNS2~arHK2CeLWJlzw4DUPoH3*-)xbimkj?ze+D4Thk{8meA+(dPEHF zzZnIj<6_rRew~>L3`>P_J6{38fTuAuJ^_q^?tI z9!eiqHf4q~WtPs3!S!TZorrm^C*cJMz^QCwv*Se91O+c0-gyeZ=W6!E=J0={$G&=f zdfBwU4ys|sSh?)~@kzCkYp&5CON5pxv=s+ybZ$h(^JDi{2sa*GbN}ERL}p8C@7QX{ zQ77Q2^ZPUfhr^09%6j6s16d`sc!*=!6pZkbfCX0753qN2in`y;K~b>yK=98XpWsp$ zby!akY0QK7FSK!Ab6N|wA48bqkr4s|#>h@T^TVs&?;+ewQDfvZmHd~XZ$KD_D`(c) z-AJO;Bc(b1GOx1J!cSH>fj2mV_Y+aM&t=fbA0|+~EnszU^2NWDqt)`i0qCXKQb%x; zYCX+ZQv5sMfK)`ab=v@X1%j2sI&=bz7Y99l_~8k^K2BKO>vUl6DXZY)twr-NONiC+ZgYi z-#3`h4eWu(^G7xZJH zIG?0$(t@@zKe5dxjtqzGYqTsIa5BH$J3Pos7@Ls>voNEZfwGy36S-YMaxr|O(PH=n zrB6gN+cx3CaXcGmnm|9`NAx{shO|n^uN9+$gm3Z@hT+lgdQf3-jIne19}}M*x~tdv zu=b!CVch!ASu#}O*NqKAte;D1#vnMX{sv*FytjeJlJ z+1A#%-(%K=jwlV7G7BwxM9?=PMIqli>8p(FcA=edF>RVGOs~WmT8LLO`^RPxAKt95 zCo4qff-u-rROfX56)Gf{7o{E)l#`)gAN%ffZoR7NPeMedi|CDRN=nL%xgkOVn-q?pUZ*<wR9PsoagtwyS>i#@;E)N$gr@DAS^F3 zWi=vge|Yj>sK7OPQVa`3ofEMCKCU9V&it+@s5p6t+IyM>{qvE^?e|1pQjw@O256r$ zuLqq@Bzf+1SisM3(Xq)yJ0)nI>M$Fs#4J8+~ z+$!I50&=NW>;rL!Hf?b+jfd<@p8UFbm+WHu^NUm>881BkkOUMsQ*j(9wDUofCdsZ~ zc4L)YM5HtW@Xz<{sB6agccv$P+#X7d!oQbbeB+A4 zg-_X|TRoA1Y2QB{+-2nq{E+nPAzEvaRGsLAt^XYi9A?+v%<@Uft)YOuqH@O3b_(`e z!!2krXPSK|>=W!Qba{`~wg$hh_L+7bF=bxk%ax?}+dXP~SZM6^XY(X2{1zgq4DO`I zgioH8x^oM8O$w>YwFtuZX6O~%M`pkf5cxSon&C_{l^)g~KD9#VhBkq)5jbBjE7gPa zZC2bW>&^E%f7OU?4L{Z-^_CbVB1c7?G(e1|v|#5(MBk#P=MEdXd5DkqNjcH+As!2x z{?VbfIrkM^ZO`~8*yS>IdWir@7HQ4k1@g zPe|RHl__6b;A)3F4WoqQF?mK5?vxph#>dFn)6u(U+I2SVkqvi17p6VY*_JJu0dI7q zDz2kTCG(M=b!dx#OGv#1pF$K)Ty2#w;Ium0XjCBQ@;RLoF1Pqd1I{T3gLLi1_UXCJ zc>e_Eylpl>*U`Tx0ndiH7Tev-m~GLNl+^`OBz1C-z?t@1L0?!Y0%h4MNzI1o*z)Umsplc6 zpD@N^h(u-GVGTUQPAUkySwQ1OMv8O^>zp%)mEdC{ibk|pf@I|72vsQ_Z)gHFG@B=G zXyU$Qhr%C`Q24eX|k2klrxX6$7()nZ*$po@Dp zy0G_sMqQpO)<$4g`>DuEbfP~N^`zEo_}@dIfD#0aaV^ADn4M3OQd5+A$>{sD_t1Pi zW)b0=ne`5v405{20rbe)NDJdiafCrsRifDR}fo zrdwImIPTbHBSU49hAswOOCz}U+OgJy3Jv{)L+3+a7JgIBE>VPu{AV?)Mx<2DvlyS< zF<$R(wcEiW)}vb_y=67+jGOt8gbVe|G?C!)ib-dvHzP~k}=EqWqv z-NsKr3hkUg-$B;{j8uMreR8t#!h)>w_8iC&D@JUOY%Rinq`~<lNJ+J z8|u7C^R^>?|4^SBkvhdIt{^_|ibdF`jE+WE-1Z~r^z#(Ep8#w*W9NOCYAxJ z141v{dXi;%cGpS!uTfj8GQyJGyz3SO!2&R0m9>7%#%3=SRPT@JWNuLu6}lTe4~V3# zNcJY&Y7E{>Cbd}V7h`)Qp@s%pLY=d7_Vr848r7}9PfLRP`WUc!f8Q2>YG*Ck`RoKz z3+Q)Z3$_iJtdHr0cX>Wa`|*nW?~s7t-Xj*C*&E1`dq?me83FlTPJ{Q*@1glx2f2|Z zsj%#=+jfFDT9WSe!#hjTxPxsU-x|5+Zyp8xgBYno)A>+Ma*G>Tpd#T2#ub#{4@U-G z-I)Ktj!D`G)3>9cg^lm!bzTNrziJqrjkl#S`x12P90w74tU83FC)RQlifTl?;7Tev ziXke4q%Z-CTQSsr1ue5E(aYmW=>J(V-ulL&tsl78Z>eVLvENyXPG^q2QyM{A=O_#Q z0BwcLSd;H%`IQr(z!ZFDuN}TIF0oyP^;NbRdoMHZ7zxM&VR? z&wZZVFL0_znn|Y#-#W;tF4HSPR!&hxIZ!eL^E&*EYHb@wL$G!*Yb=y$d)R+ZQvE=( z>uPytpO9&Jln@roxsLOL;jrw-g4B5V!>9!N34O}l(SykQ#p=KE0t!48r1l3 z{R!#_p;CYod$=MiY}z(DqTDtH9fH>TiVKEC5RrfUDlApZhC03BNfPf+fL2$A8;%7!J6dL=R3~ti&ivZ|fUO;SE zQkhnh)ms$u+jLSc!?@+)SqT7ufh5M19ZDU6rEK*51A6LHsx&ut=zKK* zX(0=9p(8D`dkv>9X`@5Fc8rMlSmKxRHVm1S^Rp#GN$pnH)#IVbCp&UQy05#0%U5cE zRz4`>N8cafKovjugaoCmhHdEimhS#YYFWcU8yHU}9Dz5>EFMh2-|%lTaJWdj?Qj^p zK1_@B@FlM%aZXE!1yLN=w<|HR{*J?V>kd!Z6NLQ~GZ}N+#`=HU&~yBUuxcsfAlH=nLLdWB%o5E(R?l^D__7%Fsh zB@S36EZoRHu16~ZQ{VJ+cA?wFLw*&39NvBvBpVDJ26^wc7_xg{Cfj%B$jzh<;MyvgZ#s zfR7=j;)4}$Vv+hPu5cgAx1^I4H%0=#Z08zk40$ZCbeK{j$=5CaVR?CKMV39+rCz-2 zl!y3c{@17_o)uKlVkb>1l#WKpRGl);aSdXcHpOJt0$BfZ0^~ZO!n-?pgCayF35L87 z2*$v~u@W$2@nmc*gu)Op)SBX&g0pMJRq*Lw?>po|$HCT5vrNR5JzZK<)Qvdc*FdW( z!v*Qk^nK(bE9V_X`@Y0))1>38QV7uiCo33=y(pwr$ojuv)y!2?7){_;Af0~)ecVTeW#w#ta3mmdWHRywL!pg_bk_}eR z`>Ki)OjmQ|*Ikweo1U}yMn3%?&QcM-HpEF#6y$8x;s$InvpjRNpN1DMCM!>rePMgTG^@d<^iPzp6bpx8 z`&F6TbUj&-0I!l2HzEkX5GUOlx&XCgRko&7byG$I!#x9m!DU(eIzs~nK1NvwAo1ak z`!DUPFWNevimlKm->D-zE{^iQlI)88GpzJCZK9x)1v2qJ)|j6DS!nCsl5(vblH!7#NK{9g?th^>tyREPF0yK`24_hV`R2aueE ze*Ly;dLNW<(%Z%Zr}(Z!-mT#3{cZ6g%82z|)`rbJXm-};Nwqp_{Ysy6V2oe136mX{ zPf)UMV!_9Np% zT!X&JLBxk7otR`AVpA`arY-}m_rLn+fHU8oN@|R=N5By2?0VUA=8q42D}>f{8Fp*# z#VWa4UX)yHVSEZrk%cR;9*f%g6sKF6@iDJcZci~s(x|;*@An+T~egX?uo)*I&41E&V*$NZ-c%X_4bIb@GJ=!yiq z&_7U?KTND}5I66#9iNHdjHAD zXJhO@QGNB{i!*K?4&*(mc(jQn<=G;A1@X$F;aFYfET|(Rpg$2kk!Qb0ycqVbeza%Q zo2nQN|4IheOsE*VCqLIO2zmCbm-ft!mXP^E5q;uwnFhZCFa~|9kt&M zJn_$T_4!OZn6JpFM<5S zyep{=8oShLh0Tc9$`>MqC}qGYwUH`ueEpdP56}TG)Sg~(Bm*0vdNP-mCBnUPHv5{J zQkj?9azf;-;HOi^mA2QozgDR`PgTy?gARv>N-`))nFFG&Q!E)1ylFQtuTKf9Xt$Jl zKD?5c&c|mW?ho#NvTp>__}>Yi!gA0l(sIMPx3vd{&L!0&`9WK12BT+s2Hb&@_2c_* zNF1I^X!o!9vQeIVIFGPPpNF_rI!B>ReVjY~O(^LF=4|e4qQn!zl#QckmmtTh5?XA1 z-Ob>6-Ccvb z1b2c4cM_c7?(Xi>x$nLA{btR~n)6S074%wNr>pipXUp?@UIPawb^25<&HR(KAb!Ip z*sufp;un+^?Ar|nI+(db&^h!3xw!g;413En*;hGG?>O}?k9cH_r|XN%307<13C%Gk>=AZ9T! z6iz~}l`&tgP_82qRa&S}w~U`GFS4VNTP|pAI5|T$&qVBbe9)D+Nzi7Sgh%Q0%e~(} zEGFaAQ8Awt^kXq=ZkPD3&OC3l8)M#dUIjE8d{Q2W`Qv#iwRO6*WC-4Xb8;z*bs4MV+`e+bIU0Eda<7NkZVxEhvk6?Cx*s3 zb8eo0xXEmSR~LF+Y58y{K(TS`_8vez3f0o!e7UWAmE<8Haz9iy`RYkhtQ2tFIYr=o zk`bW?yIXp4i*M@!)pCYUJsrhRNWG3k4Lxd9-uxj~El@JQn*2B(rs8nm%gS<$rh0sP9aK`%h&@}$F&DSbyNpe+iOnT-Nd)pjte=r2=VbxJ zUhxs5lT}|81pHH5`SB13de~KBAD&meo-M2x*}4|5ncri8bw3v{)%SlQtCLA21UpuF z!UGy;rO;Z6#~dFqaZilcqb9o}uU)RbWMIISarFySPs$#`+EeLlS_)L|1)z$|x? zHL}9L|SI*Hx$iq{Y?B=Nx%=Bx^O%M>VQe-8Rx662QF?gpl2NdR+m*$3ZYh{a7w zL{o@|gkw!C3oB6__pyNQX5$+Cav&Ana+Vq^y7;P7cLv` zD0>pMXl2VxP#@zh+3h5#D{QwEW>BGTOW-)ij&FqxHN(Y08w-5#nO(;MlbrU^T)&-)0@$AFXfhpsc z1DrTOQj9Iv-TpjDYrqq;*}Eh84C!osg@6D}sj!gkIjC`@ZlN4VM-Z_lKDPe*>Ri!D z(2{kw@=>)R2RnZPz6%le0y=|ko+&@eMu>Y+oR2b&%C1Opg-gVNG};pt$c4LTe8`5| za>5fgBX&DXfm=?2tL!?QSNcoz`c*`duNECq;4Lu3B+1MqNnhmhb?S&1FLA?Vhe~wk zJmdaj#$4Lco@tq_1S(QJiiSIq?X+^ZibCG-Jk;h~m+~t++&V*gOb7)5lVb~*fiL!S za7=l#M*74Q|C)ia$YYF!ufku!)*oJ3Xek6?BN9HQ?}Cw)iNE4kaioFeWquZ%Yt|ip zUWZod?BCyBO#PoCZJFZ^rJnkq)8A{%_+OQ3mW<(VgPc2jt;_WJPGD|0c3PMdJ9S>k z6Y55=^hamdm}5;=oZP8+P=^S|bxrQ`(6U8t8}Yd;@}nSu^4(wGz0rYPcN*>0g+ZLT zHq%dEBXR}JW4WEvVo2`w1dWfFf3M}`?OFKGs_+M&-H4@`uRW_s6+WkrVRoc(20DgvzJ?^>T^d>(KVkFY7{mD!H`8$(d!%flwbR>fU8(IQphQ0VIG(vklTp5tMXrM!Srl}qn4=Mnv;tA;;^JMXBO3YbtO~-)^`_A6Eh4Ny;h~A%TTjHHlNUUpY^ZL15bUfWwR_3|$!21IL$Ooy)(qph zZh3PbBgmruQa2GeHgkLvLft~>S6)oSfd`%X#poD%?qb;iYDn5Te(vT2QpU8RiZ7VC zByg?^qVLxm32Jp}0zZ$^dYK?}Qa3Gxh2&yTZ=RaH{wp7U#tXsPqzBw*XNrv~SRVK7 zciF*;cW!ipv8I7g@Cj;)6gJ`xGJH95;uahmuw}xoZjJY2bngp;n$0m-;M9w=g|Cmd z>5=yV)=e{YH4nI6YUKV8Ro?X|f1+L}yI-AQXVAIEooi;JD$l?Di*xOFoZ0SNik`lQ z5y7M9%h+4Ram%_>UOFkl3RlnO6-(JNEA%ZCac@)Klab~#8JXO%Sjf-aXwpaH$}Rh7 z8+asTol1@48kORPcT9Om=DX_)f3L?MV(JIz;EGa3xC%vPBlc#wY~o=c{6OO_kdano z^pkh}mW-p>=Wx%HpkL@;>B45bh5ULDN{D!N*B998yI|pkn4oc95Pd^ROmI$HaQIq3 z>79#nuld{Lyw8YG;9%@JFk}oCuS++4B}1acaSyqm>ejy35>mJ?d&A3@aI~x`jdK|~ zg(D2b;}O-7re;$%ob$yQvu}Bnz^kx&TQUTXGxYV*RBm@Dw76-o+k34Nd~3xC`6N9~ z1=po}yVY?h-M-=aqTh;u8l~-Fd6@lu$NIH7B#E^Qo=|JkF$En};so$Y-EbVrx z^py-bPFfgnsij&5%$+i}kcBZm)};`@3E;SuSS}TaRK1muR;^eEFy=Iz#})0v^M(cQ zh=A7aIE24mU<$#no<6}$aFdQ`Lqp>`Z=y**$yo_IoADe0L4A`92?*r*j=J;w~y#{z&lewf>qq--QC}|<{1oIo_Dc~StkctNu zUy8wP=g8Q833ShUE0mn)o_w8Oeps(L-1vpgpy?1DAt$|~ao^Dt>WF>xviAP4NFd=X z&AQkSGgHes`@ovn7p_4Xd5^P92nSkmOSg6=y%?(Ibiv2dE?`_QY`wl0rYrdEr4(q{ z<~P0+Tk2!wrA)Vk;Ya5W#w6UV(%rsd1%Vn1Ps0k9JcpTf2CXQut5LAenja4PJTwcs zK33>aJ$#N;;ILAwbK=wuEZjg%MtW-$hLLHQ(oKjwS+Kw8=s@1tMDznHoLsF!A~7PJ zEYykE&KxknkjG)(EVytZAKgFK)9)dO+<~Dyt$%HeseX(f?m6uTa9Nqa?K4Ji>^tBY z4WJfDCc7_8FhVV5lE?3a7Sc_BNca*{H|0*bha=kig%^`E4MEP-jTmr3ZjBUp4+$7A zCuO>p>>0pCQib!Nhqykb7E>cA;sjU3YegZjJA3HeKvth@VI6H5H)G@6&o4YnIOiVX~&pWLqA7XP-?9R0ZdsEeLOCn_CL8-UkFZOf0Uo6PM9wcg}b&l5MoIx z7F5Oy-6rs5dg{e)5|?nGyX2^sWFTitEuRqwAOBYIpQcK+dkoS0y$E!Jmfj&!7^&t7 zB9=R%6*~MnhcmO5Q~rQ>T+u)D^eZtcOwaViUen*DUH(B3DKBM6G{G@vMD%50u~(KReNqlABh-bBqQw-V1;MbpUsSpCa8bbk|^Z8l!Few_4j*cUI) z9YfGzY^d4%^G5cMS*U6x@35!hK-@py+pw^} z0#nx^Hu*s+pCb@F!#N(<{Op!C;qpzp54xn3Lm?j!bg&>-4gfz`&?TE6aVTkpxDx7O z>*X;2+al5JG$P-++Xuy=#c^|)ewA<-^RGwih zxO7Fv|Dum^9h%?#)f##4VrbZyAZh+r z*HAO|*Wzr#i5Uq0sMC&I*81C8{ZnWTc<7~lJGAX%G{#m@)7D@bsM0V1-(m$?Rf&*k z1&bM#ErwAW>t5Gt8KpmHzdo&G^M%)yZ+Sb~g!#N$xNz+^AT^YOJKFuW7voyLDI-~H z*xJLtTFK*$MX(ynnfW|Iq3bHf)f%p9ms9S#_d_FEa~dZNh-*{$s;H`igw2-yOQmmB zF4S5g)EXj4i{OGQD_A9tV3S8l{KjTZ8&(N~ju~~c%iM`?<|tGVl3ySS5Y>&i%B-W} zZAG}WW3AIVhx2~wS^jS=Hz>f2a6YSY`;1Wd?2`_fB;x0foTg^gUa2jCFKK-++9#!+ zzeXo+@#HmrZ;FSZZuzdosj{WXrsNv!v>>&$g9^vgw-P{bw?@c=VWfbA z0({<=d&7c7OS)Ck?hxI&qZm*Dz0iU1^{aC@06)If{3FMgrR^>`c|(+#D6>JA;YqDr zSW_{o>g=mN^`zCw>;}vqfz$Sl%8}1(0@Py)GtDMw2yFW;*)3;mD9;w-w5!5T(SSAO zQS#+*@#sv#rmhZ@>ZrSo$wytXMq1(%RpIfhidJ~(OUU0Qr(y>T0(9wz;7%1(S?$V^ zTg5nEO+vTU41p(;9n{B=3TL)RtGGyT2fRPr9!dGE2}u;rdnj0ebaUUHUtd`m1S*I4 z#GrA~<#ZNfU%6q{dgkMm=m)^1N#s`NJ)rhd=|_3dEYS1^`Q9*e9duxTIfTBCe7H@- z`}Pd|7>ixUJrlWMA^P*R>{tBL(naOX9Xw@{O6sD5_WihaQKz*wEa()7L-tI~SeJ3q z@$Xd7&g*x{Nmz3g0X4y|imX-(pmw zM`^U#dc80Z5G8FsAr!b``2v+Y7+tb*9qu?0^Z$Cl->WF0@ZV^ZpQNNy~`NL}GP#x@USgS~BWdRL_cBieX)R z-Zt^m8Q#_tcY73cxxAmW|s z)n0ymGR{dk-q%Nx5l2Q6|DML#e>^8eY| zPQ>~fHD6|}UmgIGwv6}n0{OMsP@Iv_$dS;e=dTN&eQxSg_gm9ALtm<@R7_XIf)9=OHiA>e2w+;HViBI?%Hzk>Mukj#Pk61ltyOjG?%%P7r_~EZ{ zj%sxx{kW2V=E9paRKUd8*&>l-=~KkA3+x#oRXNGhvy+$#rF4R!>HQ+|NcMSU6-9tYywsmYWiPnODbrS{EKx#hS zjmXc-Ri?&I{cJ&i3;2oNDs5~sHcm5#Dm~lxa=;pe<}UVl+h(h(J8W6c+{LR4Do2eT zSmElc&5G|mmVE1DkMk9W&5S^Bp#$V_QMayq=^dTNRrdK&#TN&AAQ46-|0lSKU*VmX z$Z;7~_PKk?OY6F-NI5$eK$QII3$`%uJKxJId;1)K9K z^cuoz0-+2*S(ByGZ&1HRmO2MNY>Ush<{syGaF(Jt7H3?-J!s>Z*TvNNch9o~?j7Li)aoM3%nmdyFbS75p!E1;?m&O@yCDCHO zhFr63U2~j&_AchAu3V|K+~+xZm$f>?zt4BAc^`iquV~QIp9+U&P)XhC9cl|T=uC*_ z=42{~VwQi|V{aqbr#WiO7<8VG7GM!(uvv4D-tPL`lWcRLX^9?rETIJiXGZ-&D5Y1~ z$agIsFTfU?B+>vrwjH`uN4mrcJh?>`8{Ta;COS%9ba`5UA;nD;9xGCCk{G z?Fjob^M|6u{Va1)72vz#vjvZxs`YY0e-I^$4};epg1N6kH8bd`)!!!Qvr2lOo}|!n z<}Sa~2Rs9|$t$!ZZXbVrXf>YXyCzuf3G8|+UtJQm-fp{P4%C+3CU9j6CFBfUbE8d= zzD{J}j&osPB(P%!3YPpH41$N$D@?3bf-#atmQNcGI_?q(?a0QoDHP)p4N=Mu9-sOv zeQ5e83(MK-{siVN>!c;`1=CaTa|_fj)mQ zSh-e#_GHCKl+aTGJ(txjuw@CysPWzs3(w2{f{xhAw3X^J6Hw}r)Z!a%Y$(~r=&88L zv=1|!r_KH;{$CaYQ;D0SL3uhDKwrW1-oVK0cF9u-dtknOr_%#-e-qThhNPLE(|w6X z{3&@Mz9iA2`7XT7Nhl#DryeCQw zBdE|)-#xlsB%rD76I&`Ak?cYV&G3Did{A-}CB_*gu0lLfq4&R*>PYN40H0~rsb}8c zv3rdXa%2>V_$z{iVoE_74W!0>D`5Rzpigfd2k|+{^Z#L^v@*WRMfvr4G9v7ZDrZ(@ z+kyB!{9|D3XnKjVzjv=4=EhJ`3>bR$(8n*hvjaY}JMOS03(lRJTYk6E&@KyL$D_0n z^pxk#sE!er#Va6OMHrywWKENQ`)WmgeZdK$iYCjHLIG(?`$y zaml$6;R^a1a*%&Vku9Z=gc%0RO%Jaz2lh*pL2dsiT3d=2^AN{JM5AW=R>|O}L1-#D zc(LLi{Np??fr9rg3rD7L=nT*ouX8yW#p!2qLicmrbb3}a0vx|h+md2mVXfb7RD^hM>TI|T?O|>4rr$3Q%Wc=tk zIM{G9^ZfA55$`5T!7q(7<82P#>A{)M`jCIE?}#x)aJ^|F4noVfw9cW7wOw9urOHl7 zUXR#hdUGK@v@UHxU%m4ZeN^_vP{EN`y*#)!V9;gKrD$MB;&M1*1^j(ow)Ra1yv043 zv?czfwDS{s6)0>IfEBSCSHxh(KclN9@8QSAUs&Z`W|@VTfp0;;`8$?x|Kqu-Os&=Q zeQnbUbX+ivXaYiVB7)2CF)=;AOk)>033bWK-RvlTr@)LrxQ3jy?^Aw5~xxhKp+Me<1PN+mwHrnzub^2T<;A$A2_4O*3_*rm~+K84S97P0&k zhgY?u^aLn@&!u_7k&6{ET9Q@_6M4cbu;~F&hR23sZqZ1BZj>=H##c+P!o zwKt-I^z}8FoS^5@2nGTg7LipsHgZ&Bi(}=#tL+z((jw39)1!FX3;3?3Lo{3n_wUT+ zwH4#UP4_tnctawdYllH*x&ab*sTU-8(|;8zlR%S0V%jrLg1yO50-)Jx?|LrnyHvv- zf}P^~;a?8+`?7^xaeT31k>_zyv<DTo1-r2Umd67r&Z|HM{y@ zJM-(p%PbYqhesLLR70e-c)!l;q2PXp{1t4sB~dLP?0`Mc(5pI4j>H`n zU3WV#=6=sOa|!ua6Y@el4l59Juyml2v=khb%x({a8_{G=YH8 zqE4G^Ba0V`Msx(nq*^x`kbTr&BY=dz7vhc~yqtW5{qJ2RDPhordE|1TK zGaH9X|I3n9_k`sR>AMndWZ41lUM)UHQfiM~9d3IZ46@Q%1RV`;W_s%|4sjVUP;)vu z)C>~M87TXrde^b0GN^LqL6Eyx`3=BcX7HUkb?W=7SsTN)&Ogw)ER8pKaBDw0GVXJ7 zZp`wL*7|v~henIzgDTQrgc!a3{9q|NsVJ+yS{V@%+?!M_8v%lFlyuqc=oGZQ$an_9 z$G;zv6Y#&swouPFXK`2=A`GE(67kUz$Z3d^QXtO8$&)4=f!!;-h03uy*O_^pFL>OW z!P{kj7s@(DV#;L2_j|wQw5oGrGH{PRn(5?>&D#nmC}{G5ZXjRZ$~?Sg^2tW>-7xJV zR*$}U9_tt+cOMN)9jMVXZHJX5!`!RqJ5FE9h3VD>+A$S;Ea>2XEeUQJgg?uh18^e8JPR%Gl0rRLPV|GHkN?G6%J5$a#2*TG;&QNbVD3 zBH`n9Zw`KKx_MlP%F5xR`hBJa%@7wEeGio!YRX;tye1&#{Q_8{$ zKUq&To>)3(x=sQ#>=Y-Ekq7of^m8G9c%P0t0lGt`A)LKTQB#@*c zV9ReiV>q&A+%)Pj66Ja7wwhMwqF)cWSlAB#tk-{@^S1DokL^l#H}LiuJG?xZIPR&G zLXA*O#>4UZ^(gXlJ!S3c`H4QLY4`)q`nAx|FJtkb5klAjb_YQVdGJiEVB7Hl zhjF0%+u(z50J(bgYM|}iI3KQMInX#W1KdcSrsz>gGUgK$@P52xJL?p`*7OuglVLLG zmco1izcV;nD_OF9xI~!C+S-vkX-f1ZzJ9=sbZe5FOmxF@DT(P>zl7U6c#V9|Xu?^?wFw;K7|OYBW!hg8 z)-*m=2Q^~qben8r*tjAn`4DWwteUHPWP{)vA>54lr9TiXFHu$^8iKmE#Yf+!kgxaB zyMO(EK zn3M2NS^n>=G9#->YDlmr@40(Ogna^B&3FeQ&Ah)xFF z%ZYCo50)xKO?Xm6bvMv0DLKJmhXInGO01V``oTJ8HGdd=KEcOIU;4~p@BH1rk$q&U z9}H2Sm2JZt#@PMM2D{7!^XI_yWcW%m3-iZ$?otwfBXRG2B%#J}m| zUV43N(>NSY6^2r-hTGVYRj_UjMVgVzF0xKzuJr6&_%U+$2yIi1^fr338wZBbV;G1` zdL4vk`mo{c%GKJ#UKffm19}-UW?&EIjD4B8AqywarFr72())fdzmz%tc&U2sm++&k z9!Hj>WwyUvl^#WB5|DkpFX#lu_i0MRl zs%2V&;Jf;Tu#<`yZLkCkf!o!QfOFE+aqsIVLDeS)>t97x`AilTe3JLhM_EbWlPLO1xZqLtp)w6R2)zSP@?%Kd-7^yqc5H<;t`!dS8W`{K z-ek_My0vI^B5)aL3cuAx{N>TW{5tcfX@TQEJ0y*4uM*i#BUa;(>aEeUXo#KSt>BVm zOBJoK;=^NS(uUU)l%PMqDmFAew4_0?-F(<(2s>h(Tu51&y}G$2%inBDuS zE$&tKlNaT=FnGAS&{K{&NVe?tNsAA|8V~8kx5OP8uExm{MxYa^ET3X$UwvnvU(>XE z=Jyia7eLOCq#cA?4k>F$KDAJi29c&k;zZo25&4R^RD;^C zXsP6hbl`O%fyXYIb;EcS2b#zHLr;V|q*+$${q^!N_hW+e>;ce(tcsfH;#Or3Pk6o|&lyQ?%E2BDpDsfB)pUxyVtI9j;owN@p^S0yX1 zPz7*3lR>oKay1#_aMVl=-P3w{`$0c;hRvIuT(JktF70YwM4xwU5Rja4EDG@yHE;h3 zek&6yRuAB)sQigb@!GLjFXs<}Ge$xWQ4{D6b*hxu^RJ}8*djb;vOem-G<}iS_743Z z*0|V$)=B6cq;|nvACRoWHCh@Mna6)bFe9O~rlGh-xXR1g-x+AjToY_XCg(Y006%MU z#Slq`jdSeiyxmcJH!r{_H^x)2&&cPA+tPd7%VPfy9PCUxjq~TN(V9 zLW4VdRtxh^XJ++~P1KG1`(7O^D1Ta!B-D3tZMY!51b z?|k0*pR6VDzFJ)}47CCkB{&Z;796_^)U9{IRU;FJKeEVbhN8hIb!g2F@dm#!DqY7mDptp<| zgxfq6@uAp3V}gc)2?#JqnuZCIpk`zv&v)295GiQw?HQu|Zr8iL>^y2>l~HL!QrJ}F z1qOT-fR7+^XY^RqyhM3@7IUP*5Xht&%+S*lle=BQxZd;bx$E*WZw)jKe0o%E7i*6| z>P!zSJH9tOB=`unEu*BVAGajVoq>*D&M8gcSJ4jl(-nnByE?!4=7T&pZtqLSJ=6Xy zC(~}t=V1x~l1yC*4i7AW^s~^Q1pZjN2kfpeh`xJq_Hkatg70N;|D#c_9st`!$onq? zNcU6&U7CBO82Pjwt_5WmB6nb2B<>7=vpV!+)W`dg-uXtB*)j+hgN|b`rN&S3A8$7A zwvjh0O!sj9J}97{9_VIZ5Id6lqc1u&oN5nKM$MyiYe*r(Mj#>U)3K`MVQFKgwn_x{@Eipv}JiljW3$8q| z&Iq*wRlG)xdcQ>E21z43Rzb1L@kL1JF>Id6Y@%Tx92dD}eRfUM%^4Q`{B<=Gsf38W zAJxlcJ#?xPc)7?z*$%`H!{4{t_U+JZtj(LQsE@hPhBdYR7)%Y)q<&#NDejDXBw0G3_p$|}=o}gDS}u+#yUqu6KODKJC7Sy-_R&-X7}p(*#fh@%IY<=Le1zXu zICY6>UVDN6te+W tda70b${sU2iZkB{7VfB%cQR| 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 literal 146137 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 literal 0 HcmV?d00001 diff --git a/screenshots/profile_configuration.png b/screenshots/profile_configuration.png new file mode 100644 index 0000000000000000000000000000000000000000..58c0486de8ded1b70440572501f337279f03faa5 GIT binary patch literal 16010 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 literal 0 HcmV?d00001 diff --git a/screenshots/profile_import.png b/screenshots/profile_import.png new file mode 100644 index 0000000000000000000000000000000000000000..4037f119fb35feb57abd9969a08a804c11ad7d69 GIT binary patch literal 140489 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 N{280m7}JZl{vW9WapeF2 literal 0 HcmV?d00001 diff --git a/screenshots/profile_management.png b/screenshots/profile_management.png new file mode 100644 index 0000000000000000000000000000000000000000..929ed37f760646d52c60a1348ea98534170b5e3c GIT binary patch literal 5208 zcmcgwXH-+$x=n}#ga9HfbUYTC!d9xZAfSi{f*|D}5TvUiG%3;&Q1AePO7C!xUP93T ziV&npSCAT{MTnG8q=%9hJm=jp?j84zcYnPf$=Yj;xznN~@%POA-Q3G@ZFgWh3~eS<=s4UxrQ@rmSb1EqxYe=BsFrzNcTNH;`r(;p zvQ3gpmN=duZpoM2lEw%jk0LUoP51SEPQ9105*c2FQRX-s1-O0sJq-4up(23*7Z*e# zqvO~BpsfQ6hm#y2uxO7eFtkm16a=wPfB4TZVaB%RW~H9R*pM&sN{vFho9hwCRE6N3 z<$*ae$A*W-PNDziB*L30T0dETxNOHfOw3WsS1WFB&r-yR)CXoZAfD7X?sRap!=-Ty z;eH%0$`vONP(V$r`zgtFn=F3p-rbBi%-Z?@dZVE)ZP*Ee*bR(#DiX~MkypL$3%Qnd z=xi-2=yQ&ig&3-aVJf?we4v2g^i{$M+J+7!mmYH5s{%c0rXxmB!AxA%dk+K4xu5XXmlfo$g~ddY-Lry$ zZA!t`bGzh3bZv0%I&o}Sx>f_7YNt$WV>v?;;NX_N3wDG6TEcf8s#Kwv;0MT!Y%$`* zLviJij8)BVx*l^spFJs2cHMm2^`-AsG?600+s1p|WL?-YNfephx0q>{-1N{_>VcD; z?I2a!%*A#pv4yE+9RGS=)on_#qdX!g&ou1g_p_^Mb?Q}%Dgs8-T5S>S(R1s-+9p2I zSu@pQ(&+L-cp7-T;0xK+prMJHVsA+n9bTLzR5VSoVKjoWxkh(4hjHhviQpc9kYb$Y~*bumq)B9}0dj4ouawQ&ZAs~cU*=$Rn1 z-4@T}_ddicG51`wRX>pLUsFd~5Ib|{@iI~T%;(0XL;C3lEAB38 zJW7w?s|oVo2T1KwMZy1shejtTPj%DpBS zAd}YBwT68MxK15N*`yi>Q+mnav$(w>lA77&8b1{Opk`gYTlt4W*XHcl;mr0fBHw{V z-AIQIpQ5G~9t|M}+!FOL++Jd;Ce$`83k)AO5zkY%ROR_o=a$0HOmSqVRqVRO?D))E zNBOXceT6;M7vqYu^2g5XQ}N%NowzwW2aB|&SxGVdEqs(-*H!`8=Agp z70&0RjBSeRw$};g2W@q*AQ-HG3em|*e6_Y;6mcy zjmC}rV&$#uq@AH`-;Y#U9{XJV4lRP%vSmtaBRWd#^;5UV&4Nn#^-fvQDH`RyXiuRn z)TNfnKJ!Q}%-WRC^5L;MMz*{~X&09AWxj~;^c(gu&IsvBQp)~*+&57Z-#?e1)cU^< zYbvo?vKaDN3gNkxq&GMinvGVyo9C*Emo!H>4$Uqu{^q)GnAiFFQRpbXqW@N#717Bi z!=TZlYa!qEaq!?_1ILY2@QHKdm&;>(C)t;b_$gqAPKSVU)Hfggq#%PJgVfKp{CR8m z=ahq9n$1Cy%5nJCah696Jhpd=AMChtxl|qzc7Rz-FTBA51NK5|wD?(#2tz0;?T#5Z6b<}@k(`zo@ABwua*8 zWHb`i{CaI*%XOnNPlR-E93?2Zmr9NKi66N6q==H@;S$5YnB-*$37>BXDq!dN=pEm} zE~+m_B#`2q0|L93SzhwN*DgIWkJr>)S{$FtTaYHAG|Uca678f8yz3vK&e0;EbA_d8 zeK-ZeV~+Xmi_64I$(}_)!!<#O>UDWDawkKqvRQt-&-}J*>52qewZ}9$Ve+docRO`9 zJr0wDSEvik(ENB)-25p!pS=2WBG~%2;lP(zlH$EWwdTsXqtIpJ)cvmQ5##QEbl9Ul zP7W_f$`PD8yqMn~OG2TmgRO!d+fk~2t`5j*G@3QeZ(CxjYYZB`HOQcu&QloOnPcBh zzrsInwKAJ@pYTb&ZZV@QAG6sdSpd;ixLeAV%=LAQTKJ&K^QF90X1EDcVNrxm*@1MZ z#FN|CadXI*$P&DI#q}|dx|#OKR@S#=k$jSLqQ;DM5zRK4TMYOkBo910 zjgj#)e%}6bIrvmBiCfXz-i4ESkL3Ud z3ExEpfd3NJ~hh+BWB)zu3s@nG3^q8 za5+dBa9}xv$VI(;ZSWeUg;I3HV7;jB$U^p*(BHj0LC{`TjBy1BO84PhB!xX%R^y=? zHIKCwt>7C%4N_iCM^DcG^xOL|w}?2*ue;=5WMBHpe0JM#eJLtowkdXI08AP+Aa`$*16YO#?Ij6Gi9^(p{Wcs zZ9{R?OL6wiVxAh2Mv)ZAKjv5rCk2hUfpELBxM`{v40nqW%aest_TODS4%} zgS2}*7TmaIY!icu-K>?SbFy%)c_7-IDO3Erm508*`t`T#SM%oGkrg^wCHwjttxyLU zWcPTupFj-u#@A`Wi7vv6lA@bUd794nH`q6=0v6BC#@6zJv{8FCXPj0eW{#woygyQR zVa4bk!qznPb;whyb+IoPI?=ZW&Q0*rw~N^IprB;wDqJhzuu-m#sygDZJaA&{9L6{W z4DFQscSF%{n5OpPu=U{5$j^#;G?vZxrf6t54AxMqAhE(%b7CyN8GFjyq(MN#EE5-g z`i;RqNT!C+&~`~!X(hDLl~j^3WtdKb-M z4E}ZIY41Jc15RMP-oY}k?&`%5uj6z=nO+2bFLGQ|cX^ZjL*wkcn<^Dx60^48fQZUe z1w9(*l^M7EG;wslK{nV+fu-g!12Q;|%ZcOAE&R&|#!}X8XQ@kq9S1YQ^dL&op9tiWn86fRK!y5{(Q z4Ur(IXbJnA{TrvV`0f#SwzC5c+)^z!u!&Iit4TG(v=tm946eRo2lirm5rK%jUZ5uaSL{krGa|0YSmsv#h?BD+?g*HtzD7HBCNpSMz6zBK46E#w6 z>9C={V;Q=ywyJ+*MaPjK*ppZEn#9oj15yZ6WJ;lqFguL*^YJJ~Z=*lx$vXdq9C?=d zD{uGs>8VSQtmXdEov8Q%ZvkPg{Ejt}`Aaw}46ypF|0J}3R^Q*U+qK|HI6rTj6P&cr zLwJF0;;VtKwO%l-`iI8{DhM6bYf5hn-=Q}bPkn5o_p^zOqNLfI+8j16Jb!+!ABfK+R3XozjGvI2DstA=fq!tjAQUB zM6mwtnSeW2k6f7rYlmpAb&(0#<|F5jyWW?4(e69>zlTAi^E&0^M)ZI22MnCJF*Hq3 z-Xc?G8N&X5bn#zEhYm^Piu5pypu6jT`W*Hz@5}!NM!mBhVkYrcJxyEDjQ-&dq<7U& Jr(6pe`af*7#Bcxr literal 0 HcmV?d00001 diff --git a/src/main/java/burp/AWSSignerMenuItem.java b/src/main/java/burp/AWSSignerMenuItem.java deleted file mode 100644 index 90fbc07..0000000 --- a/src/main/java/burp/AWSSignerMenuItem.java +++ /dev/null @@ -1,50 +0,0 @@ -package burp; - -import javax.swing.*; - -public class AWSSignerMenuItem extends JMenuItem { - private int profileNumber; - private String itemText; - private boolean isEnabled; - - public AWSSignerMenuItem(String itemText, int profileNumber) { - this.itemText = itemText; - this.profileNumber = profileNumber; - - // This looks confusing, but "enabled" in terms of the menu item means it looks like you can - // click on it. We want disabled items to be clickable, because they're the ones you want to change to - isEnabled = false; - this.setEnabled(true); - } - - public boolean isProfileEnabled() { - return isEnabled; - } - - public void enableProfile() { - - // See comment in constructor to explain this weirdness - isEnabled = true; - this.setEnabled(false); - } - - public void disableProfile() { - - // See comment in constructor to explain this weirdness - isEnabled = false; - this.setEnabled(true); - } - - public int getProfileNumber() { - return profileNumber; - } - - public String toString() { - return itemText; - } - - @Override - public String getText() { - return toString(); - } -} diff --git a/src/main/java/burp/BurpExtender.java b/src/main/java/burp/BurpExtender.java index 0ff6504..740ab85 100644 --- a/src/main/java/burp/BurpExtender.java +++ b/src/main/java/burp/BurpExtender.java @@ -1,633 +1,212 @@ -package burp; - -import com.amazonaws.auth.AWSStaticCredentialsProvider; -import com.amazonaws.auth.BasicAWSCredentials; -import com.amazonaws.auth.BasicSessionCredentials; -import com.amazonaws.services.securitytoken.AWSSecurityTokenService; -import com.amazonaws.services.securitytoken.AWSSecurityTokenServiceClientBuilder; -import com.amazonaws.services.securitytoken.model.*; -import com.intellij.uiDesigner.core.GridConstraints; -import com.intellij.uiDesigner.core.GridLayoutManager; -import com.intellij.uiDesigner.core.Spacer; - -import javax.swing.*; -import java.awt.*; -import java.awt.event.ItemEvent; -import java.awt.event.MouseEvent; -import java.awt.event.MouseListener; -import java.io.BufferedReader; -import java.io.File; -import java.io.FileReader; -import java.io.PrintWriter; -import java.util.Arrays; -import java.util.HashMap; -import java.util.Objects; -import java.util.UUID; - -public class BurpExtender implements IBurpExtender, ITab, IHttpListener { - private IExtensionHelpers helpers; - private PrintWriter pw; - private JPanel panel; - private JTextField accessKey; - private JTextField secretKey; - private JTextField token; - private JTextField region; - private JTextField service; - private JTextField roleArn; - private JCheckBox useToken; - private JCheckBox dynamicRegionAndService; - private JComboBox profileComboBox; - private int numProfiles = 0; - private JButton saveProfileButton; - private JButton useProfileButton; - private JButton deleteProfileButton; - private JButton assumeRoleButton; - private boolean justDeleted = false; - private HashMap profiles; - private int ACCESS_KEY = 0; - private int SECRET_KEY = 1; - private int REGION = 2; - private int SERVICE = 3; - private int TOKEN = 4; - private int USE_TOKEN = 5; - private int DYNAMIC = 6; - private int ARN = 7; - - @Override - public void registerExtenderCallbacks(final IBurpExtenderCallbacks callbacks) { - helpers = callbacks.getHelpers(); - this.pw = new PrintWriter(callbacks.getStdout(), true); - - - setupTab(); - - callbacks.setExtensionName("AWS Signer"); - - callbacks.registerContextMenuFactory(new Menu()); - - SwingUtilities.invokeLater(() -> { - - callbacks.customizeUiComponent(panel); - - callbacks.addSuiteTab(BurpExtender.this); - - callbacks.registerHttpListener(BurpExtender.this); - }); - - - } - - private void createNewProfile() { - - // Add another profile to the combo box, or add the add profile button if it's not already there. - int boxSize = profileComboBox.getItemCount(); - if (boxSize == 0) { - - // If there's nothing here, just add our add profile button - this.profileComboBox.addItem(new AWSSignerMenuItem("Add Profile", 0)); - } else { - - // If there is already an add profile button, start creating profiles - numProfiles++; - profileComboBox.insertItemAt(new AWSSignerMenuItem("Profile " + numProfiles, numProfiles), boxSize - 1); - profiles.put(numProfiles, new String[]{"", "", "", "", "", "", "", ""}); - profileComboBox.setSelectedIndex(boxSize - 1); - clearProfile(); - - setMenuItems(); - } - } - - private void clearProfile() { - // Reset text fields - this.accessKey.setText(""); - this.secretKey.setText(""); - this.token.setText(""); - this.region.setText(""); - this.service.setText(""); - this.roleArn.setText(""); - this.useToken.setSelected(false); - this.dynamicRegionAndService.setSelected(false); - this.roleArn.setText(""); - } - - private void populateProfile(int profile) { - this.accessKey.setText(this.profiles.get(profile)[ACCESS_KEY]); - this.secretKey.setText(this.profiles.get(profile)[SECRET_KEY]); - this.token.setText(this.profiles.get(profile)[TOKEN]); - this.region.setText(this.profiles.get(profile)[REGION]); - this.service.setText(this.profiles.get(profile)[SERVICE]); - this.useToken.setSelected(Boolean.parseBoolean(this.profiles.get(profile)[USE_TOKEN])); - this.dynamicRegionAndService.setSelected(Boolean.parseBoolean(this.profiles.get(profile)[DYNAMIC])); - this.roleArn.setText(this.profiles.get(profile)[ARN]); - - } - - private void createAndPopulateProfile(String[] details, String name) { - // Add another profile to the combo box, or add the add profile button if it's not already there. - int boxSize = profileComboBox.getItemCount(); - // If there's nothing here, just add our add profile button - if (boxSize == 0) { - this.profileComboBox.addItem(new AWSSignerMenuItem("Add Profile", 0)); - } else { - for(int i = 0; i < boxSize; ++i) { - if(profileComboBox.getItemAt(i).toString().equals(name)) { - int profileNum = ((AWSSignerMenuItem)profileComboBox.getItemAt(i)).getProfileNumber(); - profiles.replace(profileNum, details); - profileComboBox.setSelectedIndex(i); - clearProfile(); - populateProfile(profileNum); - setMenuItems(); - return; - } - } - // If there is already an add profile button, start creating profiles - numProfiles++; - profileComboBox.insertItemAt(new AWSSignerMenuItem(name, numProfiles), boxSize - 1); - profiles.put(numProfiles, details); - profileComboBox.setSelectedIndex(boxSize - 1); - clearProfile(); - populateProfile(numProfiles); - setMenuItems(); - } - } - - private void createDefaultProfiles() { - String currentUsersHomeDir = System.getProperty("user.home"); - String[] profileToPut = new String[]{"", "", "", "", "", - Boolean.toString(false), - Boolean.toString(true), ""}; - String name = ""; - try { - File f = new File(currentUsersHomeDir + "/.aws/credentials"); - BufferedReader br = new BufferedReader(new FileReader(f)); - String st; - while ((st = br.readLine()) != null) { - if (st.contains("[") && st.contains("]")) { - if(profileToPut[ACCESS_KEY].isEmpty()) { - name = st.split("\\[")[1].split("]")[0]; - } else { - pw.println("Saved profile " + name + " with access key " + profileToPut[ACCESS_KEY]); - createAndPopulateProfile(profileToPut, name); - name = st.split("\\[")[1].split("]")[0]; - profileToPut = new String[]{"", "", "", "", "", - Boolean.toString(false), - Boolean.toString(true), - ""}; - } - } else if (st.startsWith("aws_access_key_id")) { - profileToPut[ACCESS_KEY] = st.split(" ")[2]; - } else if (st.startsWith("aws_secret_access_key")) { - profileToPut[SECRET_KEY] = st.split(" ")[2]; - } else if (st.startsWith("aws_security_token")) { - profileToPut[TOKEN] = st.split(" ")[2]; - profileToPut[USE_TOKEN] = Boolean.toString(true); - } else { - pw.println("Invalid line"); - } - } - br.close(); - pw.println("Saved profile " + name + " with access key " + profileToPut[ACCESS_KEY]); - createAndPopulateProfile(profileToPut, name); - } catch (Exception ex) { - pw.println("Error reading credentials file: " + ex.getMessage()); - } - } - - private void createEnvironmentVariableProfile() { - String[] profileToPut = new String[]{"", "", "", "", "", - Boolean.toString(false), - Boolean.toString(true), ""}; - String name = "EnvironmentVariables"; - String access = System.getenv("AWS_ACCESS_KEY_ID"); - String secret = System.getenv("AWS_SECRET_ACCESS_KEY"); - if(access != null && secret !=null) { - profileToPut[ACCESS_KEY] = access; - profileToPut[SECRET_KEY] = secret; - } else { - return; - } - String token = System.getenv("AWS_SESSION_TOKEN"); - if(!token.isEmpty()) { - profileToPut[TOKEN] = token; - profileToPut[USE_TOKEN] = Boolean.toString(true); - } - pw.println("Saved profile " + name + " with access key " + profileToPut[ACCESS_KEY]); - createAndPopulateProfile(profileToPut, name); - } - - private void setupTab() { - // Set up profiles combobox - this.profiles = new HashMap<>(); - - createNewProfile(); - createDefaultProfiles(); - createEnvironmentVariableProfile(); - createNewProfile(); - - this.profileComboBox.addItemListener(e -> { - if (e.getStateChange() == ItemEvent.SELECTED && !justDeleted) { - int selectedProfile = ((AWSSignerMenuItem) e.getItem()).getProfileNumber(); - if (selectedProfile == 0) { - pw.println("Creating new profile..."); - createNewProfile(); - } else { - populateProfile(selectedProfile); - } - } - }); - - this.saveProfileButton.addMouseListener(new MouseListener() { - @Override - public void mouseClicked(MouseEvent e) { - - } - - @Override - public void mousePressed(MouseEvent e) { - - } - - @Override - public void mouseReleased(MouseEvent e) { - int profile = ((AWSSignerMenuItem) Objects.requireNonNull(profileComboBox.getSelectedItem())).getProfileNumber(); - profiles.put(profile, - new String[]{accessKey.getText(), - secretKey.getText(), - region.getText(), - service.getText(), - token.getText(), - String.valueOf(useToken.isSelected()), - String.valueOf(dynamicRegionAndService.isSelected()), - roleArn.getText()}); - pw.println("Saved profile " + profile + " with key: " + accessKey.getText()); - } - - @Override - public void mouseEntered(MouseEvent e) { - - } - - @Override - public void mouseExited(MouseEvent e) { - - } - }); - - this.deleteProfileButton.addMouseListener(new MouseListener() { - @Override - public void mouseClicked(MouseEvent e) { - - } - - @Override - public void mousePressed(MouseEvent e) { - - } - - @Override - public void mouseReleased(MouseEvent e) { - int profile = ((AWSSignerMenuItem) Objects.requireNonNull(profileComboBox.getSelectedItem())).getProfileNumber(); - int index = profileComboBox.getSelectedIndex(); - pw.println("Deleting profile " + profile + "..."); - - // We need to know this so that when a new item is selected by default by - // the combobox, we can ignore the action. - justDeleted = true; - profileComboBox.removeItemAt(index); - profiles.remove(profile); - - // Determine how we should move our combobox, and what profile we need to populate - if (profiles.size() > index) { - - // There are profiles after this one, move to the newer profile - profileComboBox.setSelectedIndex(index); - int newProfile = ((AWSSignerMenuItem) profileComboBox.getSelectedItem()).getProfileNumber(); - populateProfile(newProfile); - } else if (profiles.size() > 0) { - - // No newer profiles, but there are older ones. Move to the older one - profileComboBox.setSelectedIndex(index - 1); - int newProfile = ((AWSSignerMenuItem) profileComboBox.getSelectedItem()).getProfileNumber(); - populateProfile(newProfile); - } else { - - // No other profiles exist, create a new one - createNewProfile(); - } - - // If we just deleted our enabled profile, disable the signer - if (profile == Menu.getEnabledProfile()) { - Menu.setEnabledProfile(0); - } - - setMenuItems(); - - justDeleted = false; - } - - @Override - public void mouseEntered(MouseEvent e) { - - } - - @Override - public void mouseExited(MouseEvent e) { - - } - }); - - this.useProfileButton.addMouseListener(new MouseListener() { - @Override - public void mouseClicked(MouseEvent e) { - - } - - @Override - public void mousePressed(MouseEvent e) { - - } - - @Override - public void mouseReleased(MouseEvent e) { - int profile = ((AWSSignerMenuItem) Objects.requireNonNull(profileComboBox.getSelectedItem())).getProfileNumber(); - Menu.setEnabledProfile(profile); - } - - @Override - public void mouseEntered(MouseEvent e) { - - } - - @Override - public void mouseExited(MouseEvent e) { - - } - }); - - this.assumeRoleButton.addMouseListener(new MouseListener() { - @Override - public void mouseClicked(MouseEvent e) { - - } - - @Override - public void mousePressed(MouseEvent e) { - - } - - @Override - public void mouseReleased(MouseEvent e) { - String[] profile = profiles.get(Menu.getEnabledProfile()); - AWSSecurityTokenService stsClient; - if(profile[TOKEN].isEmpty()) { - BasicAWSCredentials awsCreds = new BasicAWSCredentials(profile[ACCESS_KEY], profile[SECRET_KEY]); - stsClient = AWSSecurityTokenServiceClientBuilder.standard().withCredentials(new AWSStaticCredentialsProvider(awsCreds)).build(); - } else { - BasicSessionCredentials awsCreds = new BasicSessionCredentials(profile[ACCESS_KEY], profile[SECRET_KEY], profile[TOKEN]); - stsClient = AWSSecurityTokenServiceClientBuilder.standard().withCredentials(new AWSStaticCredentialsProvider(awsCreds)).build(); - } - Credentials creds; - if(roleArn.getText().equals("session-token")) { - GetSessionTokenRequest session = new GetSessionTokenRequest(); - pw.println("Retrieving session token for " + profile[ACCESS_KEY]); - creds = stsClient.getSessionToken(session).getCredentials(); - } else { - String uuid = UUID.randomUUID().toString(); - AssumeRoleRequest assume = new AssumeRoleRequest().withRoleArn(roleArn.getText()).withRoleSessionName(uuid); - pw.println("Assuming role " + roleArn.getText() + " with role session name " + uuid); - creds = stsClient.assumeRole(assume).getCredentials(); - } - String[] details = new String[]{ - creds.getAccessKeyId(), // access key - creds.getSecretAccessKey(), // secret key - "", // region - "", // service - creds.getSessionToken(), // session token - Boolean.toString(true), // use token - Boolean.toString(false), // use default credentials - ""}; // role ARN - int profileNum = ((AWSSignerMenuItem) Objects.requireNonNull(profileComboBox.getSelectedItem())).getProfileNumber(); - // Save the profile that holds the role ARN in case user forgets - String[] save = profiles.get(profileNum); - save[ARN] = roleArn.getText(); - profiles.replace(profileNum, save); - // Replace the region and service with the old ones if they're present - int boxSize = profileComboBox.getItemCount(); - for (int i = 0; i < boxSize; ++i) { - if (profileComboBox.getItemAt(i).toString().equals(roleArn.getText())) { - int profileNumOther = ((AWSSignerMenuItem) profileComboBox.getItemAt(i)).getProfileNumber(); - String[] old = profiles.get(profileNumOther); - details[REGION] = old[REGION]; - details[SERVICE] = old[SERVICE]; - details[DYNAMIC] = old[DYNAMIC]; - } - } - createAndPopulateProfile(details, roleArn.getText()); - } - - @Override - public void mouseEntered(MouseEvent e) { - - } - - @Override - public void mouseExited(MouseEvent e) { - - } - }); - } - - // Set the menu items in the context menu - private void setMenuItems() { - int itemCount = profileComboBox.getItemCount(); - AWSSignerMenuItem[] menuItems = new AWSSignerMenuItem[itemCount - 1]; - - // Skip the first item, it's just the add profile button - for (int i = 0; i < itemCount - 1; i++) { - menuItems[i] = (AWSSignerMenuItem) profileComboBox.getItemAt(i); - } - - Menu.setMenuItems(menuItems); - } - - @Override - public String getTabCaption() { - return "AWS Signer"; - } - - @Override - public Component getUiComponent() { - return panel; - } - - @Override - public void processHttpMessage(int toolFlag, boolean messageIsRequest, IHttpRequestResponse messageInfo) throws Exception { - - if(messageIsRequest) { - if (Menu.getEnabledProfile() > 0) { - IRequestInfo request = helpers.analyzeRequest(messageInfo.getRequest()); - - java.util.List headers = request.getHeaders(); - - if (headers.stream().anyMatch((str -> str.trim().toLowerCase().contains("x-amz-date"))) && - headers.stream().anyMatch((str -> str.trim().toLowerCase().contains("authorization")))) { - String[] profile = this.profiles.get(Menu.getEnabledProfile()); - byte[] signedRequest; - if (dynamicRegionAndService.isSelected()) { - String region = ""; - String service = ""; - profile[REGION] = region; - profile[SERVICE] = service; - for(String header : headers) { - if (header.toLowerCase().startsWith("authorization:")){ - String[] splitCredential = header.split("=")[1].split("/"); - region = splitCredential[2]; - service = splitCredential[3]; - } - } - pw.println("Signing with profile " + Menu.getEnabledProfile() + " with key: " + profile[ACCESS_KEY]); - if (Boolean.parseBoolean(profile[USE_TOKEN])) { - signedRequest = Utility.signRequest(messageInfo, - helpers, - service, - region, - profile[ACCESS_KEY], - profile[SECRET_KEY], - profile[TOKEN], - pw); - } else { - signedRequest = Utility.signRequest(messageInfo, - helpers, - service, - region, - profile[ACCESS_KEY], - profile[SECRET_KEY], - "", - pw); - } - messageInfo.setRequest(signedRequest); - } else if (!profile[SERVICE].equals("") && !profile[REGION].equals("") && - // Removed lower case for service and region since the signature is case-sensitive - headers.stream().anyMatch((str -> str.trim().contains(profile[SERVICE]))) && - headers.stream().anyMatch((str -> str.trim().contains(profile[REGION])))) { - pw.println("Signing with profile " + Menu.getEnabledProfile() + " with key: " + profile[ACCESS_KEY]); - if (Boolean.parseBoolean(profile[USE_TOKEN])) { - signedRequest = Utility.signRequest(messageInfo, - helpers, - profile[SERVICE], - profile[REGION], - profile[ACCESS_KEY], - profile[SECRET_KEY], - profile[TOKEN], - pw); - } else { - signedRequest = Utility.signRequest(messageInfo, - helpers, - profile[SERVICE], - profile[REGION], - profile[ACCESS_KEY], - profile[SECRET_KEY], - "", - pw); - } - messageInfo.setRequest(signedRequest); - } else { - messageInfo.setRequest(messageInfo.getRequest()); - pw.println("Request not in defined region and service, not signing"); - } - } - } - } - - } - - { -// GUI initializer generated by IntelliJ IDEA GUI Designer -// >>> IMPORTANT!! <<< -// DO NOT EDIT OR ADD ANY CODE HERE! - $$$setupUI$$$(); - } - - /** - * Method generated by IntelliJ IDEA GUI Designer - * >>> IMPORTANT!! <<< - * DO NOT edit this method OR call it in your code! - * - * @noinspection ALL - */ - private void $$$setupUI$$$() { - panel = new JPanel(); - panel.setLayout(new GridLayoutManager(12, 2, new Insets(0, 0, 0, 0), -1, -1)); - final JLabel label1 = new JLabel(); - label1.setText("Access Key: "); - panel.add(label1, new GridConstraints(1, 0, 1, 1, GridConstraints.ANCHOR_WEST, GridConstraints.FILL_NONE, GridConstraints.SIZEPOLICY_FIXED, GridConstraints.SIZEPOLICY_FIXED, null, null, null, 0, false)); - accessKey = new JTextField(); - panel.add(accessKey, new GridConstraints(1, 1, 1, 1, GridConstraints.ANCHOR_CENTER, GridConstraints.FILL_HORIZONTAL, GridConstraints.SIZEPOLICY_WANT_GROW, GridConstraints.SIZEPOLICY_FIXED, null, new Dimension(150, -1), null, 0, false)); - final JLabel label2 = new JLabel(); - label2.setText("Secret Key:"); - panel.add(label2, new GridConstraints(2, 0, 1, 1, GridConstraints.ANCHOR_WEST, GridConstraints.FILL_NONE, GridConstraints.SIZEPOLICY_FIXED, GridConstraints.SIZEPOLICY_FIXED, null, null, null, 0, false)); - final JLabel label6 = new JLabel(); - label6.setText("Session Token:"); - panel.add(label6, new GridConstraints(3, 0, 1, 1, GridConstraints.ANCHOR_WEST, GridConstraints.FILL_NONE, GridConstraints.SIZEPOLICY_FIXED, GridConstraints.SIZEPOLICY_FIXED, null, null, null, 0, false)); - final JLabel label3 = new JLabel(); - label3.setText("Region: "); - panel.add(label3, new GridConstraints(4, 0, 1, 1, GridConstraints.ANCHOR_WEST, GridConstraints.FILL_NONE, GridConstraints.SIZEPOLICY_FIXED, GridConstraints.SIZEPOLICY_FIXED, null, null, null, 0, false)); - final JLabel label4 = new JLabel(); - label4.setText("Service: "); - panel.add(label4, new GridConstraints(5, 0, 1, 1, GridConstraints.ANCHOR_WEST, GridConstraints.FILL_NONE, GridConstraints.SIZEPOLICY_FIXED, GridConstraints.SIZEPOLICY_FIXED, null, null, null, 0, false)); - secretKey = new JTextField(); - panel.add(secretKey, new GridConstraints(2, 1, 1, 1, GridConstraints.ANCHOR_WEST, GridConstraints.FILL_HORIZONTAL, GridConstraints.SIZEPOLICY_WANT_GROW, GridConstraints.SIZEPOLICY_FIXED, null, new Dimension(150, -1), null, 0, false)); - token = new JTextField(); - panel.add(token, new GridConstraints(3, 1, 1, 1, GridConstraints.ANCHOR_WEST, GridConstraints.FILL_HORIZONTAL, GridConstraints.SIZEPOLICY_WANT_GROW, GridConstraints.SIZEPOLICY_FIXED, null, new Dimension(150, -1), null, 0, false)); - region = new JTextField(); - panel.add(region, new GridConstraints(4, 1, 1, 1, GridConstraints.ANCHOR_WEST, GridConstraints.FILL_HORIZONTAL, GridConstraints.SIZEPOLICY_WANT_GROW, GridConstraints.SIZEPOLICY_FIXED, null, new Dimension(150, -1), null, 0, false)); - service = new JTextField(); - panel.add(service, new GridConstraints(5, 1, 1, 1, GridConstraints.ANCHOR_WEST, GridConstraints.FILL_HORIZONTAL, GridConstraints.SIZEPOLICY_WANT_GROW, GridConstraints.SIZEPOLICY_FIXED, null, new Dimension(150, -1), null, 0, false)); - final Spacer spacer1 = new Spacer(); - panel.add(spacer1, new GridConstraints(11, 0, 1, 1, GridConstraints.ANCHOR_CENTER, GridConstraints.FILL_VERTICAL, 1, GridConstraints.SIZEPOLICY_WANT_GROW, null, null, null, 0, false)); - roleArn = new JTextField(); - panel.add(roleArn, new GridConstraints(9, 1, 1, 1, GridConstraints.ANCHOR_WEST, GridConstraints.FILL_HORIZONTAL, GridConstraints.SIZEPOLICY_WANT_GROW, GridConstraints.SIZEPOLICY_FIXED, null, new Dimension(150, -1), null, 0, false)); - final JLabel label7 = new JLabel(); - label7.setText("Role ARN:"); - panel.add(label7, new GridConstraints(9, 0, 1, 1, GridConstraints.ANCHOR_WEST, GridConstraints.FILL_NONE, GridConstraints.SIZEPOLICY_FIXED, GridConstraints.SIZEPOLICY_FIXED, null, null, null, 0, false)); - final JLabel label5 = new JLabel(); - label5.setText("Profile:"); - panel.add(label5, new GridConstraints(0, 0, 1, 1, GridConstraints.ANCHOR_WEST, GridConstraints.FILL_NONE, GridConstraints.SIZEPOLICY_FIXED, GridConstraints.SIZEPOLICY_FIXED, null, null, null, 0, false)); - profileComboBox = new JComboBox(); - final DefaultComboBoxModel defaultComboBoxModel1 = new DefaultComboBoxModel(); - profileComboBox.setModel(defaultComboBoxModel1); - panel.add(profileComboBox, new GridConstraints(0, 1, 1, 1, GridConstraints.ANCHOR_WEST, GridConstraints.FILL_HORIZONTAL, GridConstraints.SIZEPOLICY_CAN_GROW, GridConstraints.SIZEPOLICY_FIXED, null, null, null, 0, false)); - saveProfileButton = new JButton(); - saveProfileButton.setText("Save Profile"); - useToken = new JCheckBox(); - useToken.setText("Use session token?"); - panel.add(useToken, new GridConstraints(6, 0, 1, 1, GridConstraints.ANCHOR_WEST, GridConstraints.FILL_NONE, GridConstraints.SIZEPOLICY_FIXED, GridConstraints.SIZEPOLICY_FIXED, null, null, null, 0, false)); - dynamicRegionAndService = new JCheckBox(); - dynamicRegionAndService.setText("Dynamically load region and service from request?"); - panel.add(dynamicRegionAndService, new GridConstraints(6, 1, 1, 1, GridConstraints.ANCHOR_WEST, GridConstraints.FILL_NONE, GridConstraints.SIZEPOLICY_FIXED, GridConstraints.SIZEPOLICY_FIXED, null, null, null, 0, false)); - panel.add(saveProfileButton, new GridConstraints(7, 0, 1, 1, GridConstraints.ANCHOR_CENTER, GridConstraints.FILL_HORIZONTAL, GridConstraints.SIZEPOLICY_CAN_SHRINK | GridConstraints.SIZEPOLICY_CAN_GROW, GridConstraints.SIZEPOLICY_FIXED, null, null, null, 0, false)); - final JPanel panel1 = new JPanel(); - panel1.setLayout(new GridLayoutManager(1, 1, new Insets(0, 0, 0, 0), -1, -1)); - panel.add(panel1, new GridConstraints(11, 1, 1, 1, GridConstraints.ANCHOR_CENTER, GridConstraints.FILL_BOTH, GridConstraints.SIZEPOLICY_CAN_SHRINK | GridConstraints.SIZEPOLICY_CAN_GROW, GridConstraints.SIZEPOLICY_CAN_SHRINK | GridConstraints.SIZEPOLICY_CAN_GROW, null, null, null, 0, false)); - final JPanel panel2 = new JPanel(); - panel2.setLayout(new GridLayoutManager(1, 2, new Insets(0, 0, 0, 0), -1, -1)); - panel.add(panel2, new GridConstraints(7, 1, 1, 1, GridConstraints.ANCHOR_CENTER, GridConstraints.FILL_BOTH, GridConstraints.SIZEPOLICY_CAN_SHRINK | GridConstraints.SIZEPOLICY_CAN_GROW, GridConstraints.SIZEPOLICY_CAN_SHRINK | GridConstraints.SIZEPOLICY_CAN_GROW, null, null, null, 0, false)); - deleteProfileButton = new JButton(); - deleteProfileButton.setText("Delete Profile"); - panel2.add(deleteProfileButton, new GridConstraints(0, 0, 1, 1, GridConstraints.ANCHOR_WEST, GridConstraints.FILL_NONE, 1, GridConstraints.SIZEPOLICY_FIXED, null, null, null, 0, false)); - useProfileButton = new JButton(); - useProfileButton.setText("Use Profile"); - panel2.add(useProfileButton, new GridConstraints(0, 1, 1, 1, GridConstraints.ANCHOR_WEST, GridConstraints.FILL_NONE, GridConstraints.SIZEPOLICY_CAN_SHRINK | GridConstraints.SIZEPOLICY_CAN_GROW, GridConstraints.SIZEPOLICY_FIXED, null, null, null, 0, false)); - assumeRoleButton = new JButton(); - assumeRoleButton.setText("Assume Role"); - panel.add(assumeRoleButton, new GridConstraints(10, 0, 1, 1, GridConstraints.ANCHOR_WEST, GridConstraints.FILL_NONE, GridConstraints.SIZEPOLICY_CAN_SHRINK | GridConstraints.SIZEPOLICY_CAN_GROW, GridConstraints.SIZEPOLICY_FIXED, null, null, null, 0, false)); - } - - /** - * @noinspection ALL - */ - public JComponent $$$getRootComponent$$$() { - return panel; - } -} +package burp; + +import com.netspi.awssigner.signing.AwsRequestSigner; +import com.netspi.awssigner.controller.AWSSignerController; +import com.netspi.awssigner.log.LogWriter; +import com.netspi.awssigner.model.AWSSignerConfiguration; +import com.netspi.awssigner.model.Profile; +import com.netspi.awssigner.signing.DelegatingAwsRequestSigner; +import com.netspi.awssigner.signing.ParsedAuthHeader; +import com.netspi.awssigner.signing.SigningException; +import com.netspi.awssigner.view.BurpUIComponentCustomizer; +import com.netspi.awssigner.view.BurpTabPanel; +import java.awt.Component; +import java.util.List; +import java.util.Optional; +import javax.swing.JMenuItem; +import javax.swing.SwingUtilities; + +//This is the Burp primary class. It needs to live in this package and have this name +public class BurpExtender implements IBurpExtender, ITab, IHttpListener, IContextMenuFactory { + + public static final String EXTENSION_NAME = "AWS Signer"; + + private BurpTabPanel view; + private AWSSignerConfiguration model; + private AWSSignerController controller; + + private IBurpExtenderCallbacks callbacks; + private IExtensionHelpers helpers; + + @Override + public void registerExtenderCallbacks(IBurpExtenderCallbacks callbacks) { + + //Save callbacks and helpers for later reference + this.callbacks = callbacks; + helpers = callbacks.getHelpers(); + + //Setup styling + BurpUIComponentCustomizer.setBurpStyler((Component component) -> { + callbacks.customizeUiComponent(component); + }); + + //Logging + LogWriter.configure(callbacks.getStdout(), callbacks.getStderr()); + LogWriter.logDebug("Logging configured"); + + //Create the view + view = new BurpTabPanel(); + //Create the model + model = new AWSSignerConfiguration(); + //Create controller to keep them in sync + controller = new AWSSignerController(view, model); + + //register with Burp + //set our extension name + callbacks.setExtensionName(EXTENSION_NAME); + + //register ourselves with Burp + //callbacks.registerContextMenuFactory(new Menu()); + SwingUtilities.invokeLater(() -> { + callbacks.addSuiteTab(BurpExtender.this); + callbacks.registerContextMenuFactory(BurpExtender.this); + callbacks.registerHttpListener(BurpExtender.this); + }); + } + + @Override + public String getTabCaption() { + return EXTENSION_NAME; + } + + @Override + public Component getUiComponent() { + //Apply Burp Styling + BurpUIComponentCustomizer.applyBurpStyling(view); + return view; + } + + @Override + public List createMenuItems(IContextMenuInvocation invocation) { + List menuItems = controller.getMenuItems(invocation); + menuItems.forEach(BurpUIComponentCustomizer::applyBurpStyling); + return menuItems; + } + + @Override + public void processHttpMessage(int toolFlag, boolean messageIsRequest, IHttpRequestResponse messageInfo) { + LogWriter.logDebug("Handling incoming HTTP message."); + + //Check if it's a request. We only sign requests + if (!messageIsRequest) { + LogWriter.logDebug("Ignoring response."); + return; + } + + //Is the signer enabled? + if (!model.isEnabled) { + LogWriter.logDebug("Signing not enabled. Ignoring Message."); + return; + } + + //Could be a request we want to sign. Let's analyze it + IRequestInfo request = helpers.analyzeRequest(messageInfo); + + //Check if this is a SigV4 request + if (!isSigV4Request(request)) { + LogWriter.logDebug("Message is not a SigV4 request."); + return; + } + + Optional authHeaderOptional = parseAuthHeader(request); + if (authHeaderOptional.isEmpty()) { + LogWriter.logError("Unable to parse Authorization header from headers: " + request.getHeaders()); + return; + } + ParsedAuthHeader authHeader = authHeaderOptional.get(); + + //Try to get the right profile for signing + Optional profileOptional = getSigningProfileForRequest(authHeader); + + //Check if we even found a profile + if (profileOptional.isEmpty()) { + LogWriter.logDebug("Unable to identify correct profile for message."); + return; + } + + Profile profile = profileOptional.get(); + + //Check to see if this profile is even ready for signing + //This isn't a guarentee, but a quick assessment if it's NOT ready + if (!profile.requiredFieldsAreSet()) { + LogWriter.logDebug("Signing profile \"" + profile.getName() + "\" does not have all required fields set. Skipping request."); + return; + } + + //Check to see if this profile is enabled + if (!profile.isEnabled()) { + LogWriter.logDebug("Signing profile \"" + profile.getName() + "\" is not enabled. Skipping request."); + return; + } + + //Check to see if the profile only signs in-scope requests + if (profile.isInScopeOnly()) { + //Check if our request is in-scope + if (!callbacks.isInScope(request.getUrl())) { + LogWriter.logDebug("Signing profile \"" + profile.getName() + "\" only signs in-scope requests. " + + "The current request is out of scope with URL " + request.getUrl() + " Skipping request"); + return; + } + } + + //Looks like we should be good for signing! Let's go + //AwsRequestSigner signer = new ClassicAwsRequestSigner(helpers, profile); + AwsRequestSigner signer = new DelegatingAwsRequestSigner(helpers, profile); + try { + byte[] signedRequest = signer.sign(messageInfo, request, authHeader); + //Update our message to point to the signed request + messageInfo.setRequest(signedRequest); + //Add a comment for later identification + LogWriter.logInfo("Successfully signed request with profile: " + profile.getName()); + messageInfo.setComment(String.format("%s signed w/ %s", EXTENSION_NAME, profile.getName())); + } catch (SigningException e) { + String error = "Unable to sign request with profile " + + profile.getName() + " due to exception: " + e.getMessage(); + LogWriter.logError(error); + callbacks.issueAlert(error);//Not sure if this is helpful + } + } + + private Optional parseAuthHeader(IRequestInfo request) { + //Start by dissecting the Authorization header + List headers = request.getHeaders(); + return headers.stream().map(header -> header.trim()) //Trim + .map(ParsedAuthHeader::parseFromAuthorizationHeader) //Try to parse if it's the authorization header + .filter(Optional::isPresent) //Only keep successfully parsed header + .map(Optional::get) //Unwrap optional + .findFirst(); //Keep the first match + } + + private boolean isSigV4Request(IRequestInfo request) { + List headers = request.getHeaders(); + + //This is how v1 decided if it should be signed + //Looks for both x-amz-date AND authorization + return (headers.stream().anyMatch((str -> str.trim().toLowerCase().contains("x-amz-date"))) + && headers.stream().anyMatch((str -> str.trim().toLowerCase().contains("authorization")))); + } + + private Optional getSigningProfileForRequest(ParsedAuthHeader authHeader) { + //If we have a default profile set, just use it + if (model.alwaysSignWithProfile != null) { + return Optional.of(model.alwaysSignWithProfile); + } + + String headerAccessKey = authHeader.getAccessKey(); + + //Check if any of the profiles are using this access key as their key id + Optional accessKeyMatchedProfileOptional = model.profiles.stream().filter(profile -> { + return profile.getKeyId().isPresent(); + }).filter(profile -> { + return headerAccessKey.trim().equals(profile.getKeyId().get().trim()); + }).findFirst(); + + if (accessKeyMatchedProfileOptional.isPresent()) { + LogWriter.logDebug("Auth header access key \"" + headerAccessKey + "\" matched profile: " + accessKeyMatchedProfileOptional.get().getName()); + } else { + LogWriter.logDebug("Auth header access key \"" + headerAccessKey + "\" did not match a profile."); + } + + return accessKeyMatchedProfileOptional; + } +} diff --git a/src/main/java/burp/IBurpCollaboratorClientContext.java b/src/main/java/burp/IBurpCollaboratorClientContext.java deleted file mode 100644 index daae9b2..0000000 --- a/src/main/java/burp/IBurpCollaboratorClientContext.java +++ /dev/null @@ -1,85 +0,0 @@ -package burp; - -/* - * @(#)IBurpCollaboratorClientContext.java - * - * Copyright PortSwigger Ltd. All rights reserved. - * - * This code may be used to extend the functionality of Burp Suite Free Edition - * and Burp Suite Professional, provided that this usage does not violate the - * license terms for those products. - */ -import java.util.List; - -/** - * This interface represents an instance of a Burp Collaborator client context, - * which can be used to generate Burp Collaborator payloads and poll the - * Collaborator server for any network interactions that result from using those - * payloads. Extensions can obtain new instances of this class by calling - * IBurpExtenderCallbacks.createBurpCollaboratorClientContext(). - * Note that each Burp Collaborator client context is tied to the Collaborator - * server configuration that was in place at the time the context was created. - */ -public interface IBurpCollaboratorClientContext -{ - - /** - * This method is used to generate new Burp Collaborator payloads. - * - * @param includeCollaboratorServerLocation Specifies whether to include the - * Collaborator server location in the generated payload. - * @return The payload that was generated. - */ - String generatePayload(boolean includeCollaboratorServerLocation); - - /** - * This method is used to retrieve all interactions received by the - * Collaborator server resulting from payloads that were generated for this - * context. - * - * @return The Collaborator interactions that have occurred resulting from - * payloads that were generated for this context. - */ - List fetchAllCollaboratorInteractions(); - - /** - * This method is used to retrieve interactions received by the Collaborator - * server resulting from a single payload that was generated for this - * context. - * - * @param payload The payload for which interactions will be retrieved. - * @return The Collaborator interactions that have occurred resulting from - * the given payload. - */ - List fetchCollaboratorInteractionsFor(String payload); - - /** - * This method is used to retrieve all interactions made by Burp Infiltrator - * instrumentation resulting from payloads that were generated for this - * context. - * - * @return The interactions triggered by the Burp Infiltrator - * instrumentation that have occurred resulting from payloads that were - * generated for this context. - */ - List fetchAllInfiltratorInteractions(); - - /** - * This method is used to retrieve interactions made by Burp Infiltrator - * instrumentation resulting from a single payload that was generated for - * this context. - * - * @param payload The payload for which interactions will be retrieved. - * @return The interactions triggered by the Burp Infiltrator - * instrumentation that have occurred resulting from the given payload. - */ - List fetchInfiltratorInteractionsFor(String payload); - - /** - * This method is used to retrieve the network location of the Collaborator - * server. - * - * @return The hostname or IP address of the Collaborator server. - */ - String getCollaboratorServerLocation(); -} diff --git a/src/main/java/burp/IBurpCollaboratorInteraction.java b/src/main/java/burp/IBurpCollaboratorInteraction.java deleted file mode 100644 index 3af2370..0000000 --- a/src/main/java/burp/IBurpCollaboratorInteraction.java +++ /dev/null @@ -1,41 +0,0 @@ -package burp; - -/* - * @(#)IBurpCollaboratorInteraction.java - * - * Copyright PortSwigger Ltd. All rights reserved. - * - * This code may be used to extend the functionality of Burp Suite Free Edition - * and Burp Suite Professional, provided that this usage does not violate the - * license terms for those products. - */ -import java.util.Map; - -/** - * This interface represents a network interaction that occurred with the Burp - * Collaborator server. - */ -public interface IBurpCollaboratorInteraction -{ - - /** - * This method is used to retrieve a property of the interaction. Properties - * of all interactions are: interaction_id, type, client_ip, and time_stamp. - * Properties of DNS interactions are: query_type and raw_query. The - * raw_query value is Base64-encoded. Properties of HTTP interactions are: - * protocol, request, and response. The request and response values are - * Base64-encoded. - * - * @param name The name of the property to retrieve. - * @return A string representing the property value, or null if not present. - */ - String getProperty(String name); - - /** - * This method is used to retrieve a map containing all properties of the - * interaction. - * - * @return A map containing all properties of the interaction. - */ - Map getProperties(); -} diff --git a/src/main/java/burp/IBurpExtender.java b/src/main/java/burp/IBurpExtender.java deleted file mode 100644 index ff6ad12..0000000 --- a/src/main/java/burp/IBurpExtender.java +++ /dev/null @@ -1,31 +0,0 @@ -package burp; - -/* - * @(#)IBurpExtender.java - * - * Copyright PortSwigger Ltd. All rights reserved. - * - * This code may be used to extend the functionality of Burp Suite Free Edition - * and Burp Suite Professional, provided that this usage does not violate the - * license terms for those products. - */ -/** - * All extensions must implement this interface. - * - * Implementations must be called BurpExtender, in the package burp, must be - * declared public, and must provide a default (public, no-argument) - * constructor. - */ -public interface IBurpExtender -{ - /** - * This method is invoked when the extension is loaded. It registers an - * instance of the - * IBurpExtenderCallbacks interface, providing methods that may - * be invoked by the extension to perform various actions. - * - * @param callbacks An - * IBurpExtenderCallbacks object. - */ - void registerExtenderCallbacks(IBurpExtenderCallbacks callbacks); -} diff --git a/src/main/java/burp/IBurpExtenderCallbacks.java b/src/main/java/burp/IBurpExtenderCallbacks.java deleted file mode 100644 index a8f6410..0000000 --- a/src/main/java/burp/IBurpExtenderCallbacks.java +++ /dev/null @@ -1,1095 +0,0 @@ -package burp; - -/* - * @(#)IBurpExtenderCallbacks.java - * - * Copyright PortSwigger Ltd. All rights reserved. - * - * This code may be used to extend the functionality of Burp Suite Free Edition - * and Burp Suite Professional, provided that this usage does not violate the - * license terms for those products. - */ -import java.awt.Component; -import java.io.OutputStream; -import java.util.List; -import java.util.Map; - -/** - * This interface is used by Burp Suite to pass to extensions a set of callback - * methods that can be used by extensions to perform various actions within - * Burp. - * - * When an extension is loaded, Burp invokes its - * registerExtenderCallbacks() method and passes an instance of the - * IBurpExtenderCallbacks interface. The extension may then invoke - * the methods of this interface as required in order to extend Burp's - * functionality. - */ -public interface IBurpExtenderCallbacks -{ - - /** - * Flag used to identify Burp Suite as a whole. - */ - static final int TOOL_SUITE = 0x00000001; - /** - * Flag used to identify the Burp Target tool. - */ - static final int TOOL_TARGET = 0x00000002; - /** - * Flag used to identify the Burp Proxy tool. - */ - static final int TOOL_PROXY = 0x00000004; - /** - * Flag used to identify the Burp Spider tool. - */ - static final int TOOL_SPIDER = 0x00000008; - /** - * Flag used to identify the Burp Scanner tool. - */ - static final int TOOL_SCANNER = 0x00000010; - /** - * Flag used to identify the Burp Intruder tool. - */ - static final int TOOL_INTRUDER = 0x00000020; - /** - * Flag used to identify the Burp Repeater tool. - */ - static final int TOOL_REPEATER = 0x00000040; - /** - * Flag used to identify the Burp Sequencer tool. - */ - static final int TOOL_SEQUENCER = 0x00000080; - /** - * Flag used to identify the Burp Decoder tool. - */ - static final int TOOL_DECODER = 0x00000100; - /** - * Flag used to identify the Burp Comparer tool. - */ - static final int TOOL_COMPARER = 0x00000200; - /** - * Flag used to identify the Burp Extender tool. - */ - static final int TOOL_EXTENDER = 0x00000400; - - /** - * This method is used to set the display name for the current extension, - * which will be displayed within the user interface for the Extender tool. - * - * @param name The extension name. - */ - void setExtensionName(String name); - - /** - * This method is used to obtain an IExtensionHelpers object, - * which can be used by the extension to perform numerous useful tasks. - * - * @return An object containing numerous helper methods, for tasks such as - * building and analyzing HTTP requests. - */ - IExtensionHelpers getHelpers(); - - /** - * This method is used to obtain the current extension's standard output - * stream. Extensions should write all output to this stream, allowing the - * Burp user to configure how that output is handled from within the UI. - * - * @return The extension's standard output stream. - */ - OutputStream getStdout(); - - /** - * This method is used to obtain the current extension's standard error - * stream. Extensions should write all error messages to this stream, - * allowing the Burp user to configure how that output is handled from - * within the UI. - * - * @return The extension's standard error stream. - */ - OutputStream getStderr(); - - /** - * This method prints a line of output to the current extension's standard - * output stream. - * - * @param output The message to print. - */ - void printOutput(String output); - - /** - * This method prints a line of output to the current extension's standard - * error stream. - * - * @param error The message to print. - */ - void printError(String error); - - /** - * This method is used to register a listener which will be notified of - * changes to the extension's state. Note: Any extensions that start - * background threads or open system resources (such as files or database - * connections) should register a listener and terminate threads / close - * resources when the extension is unloaded. - * - * @param listener An object created by the extension that implements the - * IExtensionStateListener interface. - */ - void registerExtensionStateListener(IExtensionStateListener listener); - - /** - * This method is used to retrieve the extension state listeners that are - * registered by the extension. - * - * @return A list of extension state listeners that are currently registered - * by this extension. - */ - List getExtensionStateListeners(); - - /** - * This method is used to remove an extension state listener that has been - * registered by the extension. - * - * @param listener The extension state listener to be removed. - */ - void removeExtensionStateListener(IExtensionStateListener listener); - - /** - * This method is used to register a listener which will be notified of - * requests and responses made by any Burp tool. Extensions can perform - * custom analysis or modification of these messages by registering an HTTP - * listener. - * - * @param listener An object created by the extension that implements the - * IHttpListener interface. - */ - void registerHttpListener(IHttpListener listener); - - /** - * This method is used to retrieve the HTTP listeners that are registered by - * the extension. - * - * @return A list of HTTP listeners that are currently registered by this - * extension. - */ - List getHttpListeners(); - - /** - * This method is used to remove an HTTP listener that has been registered - * by the extension. - * - * @param listener The HTTP listener to be removed. - */ - void removeHttpListener(IHttpListener listener); - - /** - * This method is used to register a listener which will be notified of - * requests and responses being processed by the Proxy tool. Extensions can - * perform custom analysis or modification of these messages, and control - * in-UI message interception, by registering a proxy listener. - * - * @param listener An object created by the extension that implements the - * IProxyListener interface. - */ - void registerProxyListener(IProxyListener listener); - - /** - * This method is used to retrieve the Proxy listeners that are registered - * by the extension. - * - * @return A list of Proxy listeners that are currently registered by this - * extension. - */ - List getProxyListeners(); - - /** - * This method is used to remove a Proxy listener that has been registered - * by the extension. - * - * @param listener The Proxy listener to be removed. - */ - void removeProxyListener(IProxyListener listener); - - /** - * This method is used to register a listener which will be notified of new - * issues that are reported by the Scanner tool. Extensions can perform - * custom analysis or logging of Scanner issues by registering a Scanner - * listener. - * - * @param listener An object created by the extension that implements the - * IScannerListener interface. - */ - void registerScannerListener(IScannerListener listener); - - /** - * This method is used to retrieve the Scanner listeners that are registered - * by the extension. - * - * @return A list of Scanner listeners that are currently registered by this - * extension. - */ - List getScannerListeners(); - - /** - * This method is used to remove a Scanner listener that has been registered - * by the extension. - * - * @param listener The Scanner listener to be removed. - */ - void removeScannerListener(IScannerListener listener); - - /** - * This method is used to register a listener which will be notified of - * changes to Burp's suite-wide target scope. - * - * @param listener An object created by the extension that implements the - * IScopeChangeListener interface. - */ - void registerScopeChangeListener(IScopeChangeListener listener); - - /** - * This method is used to retrieve the scope change listeners that are - * registered by the extension. - * - * @return A list of scope change listeners that are currently registered by - * this extension. - */ - List getScopeChangeListeners(); - - /** - * This method is used to remove a scope change listener that has been - * registered by the extension. - * - * @param listener The scope change listener to be removed. - */ - void removeScopeChangeListener(IScopeChangeListener listener); - - /** - * This method is used to register a factory for custom context menu items. - * When the user invokes a context menu anywhere within Burp, the factory - * will be passed details of the invocation event, and asked to provide any - * custom context menu items that should be shown. - * - * @param factory An object created by the extension that implements the - * IContextMenuFactory interface. - */ - void registerContextMenuFactory(IContextMenuFactory factory); - - /** - * This method is used to retrieve the context menu factories that are - * registered by the extension. - * - * @return A list of context menu factories that are currently registered by - * this extension. - */ - List getContextMenuFactories(); - - /** - * This method is used to remove a context menu factory that has been - * registered by the extension. - * - * @param factory The context menu factory to be removed. - */ - void removeContextMenuFactory(IContextMenuFactory factory); - - /** - * This method is used to register a factory for custom message editor tabs. - * For each message editor that already exists, or is subsequently created, - * within Burp, the factory will be asked to provide a new instance of an - * IMessageEditorTab object, which can provide custom rendering - * or editing of HTTP messages. - * - * @param factory An object created by the extension that implements the - * IMessageEditorTabFactory interface. - */ - void registerMessageEditorTabFactory(IMessageEditorTabFactory factory); - - /** - * This method is used to retrieve the message editor tab factories that are - * registered by the extension. - * - * @return A list of message editor tab factories that are currently - * registered by this extension. - */ - List getMessageEditorTabFactories(); - - /** - * This method is used to remove a message editor tab factory that has been - * registered by the extension. - * - * @param factory The message editor tab factory to be removed. - */ - void removeMessageEditorTabFactory(IMessageEditorTabFactory factory); - - /** - * This method is used to register a provider of Scanner insertion points. - * For each base request that is actively scanned, Burp will ask the - * provider to provide any custom scanner insertion points that are - * appropriate for the request. - * - * @param provider An object created by the extension that implements the - * IScannerInsertionPointProvider interface. - */ - void registerScannerInsertionPointProvider( - IScannerInsertionPointProvider provider); - - /** - * This method is used to retrieve the Scanner insertion point providers - * that are registered by the extension. - * - * @return A list of Scanner insertion point providers that are currently - * registered by this extension. - */ - List getScannerInsertionPointProviders(); - - /** - * This method is used to remove a Scanner insertion point provider that has - * been registered by the extension. - * - * @param provider The Scanner insertion point provider to be removed. - */ - void removeScannerInsertionPointProvider( - IScannerInsertionPointProvider provider); - - /** - * This method is used to register a custom Scanner check. When performing - * scanning, Burp will ask the check to perform active or passive scanning - * on the base request, and report any Scanner issues that are identified. - * - * @param check An object created by the extension that implements the - * IScannerCheck interface. - */ - void registerScannerCheck(IScannerCheck check); - - /** - * This method is used to retrieve the Scanner checks that are registered by - * the extension. - * - * @return A list of Scanner checks that are currently registered by this - * extension. - */ - List getScannerChecks(); - - /** - * This method is used to remove a Scanner check that has been registered by - * the extension. - * - * @param check The Scanner check to be removed. - */ - void removeScannerCheck(IScannerCheck check); - - /** - * This method is used to register a factory for Intruder payloads. Each - * registered factory will be available within the Intruder UI for the user - * to select as the payload source for an attack. When this is selected, the - * factory will be asked to provide a new instance of an - * IIntruderPayloadGenerator object, which will be used to - * generate payloads for the attack. - * - * @param factory An object created by the extension that implements the - * IIntruderPayloadGeneratorFactory interface. - */ - void registerIntruderPayloadGeneratorFactory( - IIntruderPayloadGeneratorFactory factory); - - /** - * This method is used to retrieve the Intruder payload generator factories - * that are registered by the extension. - * - * @return A list of Intruder payload generator factories that are currently - * registered by this extension. - */ - List - getIntruderPayloadGeneratorFactories(); - - /** - * This method is used to remove an Intruder payload generator factory that - * has been registered by the extension. - * - * @param factory The Intruder payload generator factory to be removed. - */ - void removeIntruderPayloadGeneratorFactory( - IIntruderPayloadGeneratorFactory factory); - - /** - * This method is used to register a custom Intruder payload processor. Each - * registered processor will be available within the Intruder UI for the - * user to select as the action for a payload processing rule. - * - * @param processor An object created by the extension that implements the - * IIntruderPayloadProcessor interface. - */ - void registerIntruderPayloadProcessor(IIntruderPayloadProcessor processor); - - /** - * This method is used to retrieve the Intruder payload processors that are - * registered by the extension. - * - * @return A list of Intruder payload processors that are currently - * registered by this extension. - */ - List getIntruderPayloadProcessors(); - - /** - * This method is used to remove an Intruder payload processor that has been - * registered by the extension. - * - * @param processor The Intruder payload processor to be removed. - */ - void removeIntruderPayloadProcessor(IIntruderPayloadProcessor processor); - - /** - * This method is used to register a custom session handling action. Each - * registered action will be available within the session handling rule UI - * for the user to select as a rule action. Users can choose to invoke an - * action directly in its own right, or following execution of a macro. - * - * @param action An object created by the extension that implements the - * ISessionHandlingAction interface. - */ - void registerSessionHandlingAction(ISessionHandlingAction action); - - /** - * This method is used to retrieve the session handling actions that are - * registered by the extension. - * - * @return A list of session handling actions that are currently registered - * by this extension. - */ - List getSessionHandlingActions(); - - /** - * This method is used to remove a session handling action that has been - * registered by the extension. - * - * @param action The extension session handling action to be removed. - */ - void removeSessionHandlingAction(ISessionHandlingAction action); - - /** - * This method is used to unload the extension from Burp Suite. - */ - void unloadExtension(); - - /** - * This method is used to add a custom tab to the main Burp Suite window. - * - * @param tab An object created by the extension that implements the - * ITab interface. - */ - void addSuiteTab(ITab tab); - - /** - * This method is used to remove a previously-added tab from the main Burp - * Suite window. - * - * @param tab An object created by the extension that implements the - * ITab interface. - */ - void removeSuiteTab(ITab tab); - - /** - * This method is used to customize UI components in line with Burp's UI - * style, including font size, colors, table line spacing, etc. The action - * is performed recursively on any child components of the passed-in - * component. - * - * @param component The UI component to be customized. - */ - void customizeUiComponent(Component component); - - /** - * This method is used to create a new instance of Burp's HTTP message - * editor, for the extension to use in its own UI. - * - * @param controller An object created by the extension that implements the - * IMessageEditorController interface. This parameter is - * optional and may be null. If it is provided, then the - * message editor will query the controller when required to obtain details - * about the currently displayed message, including the - * IHttpService for the message, and the associated request or - * response message. If a controller is not provided, then the message - * editor will not support context menu actions, such as sending requests to - * other Burp tools. - * @param editable Indicates whether the editor created should be editable, - * or used only for message viewing. - * @return An object that implements the IMessageEditor - * interface, and which the extension can use in its own UI. - */ - IMessageEditor createMessageEditor(IMessageEditorController controller, - boolean editable); - - /** - * This method returns the command line arguments that were passed to Burp - * on startup. - * - * @return The command line arguments that were passed to Burp on startup. - */ - String[] getCommandLineArguments(); - - /** - * This method is used to save configuration settings for the extension in a - * persistent way that survives reloads of the extension and of Burp Suite. - * Saved settings can be retrieved using the method - * loadExtensionSetting(). - * - * @param name The name of the setting. - * @param value The value of the setting. If this value is null - * then any existing setting with the specified name will be removed. - */ - void saveExtensionSetting(String name, String value); - - /** - * This method is used to load configuration settings for the extension that - * were saved using the method saveExtensionSetting(). - * - * @param name The name of the setting. - * @return The value of the setting, or null if no value is - * set. - */ - String loadExtensionSetting(String name); - - /** - * This method is used to create a new instance of Burp's plain text editor, - * for the extension to use in its own UI. - * - * @return An object that implements the ITextEditor interface, - * and which the extension can use in its own UI. - */ - ITextEditor createTextEditor(); - - /** - * This method can be used to send an HTTP request to the Burp Repeater - * tool. The request will be displayed in the user interface, but will not - * be issued until the user initiates this action. - * - * @param host The hostname of the remote HTTP server. - * @param port The port of the remote HTTP server. - * @param useHttps Flags whether the protocol is HTTPS or HTTP. - * @param request The full HTTP request. - * @param tabCaption An optional caption which will appear on the Repeater - * tab containing the request. If this value is null then a - * default tab index will be displayed. - */ - void sendToRepeater( - String host, - int port, - boolean useHttps, - byte[] request, - String tabCaption); - - /** - * This method can be used to send an HTTP request to the Burp Intruder - * tool. The request will be displayed in the user interface, and markers - * for attack payloads will be placed into default locations within the - * request. - * - * @param host The hostname of the remote HTTP server. - * @param port The port of the remote HTTP server. - * @param useHttps Flags whether the protocol is HTTPS or HTTP. - * @param request The full HTTP request. - */ - void sendToIntruder( - String host, - int port, - boolean useHttps, - byte[] request); - - /** - * This method can be used to send an HTTP request to the Burp Intruder - * tool. The request will be displayed in the user interface, and markers - * for attack payloads will be placed into the specified locations within - * the request. - * - * @param host The hostname of the remote HTTP server. - * @param port The port of the remote HTTP server. - * @param useHttps Flags whether the protocol is HTTPS or HTTP. - * @param request The full HTTP request. - * @param payloadPositionOffsets A list of index pairs representing the - * payload positions to be used. Each item in the list must be an int[2] - * array containing the start and end offsets for the payload position. - */ - void sendToIntruder( - String host, - int port, - boolean useHttps, - byte[] request, - List payloadPositionOffsets); - - /** - * This method can be used to send data to the Comparer tool. - * - * @param data The data to be sent to Comparer. - */ - void sendToComparer(byte[] data); - - /** - * This method can be used to send a seed URL to the Burp Spider tool. If - * the URL is not within the current Spider scope, the user will be asked if - * they wish to add the URL to the scope. If the Spider is not currently - * running, it will be started. The seed URL will be requested, and the - * Spider will process the application's response in the normal way. - * - * @param url The new seed URL to begin spidering from. - */ - void sendToSpider( - java.net.URL url); - - /** - * This method can be used to send an HTTP request to the Burp Scanner tool - * to perform an active vulnerability scan. If the request is not within the - * current active scanning scope, the user will be asked if they wish to - * proceed with the scan. - * - * @param host The hostname of the remote HTTP server. - * @param port The port of the remote HTTP server. - * @param useHttps Flags whether the protocol is HTTPS or HTTP. - * @param request The full HTTP request. - * @return The resulting scan queue item. - */ - IScanQueueItem doActiveScan( - String host, - int port, - boolean useHttps, - byte[] request); - - /** - * This method can be used to send an HTTP request to the Burp Scanner tool - * to perform an active vulnerability scan, based on a custom list of - * insertion points that are to be scanned. If the request is not within the - * current active scanning scope, the user will be asked if they wish to - * proceed with the scan. - * - * @param host The hostname of the remote HTTP server. - * @param port The port of the remote HTTP server. - * @param useHttps Flags whether the protocol is HTTPS or HTTP. - * @param request The full HTTP request. - * @param insertionPointOffsets A list of index pairs representing the - * positions of the insertion points that should be scanned. Each item in - * the list must be an int[2] array containing the start and end offsets for - * the insertion point. - * @return The resulting scan queue item. - */ - IScanQueueItem doActiveScan( - String host, - int port, - boolean useHttps, - byte[] request, - List insertionPointOffsets); - - /** - * This method can be used to send an HTTP request to the Burp Scanner tool - * to perform a passive vulnerability scan. - * - * @param host The hostname of the remote HTTP server. - * @param port The port of the remote HTTP server. - * @param useHttps Flags whether the protocol is HTTPS or HTTP. - * @param request The full HTTP request. - * @param response The full HTTP response. - */ - void doPassiveScan( - String host, - int port, - boolean useHttps, - byte[] request, - byte[] response); - - /** - * This method can be used to issue HTTP requests and retrieve their - * responses. - * - * @param httpService The HTTP service to which the request should be sent. - * @param request The full HTTP request. - * @return An object that implements the IHttpRequestResponse - * interface, and which the extension can query to obtain the details of the - * response. - */ - IHttpRequestResponse makeHttpRequest(IHttpService httpService, - byte[] request); - - /** - * This method can be used to issue HTTP requests and retrieve their - * responses. - * - * @param host The hostname of the remote HTTP server. - * @param port The port of the remote HTTP server. - * @param useHttps Flags whether the protocol is HTTPS or HTTP. - * @param request The full HTTP request. - * @return The full response retrieved from the remote server. - */ - byte[] makeHttpRequest( - String host, - int port, - boolean useHttps, - byte[] request); - - /** - * This method can be used to query whether a specified URL is within the - * current Suite-wide scope. - * - * @param url The URL to query. - * @return Returns true if the URL is within the current - * Suite-wide scope. - */ - boolean isInScope(java.net.URL url); - - /** - * This method can be used to include the specified URL in the Suite-wide - * scope. - * - * @param url The URL to include in the Suite-wide scope. - */ - void includeInScope(java.net.URL url); - - /** - * This method can be used to exclude the specified URL from the Suite-wide - * scope. - * - * @param url The URL to exclude from the Suite-wide scope. - */ - void excludeFromScope(java.net.URL url); - - /** - * This method can be used to display a specified message in the Burp Suite - * alerts tab. - * - * @param message The alert message to display. - */ - void issueAlert(String message); - - /** - * This method returns details of all items in the Proxy history. - * - * @return The contents of the Proxy history. - */ - IHttpRequestResponse[] getProxyHistory(); - - /** - * This method returns details of items in the site map. - * - * @param urlPrefix This parameter can be used to specify a URL prefix, in - * order to extract a specific subset of the site map. The method performs a - * simple case-sensitive text match, returning all site map items whose URL - * begins with the specified prefix. If this parameter is null, the entire - * site map is returned. - * - * @return Details of items in the site map. - */ - IHttpRequestResponse[] getSiteMap(String urlPrefix); - - /** - * This method returns all of the current scan issues for URLs matching the - * specified literal prefix. - * - * @param urlPrefix This parameter can be used to specify a URL prefix, in - * order to extract a specific subset of scan issues. The method performs a - * simple case-sensitive text match, returning all scan issues whose URL - * begins with the specified prefix. If this parameter is null, all issues - * are returned. - * @return Details of the scan issues. - */ - IScanIssue[] getScanIssues(String urlPrefix); - - /** - * This method is used to generate a report for the specified Scanner - * issues. The report format can be specified. For all other reporting - * options, the default settings that appear in the reporting UI wizard are - * used. - * - * @param format The format to be used in the report. Accepted values are - * HTML and XML. - * @param issues The Scanner issues to be reported. - * @param file The file to which the report will be saved. - */ - void generateScanReport(String format, IScanIssue[] issues, - java.io.File file); - - /** - * This method is used to retrieve the contents of Burp's session handling - * cookie jar. Extensions that provide an - * ISessionHandlingAction can query and update the cookie jar - * in order to handle unusual session handling mechanisms. - * - * @return A list of ICookie objects representing the contents - * of Burp's session handling cookie jar. - */ - List getCookieJarContents(); - - /** - * This method is used to update the contents of Burp's session handling - * cookie jar. Extensions that provide an - * ISessionHandlingAction can query and update the cookie jar - * in order to handle unusual session handling mechanisms. - * - * @param cookie An ICookie object containing details of the - * cookie to be updated. If the cookie jar already contains a cookie that - * matches the specified domain and name, then that cookie will be updated - * with the new value and expiration, unless the new value is - * null, in which case the cookie will be removed. If the - * cookie jar does not already contain a cookie that matches the specified - * domain and name, then the cookie will be added. - */ - void updateCookieJar(ICookie cookie); - - /** - * This method can be used to add an item to Burp's site map with the - * specified request/response details. This will overwrite the details of - * any existing matching item in the site map. - * - * @param item Details of the item to be added to the site map - */ - void addToSiteMap(IHttpRequestResponse item); - - /** - * This method can be used to restore Burp's state from a specified saved - * state file. This method blocks until the restore operation is completed, - * and must not be called from the event dispatch thread. - * - * @param file The file containing Burp's saved state. - * @deprecated State files have been replaced with Burp project files. - */ - @Deprecated - void restoreState(java.io.File file); - - /** - * This method can be used to save Burp's state to a specified file. This - * method blocks until the save operation is completed, and must not be - * called from the event dispatch thread. - * - * @param file The file to save Burp's state in. - * @deprecated State files have been replaced with Burp project files. - */ - @Deprecated - void saveState(java.io.File file); - - /** - * This method causes Burp to save all of its current configuration as a Map - * of name/value Strings. - * - * @return A Map of name/value Strings reflecting Burp's current - * configuration. - * @deprecated Use saveConfigAsJson() instead. - */ - @Deprecated - Map saveConfig(); - - /** - * This method causes Burp to load a new configuration from the Map of - * name/value Strings provided. Any settings not specified in the Map will - * be restored to their default values. To selectively update only some - * settings and leave the rest unchanged, you should first call - * saveConfig() to obtain Burp's current configuration, modify - * the relevant items in the Map, and then call loadConfig() - * with the same Map. - * - * @param config A map of name/value Strings to use as Burp's new - * configuration. - * @deprecated Use loadConfigFromJson() instead. - */ - @Deprecated - void loadConfig(Map config); - - /** - * This method causes Burp to save its current project-level configuration - * in JSON format. This is the same format that can be saved and loaded via - * the Burp user interface. To include only certain sections of the - * configuration, you can optionally supply the path to each section that - * should be included, for example: "project_options.connections". If no - * paths are provided, then the entire configuration will be saved. - * - * @param configPaths A list of Strings representing the path to each - * configuration section that should be included. - * @return A String representing the current configuration in JSON format. - */ - String saveConfigAsJson(String... configPaths); - - /** - * This method causes Burp to load a new project-level configuration from - * the JSON String provided. This is the same format that can be saved and - * loaded via the Burp user interface. Partial configurations are - * acceptable, and any settings not specified will be left unmodified. - * - * Any user-level configuration options contained in the input will be - * ignored. - * - * @param config A JSON String containing the new configuration. - */ - void loadConfigFromJson(String config); - - /** - * This method sets the master interception mode for Burp Proxy. - * - * @param enabled Indicates whether interception of Proxy messages should be - * enabled. - */ - void setProxyInterceptionEnabled(boolean enabled); - - /** - * This method retrieves information about the version of Burp in which the - * extension is running. It can be used by extensions to dynamically adjust - * their behavior depending on the functionality and APIs supported by the - * current version. - * - * @return An array of Strings comprised of: the product name (e.g. Burp - * Suite Professional), the major version (e.g. 1.5), the minor version - * (e.g. 03) - */ - String[] getBurpVersion(); - - /** - * This method retrieves the absolute path name of the file from which the - * current extension was loaded. - * - * @return The absolute path name of the file from which the current - * extension was loaded. - */ - String getExtensionFilename(); - - /** - * This method determines whether the current extension was loaded as a BApp - * (a Burp App from the BApp Store). - * - * @return Returns true if the current extension was loaded as a BApp. - */ - boolean isExtensionBapp(); - - /** - * This method can be used to shut down Burp programmatically, with an - * optional prompt to the user. If the method returns, the user canceled the - * shutdown prompt. - * - * @param promptUser Indicates whether to prompt the user to confirm the - * shutdown. - */ - void exitSuite(boolean promptUser); - - /** - * This method is used to create a temporary file on disk containing the - * provided data. Extensions can use temporary files for long-term storage - * of runtime data, avoiding the need to retain that data in memory. - * - * @param buffer The data to be saved to a temporary file. - * @return An object that implements the ITempFile interface. - */ - ITempFile saveToTempFile(byte[] buffer); - - /** - * This method is used to save the request and response of an - * IHttpRequestResponse object to temporary files, so that they - * are no longer held in memory. Extensions can used this method to convert - * IHttpRequestResponse objects into a form suitable for - * long-term storage. - * - * @param httpRequestResponse The IHttpRequestResponse object - * whose request and response messages are to be saved to temporary files. - * @return An object that implements the - * IHttpRequestResponsePersisted interface. - */ - IHttpRequestResponsePersisted saveBuffersToTempFiles( - IHttpRequestResponse httpRequestResponse); - - /** - * This method is used to apply markers to an HTTP request or response, at - * offsets into the message that are relevant for some particular purpose. - * Markers are used in various situations, such as specifying Intruder - * payload positions, Scanner insertion points, and highlights in Scanner - * issues. - * - * @param httpRequestResponse The IHttpRequestResponse object - * to which the markers should be applied. - * @param requestMarkers A list of index pairs representing the offsets of - * markers to be applied to the request message. Each item in the list must - * be an int[2] array containing the start and end offsets for the marker. - * The markers in the list should be in sequence and not overlapping. This - * parameter is optional and may be null if no request markers - * are required. - * @param responseMarkers A list of index pairs representing the offsets of - * markers to be applied to the response message. Each item in the list must - * be an int[2] array containing the start and end offsets for the marker. - * The markers in the list should be in sequence and not overlapping. This - * parameter is optional and may be null if no response markers - * are required. - * @return An object that implements the - * IHttpRequestResponseWithMarkers interface. - */ - IHttpRequestResponseWithMarkers applyMarkers( - IHttpRequestResponse httpRequestResponse, - List requestMarkers, - List responseMarkers); - - /** - * This method is used to obtain the descriptive name for the Burp tool - * identified by the tool flag provided. - * - * @param toolFlag A flag identifying a Burp tool ( TOOL_PROXY, - * TOOL_SCANNER, etc.). Tool flags are defined within this - * interface. - * @return The descriptive name for the specified tool. - */ - String getToolName(int toolFlag); - - /** - * This method is used to register a new Scanner issue. Note: - * Wherever possible, extensions should implement custom Scanner checks - * using IScannerCheck and report issues via those checks, so - * as to integrate with Burp's user-driven workflow, and ensure proper - * consolidation of duplicate reported issues. This method is only designed - * for tasks outside of the normal testing workflow, such as importing - * results from other scanning tools. - * - * @param issue An object created by the extension that implements the - * IScanIssue interface. - */ - void addScanIssue(IScanIssue issue); - - /** - * This method is used to create a new Burp Collaborator client context, - * which can be used to generate Burp Collaborator payloads and poll the - * Collaborator server for any network interactions that result from using - * those payloads. - * - * @return A new instance of IBurpCollaboratorClientContext - * that can be used to generate Collaborator payloads and retrieve - * interactions. - */ - IBurpCollaboratorClientContext createBurpCollaboratorClientContext(); - - /** - * This method parses the specified request and returns details of each - * request parameter. - * - * @param request The request to be parsed. - * @return An array of: String[] { name, value, type } - * containing details of the parameters contained within the request. - * @deprecated Use IExtensionHelpers.analyzeRequest() instead. - */ - @Deprecated - String[][] getParameters(byte[] request); - - /** - * This method parses the specified request and returns details of each HTTP - * header. - * - * @param message The request to be parsed. - * @return An array of HTTP headers. - * @deprecated Use IExtensionHelpers.analyzeRequest() or - * IExtensionHelpers.analyzeResponse() instead. - */ - @Deprecated - String[] getHeaders(byte[] message); - - /** - * This method can be used to register a new menu item which will appear on - * the various context menus that are used throughout Burp Suite to handle - * user-driven actions. - * - * @param menuItemCaption The caption to be displayed on the menu item. - * @param menuItemHandler The handler to be invoked when the user clicks on - * the menu item. - * @deprecated Use registerContextMenuFactory() instead. - */ - @Deprecated - void registerMenuItem( - String menuItemCaption, - IMenuItemHandler menuItemHandler); -} diff --git a/src/main/java/burp/IContextMenuFactory.java b/src/main/java/burp/IContextMenuFactory.java deleted file mode 100644 index df316cc..0000000 --- a/src/main/java/burp/IContextMenuFactory.java +++ /dev/null @@ -1,39 +0,0 @@ -package burp; - -/* - * @(#)IContextMenuFactory.java - * - * Copyright PortSwigger Ltd. All rights reserved. - * - * This code may be used to extend the functionality of Burp Suite Free Edition - * and Burp Suite Professional, provided that this usage does not violate the - * license terms for those products. - */ - -import javax.swing.JMenuItem; -import java.util.List; - -/** - * Extensions can implement this interface and then call - * IBurpExtenderCallbacks.registerContextMenuFactory() to register - * a factory for custom context menu items. - */ -public interface IContextMenuFactory -{ - /** - * This method will be called by Burp when the user invokes a context menu - * anywhere within Burp. The factory can then provide any custom context - * menu items that should be displayed in the context menu, based on the - * details of the menu invocation. - * - * @param invocation An object that implements the - * IContextMenuInvocation interface, which the extension can - * query to obtain details of the context menu invocation. - * @return A list of custom menu items (which may include sub-menus, - * checkbox menu items, etc.) that should be displayed. Extensions may - * return - * null from this method, to indicate that no menu items are - * required. - */ - List createMenuItems(IContextMenuInvocation invocation); -} diff --git a/src/main/java/burp/IContextMenuInvocation.java b/src/main/java/burp/IContextMenuInvocation.java deleted file mode 100644 index 27f8553..0000000 --- a/src/main/java/burp/IContextMenuInvocation.java +++ /dev/null @@ -1,156 +0,0 @@ -package burp; - -/* - * @(#)IContextMenuInvocation.java - * - * Copyright PortSwigger Ltd. All rights reserved. - * - * This code may be used to extend the functionality of Burp Suite Free Edition - * and Burp Suite Professional, provided that this usage does not violate the - * license terms for those products. - */ -import java.awt.event.InputEvent; - -/** - * This interface is used when Burp calls into an extension-provided - * IContextMenuFactory with details of a context menu invocation. - * The custom context menu factory can query this interface to obtain details of - * the invocation event, in order to determine what menu items should be - * displayed. - */ -public interface IContextMenuInvocation -{ - /** - * Used to indicate that the context menu is being invoked in a request - * editor. - */ - static final byte CONTEXT_MESSAGE_EDITOR_REQUEST = 0; - /** - * Used to indicate that the context menu is being invoked in a response - * editor. - */ - static final byte CONTEXT_MESSAGE_EDITOR_RESPONSE = 1; - /** - * Used to indicate that the context menu is being invoked in a non-editable - * request viewer. - */ - static final byte CONTEXT_MESSAGE_VIEWER_REQUEST = 2; - /** - * Used to indicate that the context menu is being invoked in a non-editable - * response viewer. - */ - static final byte CONTEXT_MESSAGE_VIEWER_RESPONSE = 3; - /** - * Used to indicate that the context menu is being invoked in the Target - * site map tree. - */ - static final byte CONTEXT_TARGET_SITE_MAP_TREE = 4; - /** - * Used to indicate that the context menu is being invoked in the Target - * site map table. - */ - static final byte CONTEXT_TARGET_SITE_MAP_TABLE = 5; - /** - * Used to indicate that the context menu is being invoked in the Proxy - * history. - */ - static final byte CONTEXT_PROXY_HISTORY = 6; - /** - * Used to indicate that the context menu is being invoked in the Scanner - * results. - */ - static final byte CONTEXT_SCANNER_RESULTS = 7; - /** - * Used to indicate that the context menu is being invoked in the Intruder - * payload positions editor. - */ - static final byte CONTEXT_INTRUDER_PAYLOAD_POSITIONS = 8; - /** - * Used to indicate that the context menu is being invoked in an Intruder - * attack results. - */ - static final byte CONTEXT_INTRUDER_ATTACK_RESULTS = 9; - /** - * Used to indicate that the context menu is being invoked in a search - * results window. - */ - static final byte CONTEXT_SEARCH_RESULTS = 10; - - /** - * This method can be used to retrieve the native Java input event that was - * the trigger for the context menu invocation. - * - * @return The InputEvent that was the trigger for the context - * menu invocation. - */ - InputEvent getInputEvent(); - - /** - * This method can be used to retrieve the Burp tool within which the - * context menu was invoked. - * - * @return A flag indicating the Burp tool within which the context menu was - * invoked. Burp tool flags are defined in the - * IBurpExtenderCallbacks interface. - */ - int getToolFlag(); - - /** - * This method can be used to retrieve the context within which the menu was - * invoked. - * - * @return An index indicating the context within which the menu was - * invoked. The indices used are defined within this interface. - */ - byte getInvocationContext(); - - /** - * This method can be used to retrieve the bounds of the user's selection - * into the current message, if applicable. - * - * @return An int[2] array containing the start and end offsets of the - * user's selection in the current message. If the user has not made any - * selection in the current message, both offsets indicate the position of - * the caret within the editor. If the menu is not being invoked from a - * message editor, the method returns null. - */ - int[] getSelectionBounds(); - - /** - * This method can be used to retrieve details of the HTTP requests / - * responses that were shown or selected by the user when the context menu - * was invoked. - * - * Note: For performance reasons, the objects returned from this - * method are tied to the originating context of the messages within the - * Burp UI. For example, if a context menu is invoked on the Proxy intercept - * panel, then the - * IHttpRequestResponse returned by this method will reflect - * the current contents of the interception panel, and this will change when - * the current message has been forwarded or dropped. If your extension - * needs to store details of the message for which the context menu has been - * invoked, then you should query those details from the - * IHttpRequestResponse at the time of invocation, or you - * should use - * IBurpExtenderCallbacks.saveBuffersToTempFiles() to create a - * persistent read-only copy of the - * IHttpRequestResponse. - * - * @return An array of IHttpRequestResponse objects - * representing the items that were shown or selected by the user when the - * context menu was invoked. This method returns null if no - * messages are applicable to the invocation. - */ - IHttpRequestResponse[] getSelectedMessages(); - - /** - * This method can be used to retrieve details of the Scanner issues that - * were selected by the user when the context menu was invoked. - * - * @return An array of IScanIssue objects representing the - * issues that were selected by the user when the context menu was invoked. - * This method returns null if no Scanner issues are applicable - * to the invocation. - */ - IScanIssue[] getSelectedIssues(); -} diff --git a/src/main/java/burp/ICookie.java b/src/main/java/burp/ICookie.java deleted file mode 100644 index c44a311..0000000 --- a/src/main/java/burp/ICookie.java +++ /dev/null @@ -1,61 +0,0 @@ -package burp; - -/* - * @(#)ICookie.java - * - * Copyright PortSwigger Ltd. All rights reserved. - * - * This code may be used to extend the functionality of Burp Suite Free Edition - * and Burp Suite Professional, provided that this usage does not violate the - * license terms for those products. - */ -import java.util.Date; - -/** - * This interface is used to hold details about an HTTP cookie. - */ -public interface ICookie -{ - /** - * This method is used to retrieve the domain for which the cookie is in - * scope. - * - * @return The domain for which the cookie is in scope. Note: For - * cookies that have been analyzed from responses (by calling - * IExtensionHelpers.analyzeResponse() and then - * IResponseInfo.getCookies(), the domain will be - * null if the response did not explicitly set a domain - * attribute for the cookie. - */ - String getDomain(); - - /** - * This method is used to retrieve the path for which the cookie is in - * scope. - * - * @return The path for which the cookie is in scope or null if none is set. - */ - String getPath(); - - /** - * This method is used to retrieve the expiration time for the cookie. - * - * @return The expiration time for the cookie, or - * null if none is set (i.e., for non-persistent session - * cookies). - */ - Date getExpiration(); - - /** - * This method is used to retrieve the name of the cookie. - * - * @return The name of the cookie. - */ - String getName(); - - /** - * This method is used to retrieve the value of the cookie. - * @return The value of the cookie. - */ - String getValue(); -} diff --git a/src/main/java/burp/IExtensionHelpers.java b/src/main/java/burp/IExtensionHelpers.java deleted file mode 100644 index af305e6..0000000 --- a/src/main/java/burp/IExtensionHelpers.java +++ /dev/null @@ -1,356 +0,0 @@ -package burp; - -/* - * @(#)IExtensionHelpers.java - * - * Copyright PortSwigger Ltd. All rights reserved. - * - * This code may be used to extend the functionality of Burp Suite Free Edition - * and Burp Suite Professional, provided that this usage does not violate the - * license terms for those products. - */ -import java.net.URL; -import java.util.List; - -/** - * This interface contains a number of helper methods, which extensions can use - * to assist with various common tasks that arise for Burp extensions. - * - * Extensions can call IBurpExtenderCallbacks.getHelpers to obtain - * an instance of this interface. - */ -public interface IExtensionHelpers -{ - - /** - * This method can be used to analyze an HTTP request, and obtain various - * key details about it. - * - * @param request An IHttpRequestResponse object containing the - * request to be analyzed. - * @return An IRequestInfo object that can be queried to obtain - * details about the request. - */ - IRequestInfo analyzeRequest(IHttpRequestResponse request); - - /** - * This method can be used to analyze an HTTP request, and obtain various - * key details about it. - * - * @param httpService The HTTP service associated with the request. This is - * optional and may be null, in which case the resulting - * IRequestInfo object will not include the full request URL. - * @param request The request to be analyzed. - * @return An IRequestInfo object that can be queried to obtain - * details about the request. - */ - IRequestInfo analyzeRequest(IHttpService httpService, byte[] request); - - /** - * This method can be used to analyze an HTTP request, and obtain various - * key details about it. The resulting IRequestInfo object will - * not include the full request URL. To obtain the full URL, use one of the - * other overloaded analyzeRequest() methods. - * - * @param request The request to be analyzed. - * @return An IRequestInfo object that can be queried to obtain - * details about the request. - */ - IRequestInfo analyzeRequest(byte[] request); - - /** - * This method can be used to analyze an HTTP response, and obtain various - * key details about it. - * - * @param response The response to be analyzed. - * @return An IResponseInfo object that can be queried to - * obtain details about the response. - */ - IResponseInfo analyzeResponse(byte[] response); - - /** - * This method can be used to retrieve details of a specified parameter - * within an HTTP request. Note: Use analyzeRequest() to - * obtain details of all parameters within the request. - * - * @param request The request to be inspected for the specified parameter. - * @param parameterName The name of the parameter to retrieve. - * @return An IParameter object that can be queried to obtain - * details about the parameter, or null if the parameter was - * not found. - */ - IParameter getRequestParameter(byte[] request, String parameterName); - - /** - * This method can be used to URL-decode the specified data. - * - * @param data The data to be decoded. - * @return The decoded data. - */ - String urlDecode(String data); - - /** - * This method can be used to URL-encode the specified data. Any characters - * that do not need to be encoded within HTTP requests are not encoded. - * - * @param data The data to be encoded. - * @return The encoded data. - */ - String urlEncode(String data); - - /** - * This method can be used to URL-decode the specified data. - * - * @param data The data to be decoded. - * @return The decoded data. - */ - byte[] urlDecode(byte[] data); - - /** - * This method can be used to URL-encode the specified data. Any characters - * that do not need to be encoded within HTTP requests are not encoded. - * - * @param data The data to be encoded. - * @return The encoded data. - */ - byte[] urlEncode(byte[] data); - - /** - * This method can be used to Base64-decode the specified data. - * - * @param data The data to be decoded. - * @return The decoded data. - */ - byte[] base64Decode(String data); - - /** - * This method can be used to Base64-decode the specified data. - * - * @param data The data to be decoded. - * @return The decoded data. - */ - byte[] base64Decode(byte[] data); - - /** - * This method can be used to Base64-encode the specified data. - * - * @param data The data to be encoded. - * @return The encoded data. - */ - String base64Encode(String data); - - /** - * This method can be used to Base64-encode the specified data. - * - * @param data The data to be encoded. - * @return The encoded data. - */ - String base64Encode(byte[] data); - - /** - * This method can be used to convert data from String form into an array of - * bytes. The conversion does not reflect any particular character set, and - * a character with the hex representation 0xWXYZ will always be converted - * into a byte with the representation 0xYZ. It performs the opposite - * conversion to the method bytesToString(), and byte-based - * data that is converted to a String and back again using these two methods - * is guaranteed to retain its integrity (which may not be the case with - * conversions that reflect a given character set). - * - * @param data The data to be converted. - * @return The converted data. - */ - byte[] stringToBytes(String data); - - /** - * This method can be used to convert data from an array of bytes into - * String form. The conversion does not reflect any particular character - * set, and a byte with the representation 0xYZ will always be converted - * into a character with the hex representation 0x00YZ. It performs the - * opposite conversion to the method stringToBytes(), and - * byte-based data that is converted to a String and back again using these - * two methods is guaranteed to retain its integrity (which may not be the - * case with conversions that reflect a given character set). - * - * @param data The data to be converted. - * @return The converted data. - */ - String bytesToString(byte[] data); - - /** - * This method searches a piece of data for the first occurrence of a - * specified pattern. It works on byte-based data in a way that is similar - * to the way the native Java method String.indexOf() works on - * String-based data. - * - * @param data The data to be searched. - * @param pattern The pattern to be searched for. - * @param caseSensitive Flags whether or not the search is case-sensitive. - * @param from The offset within data where the search should - * begin. - * @param to The offset within data where the search should - * end. - * @return The offset of the first occurrence of the pattern within the - * specified bounds, or -1 if no match is found. - */ - int indexOf(byte[] data, - byte[] pattern, - boolean caseSensitive, - int from, - int to); - - /** - * This method builds an HTTP message containing the specified headers and - * message body. If applicable, the Content-Length header will be added or - * updated, based on the length of the body. - * - * @param headers A list of headers to include in the message. - * @param body The body of the message, of null if the message - * has an empty body. - * @return The resulting full HTTP message. - */ - byte[] buildHttpMessage(List headers, byte[] body); - - /** - * This method creates a GET request to the specified URL. The headers used - * in the request are determined by the Request headers settings as - * configured in Burp Spider's options. - * - * @param url The URL to which the request should be made. - * @return A request to the specified URL. - */ - byte[] buildHttpRequest(URL url); - - /** - * This method adds a new parameter to an HTTP request, and if appropriate - * updates the Content-Length header. - * - * @param request The request to which the parameter should be added. - * @param parameter An IParameter object containing details of - * the parameter to be added. Supported parameter types are: - * PARAM_URL, PARAM_BODY and - * PARAM_COOKIE. - * @return A new HTTP request with the new parameter added. - */ - byte[] addParameter(byte[] request, IParameter parameter); - - /** - * This method removes a parameter from an HTTP request, and if appropriate - * updates the Content-Length header. - * - * @param request The request from which the parameter should be removed. - * @param parameter An IParameter object containing details of - * the parameter to be removed. Supported parameter types are: - * PARAM_URL, PARAM_BODY and - * PARAM_COOKIE. - * @return A new HTTP request with the parameter removed. - */ - byte[] removeParameter(byte[] request, IParameter parameter); - - /** - * This method updates the value of a parameter within an HTTP request, and - * if appropriate updates the Content-Length header. Note: This - * method can only be used to update the value of an existing parameter of a - * specified type. If you need to change the type of an existing parameter, - * you should first call removeParameter() to remove the - * parameter with the old type, and then call addParameter() to - * add a parameter with the new type. - * - * @param request The request containing the parameter to be updated. - * @param parameter An IParameter object containing details of - * the parameter to be updated. Supported parameter types are: - * PARAM_URL, PARAM_BODY and - * PARAM_COOKIE. - * @return A new HTTP request with the parameter updated. - */ - byte[] updateParameter(byte[] request, IParameter parameter); - - /** - * This method can be used to toggle a request's method between GET and - * POST. Parameters are relocated between the URL query string and message - * body as required, and the Content-Length header is created or removed as - * applicable. - * - * @param request The HTTP request whose method should be toggled. - * @return A new HTTP request using the toggled method. - */ - byte[] toggleRequestMethod(byte[] request); - - /** - * This method constructs an IHttpService object based on the - * details provided. - * - * @param host The HTTP service host. - * @param port The HTTP service port. - * @param protocol The HTTP service protocol. - * @return An IHttpService object based on the details - * provided. - */ - IHttpService buildHttpService(String host, int port, String protocol); - - /** - * This method constructs an IHttpService object based on the - * details provided. - * - * @param host The HTTP service host. - * @param port The HTTP service port. - * @param useHttps Flags whether the HTTP service protocol is HTTPS or HTTP. - * @return An IHttpService object based on the details - * provided. - */ - IHttpService buildHttpService(String host, int port, boolean useHttps); - - /** - * This method constructs an IParameter object based on the - * details provided. - * - * @param name The parameter name. - * @param value The parameter value. - * @param type The parameter type, as defined in the IParameter - * interface. - * @return An IParameter object based on the details provided. - */ - IParameter buildParameter(String name, String value, byte type); - - /** - * This method constructs an IScannerInsertionPoint object - * based on the details provided. It can be used to quickly create a simple - * insertion point based on a fixed payload location within a base request. - * - * @param insertionPointName The name of the insertion point. - * @param baseRequest The request from which to build scan requests. - * @param from The offset of the start of the payload location. - * @param to The offset of the end of the payload location. - * @return An IScannerInsertionPoint object based on the - * details provided. - */ - IScannerInsertionPoint makeScannerInsertionPoint( - String insertionPointName, - byte[] baseRequest, - int from, - int to); - - /** - * This method analyzes one or more responses to identify variations in a - * number of attributes and returns an IResponseVariations - * object that can be queried to obtain details of the variations. - * - * @param responses The responses to analyze. - * @return An IResponseVariations object representing the - * variations in the responses. - */ - IResponseVariations analyzeResponseVariations(byte[]... responses); - - /** - * This method analyzes one or more responses to identify the number of - * occurrences of the specified keywords and returns an - * IResponseKeywords object that can be queried to obtain - * details of the number of occurrences of each keyword. - * - * @param keywords The keywords to look for. - * @param responses The responses to analyze. - * @return An IResponseKeywords object representing the counts - * of the keywords appearing in the responses. - */ - IResponseKeywords analyzeResponseKeywords(List keywords, byte[]... responses); -} diff --git a/src/main/java/burp/IExtensionStateListener.java b/src/main/java/burp/IExtensionStateListener.java deleted file mode 100644 index 9b385f7..0000000 --- a/src/main/java/burp/IExtensionStateListener.java +++ /dev/null @@ -1,27 +0,0 @@ -package burp; - -/* - * @(#)IExtensionStateListener.java - * - * Copyright PortSwigger Ltd. All rights reserved. - * - * This code may be used to extend the functionality of Burp Suite Free Edition - * and Burp Suite Professional, provided that this usage does not violate the - * license terms for those products. - */ -/** - * Extensions can implement this interface and then call - * IBurpExtenderCallbacks.registerExtensionStateListener() to - * register an extension state listener. The listener will be notified of - * changes to the extension's state. Note: Any extensions that start - * background threads or open system resources (such as files or database - * connections) should register a listener and terminate threads / close - * resources when the extension is unloaded. - */ -public interface IExtensionStateListener -{ - /** - * This method is called when the extension is unloaded. - */ - void extensionUnloaded(); -} diff --git a/src/main/java/burp/IHttpListener.java b/src/main/java/burp/IHttpListener.java deleted file mode 100644 index e1a5631..0000000 --- a/src/main/java/burp/IHttpListener.java +++ /dev/null @@ -1,37 +0,0 @@ -package burp; - -/* - * @(#)IHttpListener.java - * - * Copyright PortSwigger Ltd. All rights reserved. - * - * This code may be used to extend the functionality of Burp Suite Free Edition - * and Burp Suite Professional, provided that this usage does not violate the - * license terms for those products. - */ -/** - * Extensions can implement this interface and then call - * IBurpExtenderCallbacks.registerHttpListener() to register an - * HTTP listener. The listener will be notified of requests and responses made - * by any Burp tool. Extensions can perform custom analysis or modification of - * these messages by registering an HTTP listener. - */ -public interface IHttpListener -{ - /** - * This method is invoked when an HTTP request is about to be issued, and - * when an HTTP response has been received. - * - * @param toolFlag A flag indicating the Burp tool that issued the request. - * Burp tool flags are defined in the - * IBurpExtenderCallbacks interface. - * @param messageIsRequest Flags whether the method is being invoked for a - * request or response. - * @param messageInfo Details of the request / response to be processed. - * Extensions can call the setter methods on this object to update the - * current message and so modify Burp's behavior. - */ - void processHttpMessage(int toolFlag, - boolean messageIsRequest, - IHttpRequestResponse messageInfo) throws Exception; -} diff --git a/src/main/java/burp/IHttpRequestResponse.java b/src/main/java/burp/IHttpRequestResponse.java deleted file mode 100644 index 1a074b8..0000000 --- a/src/main/java/burp/IHttpRequestResponse.java +++ /dev/null @@ -1,102 +0,0 @@ -package burp; - -/* - * @(#)IHttpRequestResponse.java - * - * Copyright PortSwigger Ltd. All rights reserved. - * - * This code may be used to extend the functionality of Burp Suite Free Edition - * and Burp Suite Professional, provided that this usage does not violate the - * license terms for those products. - */ -/** - * This interface is used to retrieve and update details about HTTP messages. - * - * Note: The setter methods generally can only be used before the message - * has been processed, and not in read-only contexts. The getter methods - * relating to response details can only be used after the request has been - * issued. - */ -public interface IHttpRequestResponse -{ - /** - * This method is used to retrieve the request message. - * - * @return The request message. - */ - byte[] getRequest(); - - /** - * This method is used to update the request message. - * - * @param message The new request message. - */ - void setRequest(byte[] message); - - /** - * This method is used to retrieve the response message. - * - * @return The response message. - */ - byte[] getResponse(); - - /** - * This method is used to update the response message. - * - * @param message The new response message. - */ - void setResponse(byte[] message); - - /** - * This method is used to retrieve the user-annotated comment for this item, - * if applicable. - * - * @return The user-annotated comment for this item, or null if none is set. - */ - String getComment(); - - /** - * This method is used to update the user-annotated comment for this item. - * - * @param comment The comment to be assigned to this item. - */ - void setComment(String comment); - - /** - * This method is used to retrieve the user-annotated highlight for this - * item, if applicable. - * - * @return The user-annotated highlight for this item, or null if none is - * set. - */ - String getHighlight(); - - /** - * This method is used to update the user-annotated highlight for this item. - * - * @param color The highlight color to be assigned to this item. Accepted - * values are: red, orange, yellow, green, cyan, blue, pink, magenta, gray, - * or a null String to clear any existing highlight. - */ - void setHighlight(String color); - - /** - * This method is used to retrieve the HTTP service for this request / - * response. - * - * @return An - * IHttpService object containing details of the HTTP service. - */ - IHttpService getHttpService(); - - /** - * This method is used to update the HTTP service for this request / - * response. - * - * @param httpService An - * IHttpService object containing details of the new HTTP - * service. - */ - void setHttpService(IHttpService httpService); - -} diff --git a/src/main/java/burp/IHttpRequestResponsePersisted.java b/src/main/java/burp/IHttpRequestResponsePersisted.java deleted file mode 100644 index bbdb3d3..0000000 --- a/src/main/java/burp/IHttpRequestResponsePersisted.java +++ /dev/null @@ -1,25 +0,0 @@ -package burp; - -/* - * @(#)IHttpRequestResponsePersisted.java - * - * Copyright PortSwigger Ltd. All rights reserved. - * - * This code may be used to extend the functionality of Burp Suite Free Edition - * and Burp Suite Professional, provided that this usage does not violate the - * license terms for those products. - */ -/** - * This interface is used for an - * IHttpRequestResponse object whose request and response messages - * have been saved to temporary files using - * IBurpExtenderCallbacks.saveBuffersToTempFiles(). - */ -public interface IHttpRequestResponsePersisted extends IHttpRequestResponse -{ - /** - * This method is deprecated and no longer performs any action. - */ - @Deprecated - void deleteTempFiles(); -} diff --git a/src/main/java/burp/IHttpRequestResponseWithMarkers.java b/src/main/java/burp/IHttpRequestResponseWithMarkers.java deleted file mode 100644 index 5ddc9ae..0000000 --- a/src/main/java/burp/IHttpRequestResponseWithMarkers.java +++ /dev/null @@ -1,44 +0,0 @@ -package burp; - -/* - * @(#)IHttpRequestResponseWithMarkers.java - * - * Copyright PortSwigger Ltd. All rights reserved. - * - * This code may be used to extend the functionality of Burp Suite Free Edition - * and Burp Suite Professional, provided that this usage does not violate the - * license terms for those products. - */ -import java.util.List; - -/** - * This interface is used for an - * IHttpRequestResponse object that has had markers applied. - * Extensions can create instances of this interface using - * IBurpExtenderCallbacks.applyMarkers(), or provide their own - * implementation. Markers are used in various situations, such as specifying - * Intruder payload positions, Scanner insertion points, and highlights in - * Scanner issues. - */ -public interface IHttpRequestResponseWithMarkers extends IHttpRequestResponse -{ - /** - * This method returns the details of the request markers. - * - * @return A list of index pairs representing the offsets of markers for the - * request message. Each item in the list is an int[2] array containing the - * start and end offsets for the marker. The method may return - * null if no request markers are defined. - */ - List getRequestMarkers(); - - /** - * This method returns the details of the response markers. - * - * @return A list of index pairs representing the offsets of markers for the - * response message. Each item in the list is an int[2] array containing the - * start and end offsets for the marker. The method may return - * null if no response markers are defined. - */ - List getResponseMarkers(); -} diff --git a/src/main/java/burp/IHttpService.java b/src/main/java/burp/IHttpService.java deleted file mode 100644 index 9810d80..0000000 --- a/src/main/java/burp/IHttpService.java +++ /dev/null @@ -1,39 +0,0 @@ -package burp; - -/* - * @(#)IHttpService.java - * - * Copyright PortSwigger Ltd. All rights reserved. - * - * This code may be used to extend the functionality of Burp Suite Free Edition - * and Burp Suite Professional, provided that this usage does not violate the - * license terms for those products. - */ -/** - * This interface is used to provide details about an HTTP service, to which - * HTTP requests can be sent. - */ -public interface IHttpService -{ - /** - * This method returns the hostname or IP address for the service. - * - * @return The hostname or IP address for the service. - */ - String getHost(); - - /** - * This method returns the port number for the service. - * - * @return The port number for the service. - */ - int getPort(); - - /** - * This method returns the protocol for the service. - * - * @return The protocol for the service. Expected values are "http" or - * "https". - */ - String getProtocol(); -} diff --git a/src/main/java/burp/IInterceptedProxyMessage.java b/src/main/java/burp/IInterceptedProxyMessage.java deleted file mode 100644 index bf6f47f..0000000 --- a/src/main/java/burp/IInterceptedProxyMessage.java +++ /dev/null @@ -1,116 +0,0 @@ -package burp; - -/* - * @(#)IInterceptedProxyMessage.java - * - * Copyright PortSwigger Ltd. All rights reserved. - * - * This code may be used to extend the functionality of Burp Suite Free Edition - * and Burp Suite Professional, provided that this usage does not violate the - * license terms for those products. - */ -import java.net.InetAddress; - -/** - * This interface is used to represent an HTTP message that has been intercepted - * by Burp Proxy. Extensions can register an - * IProxyListener to receive details of proxy messages using this - * interface. * - */ -public interface IInterceptedProxyMessage -{ - /** - * This action causes Burp Proxy to follow the current interception rules to - * determine the appropriate action to take for the message. - */ - static final int ACTION_FOLLOW_RULES = 0; - /** - * This action causes Burp Proxy to present the message to the user for - * manual review or modification. - */ - static final int ACTION_DO_INTERCEPT = 1; - /** - * This action causes Burp Proxy to forward the message to the remote server - * or client, without presenting it to the user. - */ - static final int ACTION_DONT_INTERCEPT = 2; - /** - * This action causes Burp Proxy to drop the message. - */ - static final int ACTION_DROP = 3; - /** - * This action causes Burp Proxy to follow the current interception rules to - * determine the appropriate action to take for the message, and then make a - * second call to processProxyMessage. - */ - static final int ACTION_FOLLOW_RULES_AND_REHOOK = 0x10; - /** - * This action causes Burp Proxy to present the message to the user for - * manual review or modification, and then make a second call to - * processProxyMessage. - */ - static final int ACTION_DO_INTERCEPT_AND_REHOOK = 0x11; - /** - * This action causes Burp Proxy to skip user interception, and then make a - * second call to processProxyMessage. - */ - static final int ACTION_DONT_INTERCEPT_AND_REHOOK = 0x12; - - /** - * This method retrieves a unique reference number for this - * request/response. - * - * @return An identifier that is unique to a single request/response pair. - * Extensions can use this to correlate details of requests and responses - * and perform processing on the response message accordingly. - */ - int getMessageReference(); - - /** - * This method retrieves details of the intercepted message. - * - * @return An IHttpRequestResponse object containing details of - * the intercepted message. - */ - IHttpRequestResponse getMessageInfo(); - - /** - * This method retrieves the currently defined interception action. The - * default action is - * ACTION_FOLLOW_RULES. If multiple proxy listeners are - * registered, then other listeners may already have modified the - * interception action before it reaches the current listener. This method - * can be used to determine whether this has occurred. - * - * @return The currently defined interception action. Possible values are - * defined within this interface. - */ - int getInterceptAction(); - - /** - * This method is used to update the interception action. - * - * @param interceptAction The new interception action. Possible values are - * defined within this interface. - */ - void setInterceptAction(int interceptAction); - - /** - * This method retrieves the name of the Burp Proxy listener that is - * processing the intercepted message. - * - * @return The name of the Burp Proxy listener that is processing the - * intercepted message. The format is the same as that shown in the Proxy - * Listeners UI - for example, "127.0.0.1:8080". - */ - String getListenerInterface(); - - /** - * This method retrieves the client IP address from which the request for - * the intercepted message was received. - * - * @return The client IP address from which the request for the intercepted - * message was received. - */ - InetAddress getClientIpAddress(); -} diff --git a/src/main/java/burp/IIntruderAttack.java b/src/main/java/burp/IIntruderAttack.java deleted file mode 100644 index 8305fbb..0000000 --- a/src/main/java/burp/IIntruderAttack.java +++ /dev/null @@ -1,31 +0,0 @@ -package burp; - -/* - * @(#)IIntruderAttack.java - * - * Copyright PortSwigger Ltd. All rights reserved. - * - * This code may be used to extend the functionality of Burp Suite Free Edition - * and Burp Suite Professional, provided that this usage does not violate the - * license terms for those products. - */ -/** - * This interface is used to hold details about an Intruder attack. - */ -public interface IIntruderAttack -{ - /** - * This method is used to retrieve the HTTP service for the attack. - * - * @return The HTTP service for the attack. - */ - IHttpService getHttpService(); - - /** - * This method is used to retrieve the request template for the attack. - * - * @return The request template for the attack. - */ - byte[] getRequestTemplate(); - -} diff --git a/src/main/java/burp/IIntruderPayloadGenerator.java b/src/main/java/burp/IIntruderPayloadGenerator.java deleted file mode 100644 index ba28643..0000000 --- a/src/main/java/burp/IIntruderPayloadGenerator.java +++ /dev/null @@ -1,50 +0,0 @@ -package burp; - -/* - * @(#)IIntruderPayloadGenerator.java - * - * Copyright PortSwigger Ltd. All rights reserved. - * - * This code may be used to extend the functionality of Burp Suite Free Edition - * and Burp Suite Professional, provided that this usage does not violate the - * license terms for those products. - */ -/** - * This interface is used for custom Intruder payload generators. Extensions - * that have registered an - * IIntruderPayloadGeneratorFactory must return a new instance of - * this interface when required as part of a new Intruder attack. - */ -public interface IIntruderPayloadGenerator -{ - /** - * This method is used by Burp to determine whether the payload generator is - * able to provide any further payloads. - * - * @return Extensions should return - * false when all the available payloads have been used up, - * otherwise - * true. - */ - boolean hasMorePayloads(); - - /** - * This method is used by Burp to obtain the value of the next payload. - * - * @param baseValue The base value of the current payload position. This - * value may be - * null if the concept of a base value is not applicable (e.g. - * in a battering ram attack). - * @return The next payload to use in the attack. - */ - byte[] getNextPayload(byte[] baseValue); - - /** - * This method is used by Burp to reset the state of the payload generator - * so that the next call to - * getNextPayload() returns the first payload again. This - * method will be invoked when an attack uses the same payload generator for - * more than one payload position, for example in a sniper attack. - */ - void reset(); -} diff --git a/src/main/java/burp/IIntruderPayloadGeneratorFactory.java b/src/main/java/burp/IIntruderPayloadGeneratorFactory.java deleted file mode 100644 index 2386306..0000000 --- a/src/main/java/burp/IIntruderPayloadGeneratorFactory.java +++ /dev/null @@ -1,40 +0,0 @@ -package burp; - -/* - * @(#)IIntruderPayloadGeneratorFactory.java - * - * Copyright PortSwigger Ltd. All rights reserved. - * - * This code may be used to extend the functionality of Burp Suite Free Edition - * and Burp Suite Professional, provided that this usage does not violate the - * license terms for those products. - */ -/** - * Extensions can implement this interface and then call - * IBurpExtenderCallbacks.registerIntruderPayloadGeneratorFactory() - * to register a factory for custom Intruder payloads. - */ -public interface IIntruderPayloadGeneratorFactory -{ - /** - * This method is used by Burp to obtain the name of the payload generator. - * This will be displayed as an option within the Intruder UI when the user - * selects to use extension-generated payloads. - * - * @return The name of the payload generator. - */ - String getGeneratorName(); - - /** - * This method is used by Burp when the user starts an Intruder attack that - * uses this payload generator. - * - * @param attack An - * IIntruderAttack object that can be queried to obtain details - * about the attack in which the payload generator will be used. - * @return A new instance of - * IIntruderPayloadGenerator that will be used to generate - * payloads for the attack. - */ - IIntruderPayloadGenerator createNewInstance(IIntruderAttack attack); -} diff --git a/src/main/java/burp/IIntruderPayloadProcessor.java b/src/main/java/burp/IIntruderPayloadProcessor.java deleted file mode 100644 index 56d7fea..0000000 --- a/src/main/java/burp/IIntruderPayloadProcessor.java +++ /dev/null @@ -1,45 +0,0 @@ -package burp; - -/* - * @(#)IIntruderPayloadProcessor.java - * - * Copyright PortSwigger Ltd. All rights reserved. - * - * This code may be used to extend the functionality of Burp Suite Free Edition - * and Burp Suite Professional, provided that this usage does not violate the - * license terms for those products. - */ -/** - * Extensions can implement this interface and then call - * IBurpExtenderCallbacks.registerIntruderPayloadProcessor() to - * register a custom Intruder payload processor. - */ -public interface IIntruderPayloadProcessor -{ - /** - * This method is used by Burp to obtain the name of the payload processor. - * This will be displayed as an option within the Intruder UI when the user - * selects to use an extension-provided payload processor. - * - * @return The name of the payload processor. - */ - String getProcessorName(); - - /** - * This method is invoked by Burp each time the processor should be applied - * to an Intruder payload. - * - * @param currentPayload The value of the payload to be processed. - * @param originalPayload The value of the original payload prior to - * processing by any already-applied processing rules. - * @param baseValue The base value of the payload position, which will be - * replaced with the current payload. - * @return The value of the processed payload. This may be - * null to indicate that the current payload should be skipped, - * and the attack will move directly to the next payload. - */ - byte[] processPayload( - byte[] currentPayload, - byte[] originalPayload, - byte[] baseValue); -} diff --git a/src/main/java/burp/IMenuItemHandler.java b/src/main/java/burp/IMenuItemHandler.java deleted file mode 100644 index d769b8c..0000000 --- a/src/main/java/burp/IMenuItemHandler.java +++ /dev/null @@ -1,36 +0,0 @@ -package burp; - -/* - * @(#)IMenuItemHandler.java - * - * Copyright PortSwigger Ltd. All rights reserved. - * - * This code may be used to extend the functionality of Burp Suite Free Edition - * and Burp Suite Professional, provided that this usage does not violate the - * license terms for those products. - */ -/** - * Extensions can implement this interface and then call - * IBurpExtenderCallbacks.registerMenuItem() to register a custom - * context menu item. - * - * @deprecated Use - * IContextMenuFactory instead. - */ -@Deprecated -public interface IMenuItemHandler -{ - /** - * This method is invoked by Burp Suite when the user clicks on a custom - * menu item which the extension has registered with Burp. - * - * @param menuItemCaption The caption of the menu item which was clicked. - * This parameter enables extensions to provide a single implementation - * which handles multiple different menu items. - * @param messageInfo Details of the HTTP message(s) for which the context - * menu was displayed. - */ - void menuItemClicked( - String menuItemCaption, - IHttpRequestResponse[] messageInfo); -} diff --git a/src/main/java/burp/IMessageEditor.java b/src/main/java/burp/IMessageEditor.java deleted file mode 100644 index 68fbafb..0000000 --- a/src/main/java/burp/IMessageEditor.java +++ /dev/null @@ -1,77 +0,0 @@ -package burp; - -/* - * @(#)IMessageEditor.java - * - * Copyright PortSwigger Ltd. All rights reserved. - * - * This code may be used to extend the functionality of Burp Suite Free Edition - * and Burp Suite Professional, provided that this usage does not violate the - * license terms for those products. - */ -import java.awt.Component; - -/** - * This interface is used to provide extensions with an instance of Burp's HTTP - * message editor, for the extension to use in its own UI. Extensions should - * call IBurpExtenderCallbacks.createMessageEditor() to obtain an - * instance of this interface. - */ -public interface IMessageEditor -{ - - /** - * This method returns the UI component of the editor, for extensions to add - * to their own UI. - * - * @return The UI component of the editor. - */ - Component getComponent(); - - /** - * This method is used to display an HTTP message in the editor. - * - * @param message The HTTP message to be displayed. - * @param isRequest Flags whether the message is an HTTP request or - * response. - */ - void setMessage(byte[] message, boolean isRequest); - - /** - * This method is used to retrieve the currently displayed message, which - * may have been modified by the user. - * - * @return The currently displayed HTTP message. - */ - byte[] getMessage(); - - /** - * This method is used to determine whether the current message has been - * modified by the user. - * - * @return An indication of whether the current message has been modified by - * the user since it was first displayed. - */ - boolean isMessageModified(); - - /** - * This method returns the data that is currently selected by the user. - * - * @return The data that is currently selected by the user, or - * null if no selection is made. - */ - byte[] getSelectedData(); - - /** - * This method can be used to retrieve the bounds of the user's selection - * into the displayed message, if applicable. - * - * @return An int[2] array containing the start and end offsets of the - * user's selection within the displayed message. If the user has not made - * any selection in the current message, both offsets indicate the position - * of the caret within the editor. For some editor views, the concept of - * selection within the message does not apply, in which case this method - * returns null. - */ - int[] getSelectionBounds(); -} diff --git a/src/main/java/burp/IMessageEditorController.java b/src/main/java/burp/IMessageEditorController.java deleted file mode 100644 index 99f5851..0000000 --- a/src/main/java/burp/IMessageEditorController.java +++ /dev/null @@ -1,49 +0,0 @@ -package burp; - -/* - * @(#)IMessageEditorController.java - * - * Copyright PortSwigger Ltd. All rights reserved. - * - * This code may be used to extend the functionality of Burp Suite Free Edition - * and Burp Suite Professional, provided that this usage does not violate the - * license terms for those products. - */ -/** - * This interface is used by an - * IMessageEditor to obtain details about the currently displayed - * message. Extensions that create instances of Burp's HTTP message editor can - * optionally provide an implementation of - * IMessageEditorController, which the editor will invoke when it - * requires further information about the current message (for example, to send - * it to another Burp tool). Extensions that provide custom editor tabs via an - * IMessageEditorTabFactory will receive a reference to an - * IMessageEditorController object for each tab instance they - * generate, which the tab can invoke if it requires further information about - * the current message. - */ -public interface IMessageEditorController -{ - /** - * This method is used to retrieve the HTTP service for the current message. - * - * @return The HTTP service for the current message. - */ - IHttpService getHttpService(); - - /** - * This method is used to retrieve the HTTP request associated with the - * current message (which may itself be a response). - * - * @return The HTTP request associated with the current message. - */ - byte[] getRequest(); - - /** - * This method is used to retrieve the HTTP response associated with the - * current message (which may itself be a request). - * - * @return The HTTP response associated with the current message. - */ - byte[] getResponse(); -} diff --git a/src/main/java/burp/IMessageEditorTab.java b/src/main/java/burp/IMessageEditorTab.java deleted file mode 100644 index 39cd0f3..0000000 --- a/src/main/java/burp/IMessageEditorTab.java +++ /dev/null @@ -1,103 +0,0 @@ -package burp; - -/* - * @(#)IMessageEditorTab.java - * - * Copyright PortSwigger Ltd. All rights reserved. - * - * This code may be used to extend the functionality of Burp Suite Free Edition - * and Burp Suite Professional, provided that this usage does not violate the - * license terms for those products. - */ -import java.awt.Component; - -/** - * Extensions that register an - * IMessageEditorTabFactory must return instances of this - * interface, which Burp will use to create custom tabs within its HTTP message - * editors. - */ -public interface IMessageEditorTab -{ - /** - * This method returns the caption that should appear on the custom tab when - * it is displayed. Note: Burp invokes this method once when the tab - * is first generated, and the same caption will be used every time the tab - * is displayed. - * - * @return The caption that should appear on the custom tab when it is - * displayed. - */ - String getTabCaption(); - - /** - * This method returns the component that should be used as the contents of - * the custom tab when it is displayed. Note: Burp invokes this - * method once when the tab is first generated, and the same component will - * be used every time the tab is displayed. - * - * @return The component that should be used as the contents of the custom - * tab when it is displayed. - */ - Component getUiComponent(); - - /** - * The hosting editor will invoke this method before it displays a new HTTP - * message, so that the custom tab can indicate whether it should be enabled - * for that message. - * - * @param content The message that is about to be displayed, or a zero-length - * array if the existing message is to be cleared. - * @param isRequest Indicates whether the message is a request or a - * response. - * @return The method should return - * true if the custom tab is able to handle the specified - * message, and so will be displayed within the editor. Otherwise, the tab - * will be hidden while this message is displayed. - */ - boolean isEnabled(byte[] content, boolean isRequest); - - /** - * The hosting editor will invoke this method to display a new message or to - * clear the existing message. This method will only be called with a new - * message if the tab has already returned - * true to a call to - * isEnabled() with the same message details. - * - * @param content The message that is to be displayed, or - * null if the tab should clear its contents and disable any - * editable controls. - * @param isRequest Indicates whether the message is a request or a - * response. - */ - void setMessage(byte[] content, boolean isRequest); - - /** - * This method returns the currently displayed message. - * - * @return The currently displayed message. - */ - byte[] getMessage(); - - /** - * This method is used to determine whether the currently displayed message - * has been modified by the user. The hosting editor will always call - * getMessage() before calling this method, so any pending - * edits should be completed within - * getMessage(). - * - * @return The method should return - * true if the user has modified the current message since it - * was first displayed. - */ - boolean isModified(); - - /** - * This method is used to retrieve the data that is currently selected by - * the user. - * - * @return The data that is currently selected by the user. This may be - * null if no selection is currently made. - */ - byte[] getSelectedData(); -} diff --git a/src/main/java/burp/IMessageEditorTabFactory.java b/src/main/java/burp/IMessageEditorTabFactory.java deleted file mode 100644 index 821cff0..0000000 --- a/src/main/java/burp/IMessageEditorTabFactory.java +++ /dev/null @@ -1,38 +0,0 @@ -package burp; - -/* - * @(#)IMessageEditorTabFactory.java - * - * Copyright PortSwigger Ltd. All rights reserved. - * - * This code may be used to extend the functionality of Burp Suite Free Edition - * and Burp Suite Professional, provided that this usage does not violate the - * license terms for those products. - */ -/** - * Extensions can implement this interface and then call - * IBurpExtenderCallbacks.registerMessageEditorTabFactory() to - * register a factory for custom message editor tabs. This allows extensions to - * provide custom rendering or editing of HTTP messages, within Burp's own HTTP - * editor. - */ -public interface IMessageEditorTabFactory -{ - /** - * Burp will call this method once for each HTTP message editor, and the - * factory should provide a new instance of an - * IMessageEditorTab object. - * - * @param controller An - * IMessageEditorController object, which the new tab can query - * to retrieve details about the currently displayed message. This may be - * null for extension-invoked message editors where the - * extension has not provided an editor controller. - * @param editable Indicates whether the hosting editor is editable or - * read-only. - * @return A new - * IMessageEditorTab object for use within the message editor. - */ - IMessageEditorTab createNewInstance(IMessageEditorController controller, - boolean editable); -} diff --git a/src/main/java/burp/IParameter.java b/src/main/java/burp/IParameter.java deleted file mode 100644 index f62d609..0000000 --- a/src/main/java/burp/IParameter.java +++ /dev/null @@ -1,104 +0,0 @@ -package burp; - -/* - * @(#)IParameter.java - * - * Copyright PortSwigger Ltd. All rights reserved. - * - * This code may be used to extend the functionality of Burp Suite Free Edition - * and Burp Suite Professional, provided that this usage does not violate the - * license terms for those products. - */ -/** - * This interface is used to hold details about an HTTP request parameter. - */ -public interface IParameter -{ - /** - * Used to indicate a parameter within the URL query string. - */ - static final byte PARAM_URL = 0; - /** - * Used to indicate a parameter within the message body. - */ - static final byte PARAM_BODY = 1; - /** - * Used to indicate an HTTP cookie. - */ - static final byte PARAM_COOKIE = 2; - /** - * Used to indicate an item of data within an XML structure. - */ - static final byte PARAM_XML = 3; - /** - * Used to indicate the value of a tag attribute within an XML structure. - */ - static final byte PARAM_XML_ATTR = 4; - /** - * Used to indicate the value of a parameter attribute within a multi-part - * message body (such as the name of an uploaded file). - */ - static final byte PARAM_MULTIPART_ATTR = 5; - /** - * Used to indicate an item of data within a JSON structure. - */ - static final byte PARAM_JSON = 6; - - /** - * This method is used to retrieve the parameter type. - * - * @return The parameter type. The available types are defined within this - * interface. - */ - byte getType(); - - /** - * This method is used to retrieve the parameter name. - * - * @return The parameter name. - */ - String getName(); - - /** - * This method is used to retrieve the parameter value. - * - * @return The parameter value. - */ - String getValue(); - - /** - * This method is used to retrieve the start offset of the parameter name - * within the HTTP request. - * - * @return The start offset of the parameter name within the HTTP request, - * or -1 if the parameter is not associated with a specific request. - */ - int getNameStart(); - - /** - * This method is used to retrieve the end offset of the parameter name - * within the HTTP request. - * - * @return The end offset of the parameter name within the HTTP request, or - * -1 if the parameter is not associated with a specific request. - */ - int getNameEnd(); - - /** - * This method is used to retrieve the start offset of the parameter value - * within the HTTP request. - * - * @return The start offset of the parameter value within the HTTP request, - * or -1 if the parameter is not associated with a specific request. - */ - int getValueStart(); - - /** - * This method is used to retrieve the end offset of the parameter value - * within the HTTP request. - * - * @return The end offset of the parameter value within the HTTP request, or - * -1 if the parameter is not associated with a specific request. - */ - int getValueEnd(); -} diff --git a/src/main/java/burp/IProxyListener.java b/src/main/java/burp/IProxyListener.java deleted file mode 100644 index e032a9d..0000000 --- a/src/main/java/burp/IProxyListener.java +++ /dev/null @@ -1,37 +0,0 @@ -package burp; - -/* - * @(#)IProxyListener.java - * - * Copyright PortSwigger Ltd. All rights reserved. - * - * This code may be used to extend the functionality of Burp Suite Free Edition - * and Burp Suite Professional, provided that this usage does not violate the - * license terms for those products. - */ -/** - * Extensions can implement this interface and then call - * IBurpExtenderCallbacks.registerProxyListener() to register a - * Proxy listener. The listener will be notified of requests and responses being - * processed by the Proxy tool. Extensions can perform custom analysis or - * modification of these messages, and control in-UI message interception, by - * registering a proxy listener. - */ -public interface IProxyListener -{ - /** - * This method is invoked when an HTTP message is being processed by the - * Proxy. - * - * @param messageIsRequest Indicates whether the HTTP message is a request - * or a response. - * @param message An - * IInterceptedProxyMessage object that extensions can use to - * query and update details of the message, and control whether the message - * should be intercepted and displayed to the user for manual review or - * modification. - */ - void processProxyMessage( - boolean messageIsRequest, - IInterceptedProxyMessage message); -} diff --git a/src/main/java/burp/IRequestInfo.java b/src/main/java/burp/IRequestInfo.java deleted file mode 100644 index 1ae8f9c..0000000 --- a/src/main/java/burp/IRequestInfo.java +++ /dev/null @@ -1,95 +0,0 @@ -package burp; - -/* - * @(#)IRequestInfo.java - * - * Copyright PortSwigger Ltd. All rights reserved. - * - * This code may be used to extend the functionality of Burp Suite Free Edition - * and Burp Suite Professional, provided that this usage does not violate the - * license terms for those products. - */ -import java.net.URL; -import java.util.List; - -/** - * This interface is used to retrieve key details about an HTTP request. - * Extensions can obtain an - * IRequestInfo object for a given request by calling - * IExtensionHelpers.analyzeRequest(). - */ -public interface IRequestInfo -{ - /** - * Used to indicate that there is no content. - */ - static final byte CONTENT_TYPE_NONE = 0; - /** - * Used to indicate URL-encoded content. - */ - static final byte CONTENT_TYPE_URL_ENCODED = 1; - /** - * Used to indicate multi-part content. - */ - static final byte CONTENT_TYPE_MULTIPART = 2; - /** - * Used to indicate XML content. - */ - static final byte CONTENT_TYPE_XML = 3; - /** - * Used to indicate JSON content. - */ - static final byte CONTENT_TYPE_JSON = 4; - /** - * Used to indicate AMF content. - */ - static final byte CONTENT_TYPE_AMF = 5; - /** - * Used to indicate unknown content. - */ - static final byte CONTENT_TYPE_UNKNOWN = -1; - - /** - * This method is used to obtain the HTTP method used in the request. - * - * @return The HTTP method used in the request. - */ - String getMethod(); - - /** - * This method is used to obtain the URL in the request. - * - * @return The URL in the request. - */ - URL getUrl(); - - /** - * This method is used to obtain the HTTP headers contained in the request. - * - * @return The HTTP headers contained in the request. - */ - List getHeaders(); - - /** - * This method is used to obtain the parameters contained in the request. - * - * @return The parameters contained in the request. - */ - List getParameters(); - - /** - * This method is used to obtain the offset within the request where the - * message body begins. - * - * @return The offset within the request where the message body begins. - */ - int getBodyOffset(); - - /** - * This method is used to obtain the content type of the message body. - * - * @return An indication of the content type of the message body. Available - * types are defined within this interface. - */ - byte getContentType(); -} diff --git a/src/main/java/burp/IResponseInfo.java b/src/main/java/burp/IResponseInfo.java deleted file mode 100644 index 8435f0a..0000000 --- a/src/main/java/burp/IResponseInfo.java +++ /dev/null @@ -1,73 +0,0 @@ -package burp; - -/* - * @(#)IResponseInfo.java - * - * Copyright PortSwigger Ltd. All rights reserved. - * - * This code may be used to extend the functionality of Burp Suite Free Edition - * and Burp Suite Professional, provided that this usage does not violate the - * license terms for those products. - */ -import java.util.List; - -/** - * This interface is used to retrieve key details about an HTTP response. - * Extensions can obtain an - * IResponseInfo object for a given response by calling - * IExtensionHelpers.analyzeResponse(). - */ -public interface IResponseInfo -{ - /** - * This method is used to obtain the HTTP headers contained in the response. - * - * @return The HTTP headers contained in the response. - */ - List getHeaders(); - - /** - * This method is used to obtain the offset within the response where the - * message body begins. - * - * @return The offset within the response where the message body begins. - */ - int getBodyOffset(); - - /** - * This method is used to obtain the HTTP status code contained in the - * response. - * - * @return The HTTP status code contained in the response. - */ - short getStatusCode(); - - /** - * This method is used to obtain details of the HTTP cookies set in the - * response. - * - * @return A list of ICookie objects representing the cookies - * set in the response, if any. - */ - List getCookies(); - - /** - * This method is used to obtain the MIME type of the response, as stated in - * the HTTP headers. - * - * @return A textual label for the stated MIME type, or an empty String if - * this is not known or recognized. The possible labels are the same as - * those used in the main Burp UI. - */ - String getStatedMimeType(); - - /** - * This method is used to obtain the MIME type of the response, as inferred - * from the contents of the HTTP message body. - * - * @return A textual label for the inferred MIME type, or an empty String if - * this is not known or recognized. The possible labels are the same as - * those used in the main Burp UI. - */ - String getInferredMimeType(); -} diff --git a/src/main/java/burp/IResponseKeywords.java b/src/main/java/burp/IResponseKeywords.java deleted file mode 100644 index aecaefa..0000000 --- a/src/main/java/burp/IResponseKeywords.java +++ /dev/null @@ -1,58 +0,0 @@ -package burp; - -/* - * @(#)IResponseKeywords.java - * - * Copyright PortSwigger Ltd. All rights reserved. - * - * This code may be used to extend the functionality of Burp Suite Free Edition - * and Burp Suite Professional, provided that this usage does not violate the - * license terms for those products. - */ -import java.util.List; - -/** - * This interface is used to represent the counts of keywords appearing in a - * number of HTTP responses. - */ -public interface IResponseKeywords -{ - - /** - * This method is used to obtain the list of keywords whose counts vary - * between the analyzed responses. - * - * @return The keywords whose counts vary between the analyzed responses. - */ - List getVariantKeywords(); - - /** - * This method is used to obtain the list of keywords whose counts do not - * vary between the analyzed responses. - * - * @return The keywords whose counts do not vary between the analyzed - * responses. - */ - List getInvariantKeywords(); - - /** - * This method is used to obtain the number of occurrences of an individual - * keyword in a response. - * - * @param keyword The keyword whose count will be retrieved. - * @param responseIndex The index of the response. Note responses are - * indexed from zero in the order they were originally supplied to the - * IExtensionHelpers.analyzeResponseKeywords() and - * IResponseKeywords.updateWith() methods. - * @return The number of occurrences of the specified keyword for the - * specified response. - */ - int getKeywordCount(String keyword, int responseIndex); - - /** - * This method is used to update the analysis based on additional responses. - * - * @param responses The new responses to include in the analysis. - */ - void updateWith(byte[]... responses); -} diff --git a/src/main/java/burp/IResponseVariations.java b/src/main/java/burp/IResponseVariations.java deleted file mode 100644 index d13f546..0000000 --- a/src/main/java/burp/IResponseVariations.java +++ /dev/null @@ -1,62 +0,0 @@ -package burp; - -/* - * @(#)IResponseVariations.java - * - * Copyright PortSwigger Ltd. All rights reserved. - * - * This code may be used to extend the functionality of Burp Suite Free Edition - * and Burp Suite Professional, provided that this usage does not violate the - * license terms for those products. - */ -import java.util.List; - -/** - * This interface is used to represent variations between a number HTTP - * responses, according to various attributes. - */ -public interface IResponseVariations -{ - - /** - * This method is used to obtain the list of attributes that vary between - * the analyzed responses. - * - * @return The attributes that vary between the analyzed responses. - */ - List getVariantAttributes(); - - /** - * This method is used to obtain the list of attributes that do not vary - * between the analyzed responses. - * - * @return The attributes that do not vary between the analyzed responses. - */ - List getInvariantAttributes(); - - /** - * This method is used to obtain the value of an individual attribute in a - * response. Note that the values of some attributes are intrinsically - * meaningful (e.g. a word count) while the values of others are less so - * (e.g. a checksum of the HTML tag names). - * - * @param attributeName The name of the attribute whose value will be - * retrieved. Extension authors can obtain the list of supported attributes - * by generating an IResponseVariations object for a single - * response and calling - * IResponseVariations.getInvariantAttributes(). - * @param responseIndex The index of the response. Note that responses are - * indexed from zero in the order they were originally supplied to the - * IExtensionHelpers.analyzeResponseVariations() and - * IResponseVariations.updateWith() methods. - * @return The value of the specified attribute for the specified response. - */ - int getAttributeValue(String attributeName, int responseIndex); - - /** - * This method is used to update the analysis based on additional responses. - * - * @param responses The new responses to include in the analysis. - */ - void updateWith(byte[]... responses); -} diff --git a/src/main/java/burp/IScanIssue.java b/src/main/java/burp/IScanIssue.java deleted file mode 100644 index fe2fdff..0000000 --- a/src/main/java/burp/IScanIssue.java +++ /dev/null @@ -1,123 +0,0 @@ -package burp; - -/* - * @(#)IScanIssue.java - * - * Copyright PortSwigger Ltd. All rights reserved. - * - * This code may be used to extend the functionality of Burp Suite Free Edition - * and Burp Suite Professional, provided that this usage does not violate the - * license terms for those products. - */ -/** - * This interface is used to retrieve details of Scanner issues. Extensions can - * obtain details of issues by registering an IScannerListener or - * by calling IBurpExtenderCallbacks.getScanIssues(). Extensions - * can also add custom Scanner issues by registering an - * IScannerCheck or calling - * IBurpExtenderCallbacks.addScanIssue(), and providing their own - * implementations of this interface. Note that issue descriptions and other - * text generated by extensions are subject to an HTML whitelist that allows - * only formatting tags and simple hyperlinks. - */ -public interface IScanIssue -{ - - /** - * This method returns the URL for which the issue was generated. - * - * @return The URL for which the issue was generated. - */ - java.net.URL getUrl(); - - /** - * This method returns the name of the issue type. - * - * @return The name of the issue type (e.g. "SQL injection"). - */ - String getIssueName(); - - /** - * This method returns a numeric identifier of the issue type. See the Burp - * Scanner help documentation for a listing of all the issue types. - * - * @return A numeric identifier of the issue type. - */ - int getIssueType(); - - /** - * This method returns the issue severity level. - * - * @return The issue severity level. Expected values are "High", "Medium", - * "Low", "Information" or "False positive". - * - */ - String getSeverity(); - - /** - * This method returns the issue confidence level. - * - * @return The issue confidence level. Expected values are "Certain", "Firm" - * or "Tentative". - */ - String getConfidence(); - - /** - * This method returns a background description for this type of issue. - * - * @return A background description for this type of issue, or - * null if none applies. A limited set of HTML tags may be - * used. - */ - String getIssueBackground(); - - /** - * This method returns a background description of the remediation for this - * type of issue. - * - * @return A background description of the remediation for this type of - * issue, or null if none applies. A limited set of HTML tags - * may be used. - */ - String getRemediationBackground(); - - /** - * This method returns detailed information about this specific instance of - * the issue. - * - * @return Detailed information about this specific instance of the issue, - * or null if none applies. A limited set of HTML tags may be - * used. - */ - String getIssueDetail(); - - /** - * This method returns detailed information about the remediation for this - * specific instance of the issue. - * - * @return Detailed information about the remediation for this specific - * instance of the issue, or null if none applies. A limited - * set of HTML tags may be used. - */ - String getRemediationDetail(); - - /** - * This method returns the HTTP messages on the basis of which the issue was - * generated. - * - * @return The HTTP messages on the basis of which the issue was generated. - * Note: The items in this array should be instances of - * IHttpRequestResponseWithMarkers if applicable, so that - * details of the relevant portions of the request and response messages are - * available. - */ - IHttpRequestResponse[] getHttpMessages(); - - /** - * This method returns the HTTP service for which the issue was generated. - * - * @return The HTTP service for which the issue was generated. - */ - IHttpService getHttpService(); - -} diff --git a/src/main/java/burp/IScanQueueItem.java b/src/main/java/burp/IScanQueueItem.java deleted file mode 100644 index 1716854..0000000 --- a/src/main/java/burp/IScanQueueItem.java +++ /dev/null @@ -1,80 +0,0 @@ -package burp; - -/* - * @(#)IScanQueueItem.java - * - * Copyright PortSwigger Ltd. All rights reserved. - * - * This code may be used to extend the functionality of Burp Suite Free Edition - * and Burp Suite Professional, provided that this usage does not violate the - * license terms for those products. - */ -/** - * This interface is used to retrieve details of items in the Burp Scanner - * active scan queue. Extensions can obtain references to scan queue items by - * calling - * IBurpExtenderCallbacks.doActiveScan(). - */ -public interface IScanQueueItem -{ - /** - * This method returns a description of the status of the scan queue item. - * - * @return A description of the status of the scan queue item. - */ - String getStatus(); - - /** - * This method returns an indication of the percentage completed for the - * scan queue item. - * - * @return An indication of the percentage completed for the scan queue - * item. - */ - byte getPercentageComplete(); - - /** - * This method returns the number of requests that have been made for the - * scan queue item. - * - * @return The number of requests that have been made for the scan queue - * item. - */ - int getNumRequests(); - - /** - * This method returns the number of network errors that have occurred for - * the scan queue item. - * - * @return The number of network errors that have occurred for the scan - * queue item. - */ - int getNumErrors(); - - /** - * This method returns the number of attack insertion points being used for - * the scan queue item. - * - * @return The number of attack insertion points being used for the scan - * queue item. - */ - int getNumInsertionPoints(); - - /** - * This method allows the scan queue item to be canceled. - */ - void cancel(); - - /** - * This method returns details of the issues generated for the scan queue - * item. Note: different items within the scan queue may contain - * duplicated versions of the same issues - for example, if the same request - * has been scanned multiple times. Duplicated issues are consolidated in - * the main view of scan results. Extensions can register an - * IScannerListener to get details only of unique, newly - * discovered Scanner issues post-consolidation. - * - * @return Details of the issues generated for the scan queue item. - */ - IScanIssue[] getIssues(); -} diff --git a/src/main/java/burp/IScannerCheck.java b/src/main/java/burp/IScannerCheck.java deleted file mode 100644 index 27ac11c..0000000 --- a/src/main/java/burp/IScannerCheck.java +++ /dev/null @@ -1,83 +0,0 @@ -package burp; - -/* - * @(#)IScannerCheck.java - * - * Copyright PortSwigger Ltd. All rights reserved. - * - * This code may be used to extend the functionality of Burp Suite Free Edition - * and Burp Suite Professional, provided that this usage does not violate the - * license terms for those products. - */ -import java.util.List; - -/** - * Extensions can implement this interface and then call - * IBurpExtenderCallbacks.registerScannerCheck() to register a - * custom Scanner check. When performing scanning, Burp will ask the check to - * perform active or passive scanning on the base request, and report any - * Scanner issues that are identified. - */ -public interface IScannerCheck -{ - - /** - * The Scanner invokes this method for each base request / response that is - * passively scanned. Note: Extensions should only analyze the - * HTTP messages provided during passive scanning, and should not make any - * new HTTP requests of their own. - * - * @param baseRequestResponse The base HTTP request / response that should - * be passively scanned. - * @return A list of IScanIssue objects, or null - * if no issues are identified. - */ - List doPassiveScan(IHttpRequestResponse baseRequestResponse); - - /** - * The Scanner invokes this method for each insertion point that is actively - * scanned. Extensions may issue HTTP requests as required to carry out - * active scanning, and should use the - * IScannerInsertionPoint object provided to build scan - * requests for particular payloads. - * Note: - * Scan checks should submit raw non-encoded payloads to insertion points, - * and the insertion point has responsibility for performing any data - * encoding that is necessary given the nature and location of the insertion - * point. - * - * @param baseRequestResponse The base HTTP request / response that should - * be actively scanned. - * @param insertionPoint An IScannerInsertionPoint object that - * can be queried to obtain details of the insertion point being tested, and - * can be used to build scan requests for particular payloads. - * @return A list of IScanIssue objects, or null - * if no issues are identified. - */ - List doActiveScan( - IHttpRequestResponse baseRequestResponse, - IScannerInsertionPoint insertionPoint); - - /** - * The Scanner invokes this method when the custom Scanner check has - * reported multiple issues for the same URL path. This can arise either - * because there are multiple distinct vulnerabilities, or because the same - * (or a similar) request has been scanned more than once. The custom check - * should determine whether the issues are duplicates. In most cases, where - * a check uses distinct issue names or descriptions for distinct issues, - * the consolidation process will simply be a matter of comparing these - * features for the two issues. - * - * @param existingIssue An issue that was previously reported by this - * Scanner check. - * @param newIssue An issue at the same URL path that has been newly - * reported by this Scanner check. - * @return An indication of which issue(s) should be reported in the main - * Scanner results. The method should return -1 to report the - * existing issue only, 0 to report both issues, and - * 1 to report the new issue only. - */ - int consolidateDuplicateIssues( - IScanIssue existingIssue, - IScanIssue newIssue); -} diff --git a/src/main/java/burp/IScannerInsertionPoint.java b/src/main/java/burp/IScannerInsertionPoint.java deleted file mode 100644 index 404b6d8..0000000 --- a/src/main/java/burp/IScannerInsertionPoint.java +++ /dev/null @@ -1,174 +0,0 @@ -package burp; - -/* - * @(#)IScannerInsertionPoint.java - * - * Copyright PortSwigger Ltd. All rights reserved. - * - * This code may be used to extend the functionality of Burp Suite Free Edition - * and Burp Suite Professional, provided that this usage does not violate the - * license terms for those products. - */ -/** - * This interface is used to define an insertion point for use by active Scanner - * checks. Extensions can obtain instances of this interface by registering an - * IScannerCheck, or can create instances for use by Burp's own - * scan checks by registering an - * IScannerInsertionPointProvider. - */ -public interface IScannerInsertionPoint -{ - - /** - * Used to indicate where the payload is inserted into the value of a URL - * parameter. - */ - static final byte INS_PARAM_URL = 0x00; - /** - * Used to indicate where the payload is inserted into the value of a body - * parameter. - */ - static final byte INS_PARAM_BODY = 0x01; - /** - * Used to indicate where the payload is inserted into the value of an HTTP - * cookie. - */ - static final byte INS_PARAM_COOKIE = 0x02; - /** - * Used to indicate where the payload is inserted into the value of an item - * of data within an XML data structure. - */ - static final byte INS_PARAM_XML = 0x03; - /** - * Used to indicate where the payload is inserted into the value of a tag - * attribute within an XML structure. - */ - static final byte INS_PARAM_XML_ATTR = 0x04; - /** - * Used to indicate where the payload is inserted into the value of a - * parameter attribute within a multi-part message body (such as the name of - * an uploaded file). - */ - static final byte INS_PARAM_MULTIPART_ATTR = 0x05; - /** - * Used to indicate where the payload is inserted into the value of an item - * of data within a JSON structure. - */ - static final byte INS_PARAM_JSON = 0x06; - /** - * Used to indicate where the payload is inserted into the value of an AMF - * parameter. - */ - static final byte INS_PARAM_AMF = 0x07; - /** - * Used to indicate where the payload is inserted into the value of an HTTP - * request header. - */ - static final byte INS_HEADER = 0x20; - /** - * Used to indicate where the payload is inserted into a URL path folder. - */ - static final byte INS_URL_PATH_FOLDER = 0x21; - /** - * Used to indicate where the payload is inserted into a URL path folder. - * This is now deprecated; use INS_URL_PATH_FOLDER instead. - */ - @Deprecated - static final byte INS_URL_PATH_REST = INS_URL_PATH_FOLDER; - /** - * Used to indicate where the payload is inserted into the name of an added - * URL parameter. - */ - static final byte INS_PARAM_NAME_URL = 0x22; - /** - * Used to indicate where the payload is inserted into the name of an added - * body parameter. - */ - static final byte INS_PARAM_NAME_BODY = 0x23; - /** - * Used to indicate where the payload is inserted into the body of the HTTP - * request. - */ - static final byte INS_ENTIRE_BODY = 0x24; - /** - * Used to indicate where the payload is inserted into the URL path - * filename. - */ - static final byte INS_URL_PATH_FILENAME = 0x25; - /** - * Used to indicate where the payload is inserted at a location manually - * configured by the user. - */ - static final byte INS_USER_PROVIDED = 0x40; - /** - * Used to indicate where the insertion point is provided by an - * extension-registered - * IScannerInsertionPointProvider. - */ - static final byte INS_EXTENSION_PROVIDED = 0x41; - /** - * Used to indicate where the payload is inserted at an unknown location - * within the request. - */ - static final byte INS_UNKNOWN = 0x7f; - - /** - * This method returns the name of the insertion point. - * - * @return The name of the insertion point (for example, a description of a - * particular request parameter). - */ - String getInsertionPointName(); - - /** - * This method returns the base value for this insertion point. - * - * @return the base value that appears in this insertion point in the base - * request being scanned, or null if there is no value in the - * base request that corresponds to this insertion point. - */ - String getBaseValue(); - - /** - * This method is used to build a request with the specified payload placed - * into the insertion point. There is no requirement for extension-provided - * insertion points to adjust the Content-Length header in requests if the - * body length has changed, although Burp-provided insertion points will - * always do this and will return a request with a valid Content-Length - * header. - * Note: - * Scan checks should submit raw non-encoded payloads to insertion points, - * and the insertion point has responsibility for performing any data - * encoding that is necessary given the nature and location of the insertion - * point. - * - * @param payload The payload that should be placed into the insertion - * point. - * @return The resulting request. - */ - byte[] buildRequest(byte[] payload); - - /** - * This method is used to determine the offsets of the payload value within - * the request, when it is placed into the insertion point. Scan checks may - * invoke this method when reporting issues, so as to highlight the relevant - * part of the request within the UI. - * - * @param payload The payload that should be placed into the insertion - * point. - * @return An int[2] array containing the start and end offsets of the - * payload within the request, or null if this is not applicable (for - * example, where the insertion point places a payload into a serialized - * data structure, the raw payload may not literally appear anywhere within - * the resulting request). - */ - int[] getPayloadOffsets(byte[] payload); - - /** - * This method returns the type of the insertion point. - * - * @return The type of the insertion point. Available types are defined in - * this interface. - */ - byte getInsertionPointType(); -} diff --git a/src/main/java/burp/IScannerInsertionPointProvider.java b/src/main/java/burp/IScannerInsertionPointProvider.java deleted file mode 100644 index a186530..0000000 --- a/src/main/java/burp/IScannerInsertionPointProvider.java +++ /dev/null @@ -1,38 +0,0 @@ -package burp; - -/* - * @(#)IScannerInsertionPointProvider.java - * - * Copyright PortSwigger Ltd. All rights reserved. - * - * This code may be used to extend the functionality of Burp Suite Free Edition - * and Burp Suite Professional, provided that this usage does not violate the - * license terms for those products. - */ -import java.util.List; - -/** - * Extensions can implement this interface and then call - * IBurpExtenderCallbacks.registerScannerInsertionPointProvider() - * to register a factory for custom Scanner insertion points. - */ -public interface IScannerInsertionPointProvider -{ - /** - * When a request is actively scanned, the Scanner will invoke this method, - * and the provider should provide a list of custom insertion points that - * will be used in the scan. Note: these insertion points are used in - * addition to those that are derived from Burp Scanner's configuration, and - * those provided by any other Burp extensions. - * - * @param baseRequestResponse The base request that will be actively - * scanned. - * @return A list of - * IScannerInsertionPoint objects that should be used in the - * scanning, or - * null if no custom insertion points are applicable for this - * request. - */ - List getInsertionPoints( - IHttpRequestResponse baseRequestResponse); -} diff --git a/src/main/java/burp/IScannerListener.java b/src/main/java/burp/IScannerListener.java deleted file mode 100644 index 85e7cbb..0000000 --- a/src/main/java/burp/IScannerListener.java +++ /dev/null @@ -1,30 +0,0 @@ -package burp; - -/* - * @(#)IScannerListener.java - * - * Copyright PortSwigger Ltd. All rights reserved. - * - * This code may be used to extend the functionality of Burp Suite Free Edition - * and Burp Suite Professional, provided that this usage does not violate the - * license terms for those products. - */ -/** - * Extensions can implement this interface and then call - * IBurpExtenderCallbacks.registerScannerListener() to register a - * Scanner listener. The listener will be notified of new issues that are - * reported by the Scanner tool. Extensions can perform custom analysis or - * logging of Scanner issues by registering a Scanner listener. - */ -public interface IScannerListener -{ - /** - * This method is invoked when a new issue is added to Burp Scanner's - * results. - * - * @param issue An - * IScanIssue object that the extension can query to obtain - * details about the new issue. - */ - void newScanIssue(IScanIssue issue); -} diff --git a/src/main/java/burp/IScopeChangeListener.java b/src/main/java/burp/IScopeChangeListener.java deleted file mode 100644 index 3ea929a..0000000 --- a/src/main/java/burp/IScopeChangeListener.java +++ /dev/null @@ -1,25 +0,0 @@ -package burp; - -/* - * @(#)IScopeChangeListener.java - * - * Copyright PortSwigger Ltd. All rights reserved. - * - * This code may be used to extend the functionality of Burp Suite Free Edition - * and Burp Suite Professional, provided that this usage does not violate the - * license terms for those products. - */ -/** - * Extensions can implement this interface and then call - * IBurpExtenderCallbacks.registerScopeChangeListener() to register - * a scope change listener. The listener will be notified whenever a change - * occurs to Burp's suite-wide target scope. - */ -public interface IScopeChangeListener -{ - /** - * This method is invoked whenever a change occurs to Burp's suite-wide - * target scope. - */ - void scopeChanged(); -} diff --git a/src/main/java/burp/ISessionHandlingAction.java b/src/main/java/burp/ISessionHandlingAction.java deleted file mode 100644 index 3915332..0000000 --- a/src/main/java/burp/ISessionHandlingAction.java +++ /dev/null @@ -1,51 +0,0 @@ -package burp; - -/* - * @(#)ISessionHandlingAction.java - * - * Copyright PortSwigger Ltd. All rights reserved. - * - * This code may be used to extend the functionality of Burp Suite Free Edition - * and Burp Suite Professional, provided that this usage does not violate the - * license terms for those products. - */ -/** - * Extensions can implement this interface and then call - * IBurpExtenderCallbacks.registerSessionHandlingAction() to - * register a custom session handling action. Each registered action will be - * available within the session handling rule UI for the user to select as a - * rule action. Users can choose to invoke an action directly in its own right, - * or following execution of a macro. - */ -public interface ISessionHandlingAction -{ - /** - * This method is used by Burp to obtain the name of the session handling - * action. This will be displayed as an option within the session handling - * rule editor when the user selects to execute an extension-provided - * action. - * - * @return The name of the action. - */ - String getActionName(); - - /** - * This method is invoked when the session handling action should be - * executed. This may happen as an action in its own right, or as a - * sub-action following execution of a macro. - * - * @param currentRequest The base request that is currently being processed. - * The action can query this object to obtain details about the base - * request. It can issue additional requests of its own if necessary, and - * can use the setter methods on this object to update the base request. - * @param macroItems If the action is invoked following execution of a - * macro, this parameter contains the result of executing the macro. - * Otherwise, it is - * null. Actions can use the details of the macro items to - * perform custom analysis of the macro to derive values of non-standard - * session handling tokens, etc. - */ - void performAction( - IHttpRequestResponse currentRequest, - IHttpRequestResponse[] macroItems); -} diff --git a/src/main/java/burp/ITab.java b/src/main/java/burp/ITab.java deleted file mode 100644 index 5a00017..0000000 --- a/src/main/java/burp/ITab.java +++ /dev/null @@ -1,38 +0,0 @@ -package burp; - -/* - * @(#)ITab.java - * - * Copyright PortSwigger Ltd. All rights reserved. - * - * This code may be used to extend the functionality of Burp Suite Free Edition - * and Burp Suite Professional, provided that this usage does not violate the - * license terms for those products. - */ -import java.awt.Component; - -/** - * This interface is used to provide Burp with details of a custom tab that will - * be added to Burp's UI, using a method such as - * IBurpExtenderCallbacks.addSuiteTab(). - */ -public interface ITab -{ - /** - * Burp uses this method to obtain the caption that should appear on the - * custom tab when it is displayed. - * - * @return The caption that should appear on the custom tab when it is - * displayed. - */ - String getTabCaption(); - - /** - * Burp uses this method to obtain the component that should be used as the - * contents of the custom tab when it is displayed. - * - * @return The component that should be used as the contents of the custom - * tab when it is displayed. - */ - Component getUiComponent(); -} diff --git a/src/main/java/burp/ITempFile.java b/src/main/java/burp/ITempFile.java deleted file mode 100644 index ea2ee23..0000000 --- a/src/main/java/burp/ITempFile.java +++ /dev/null @@ -1,33 +0,0 @@ -package burp; - -/* - * @(#)ITempFile.java - * - * Copyright PortSwigger Ltd. All rights reserved. - * - * This code may be used to extend the functionality of Burp Suite Free Edition - * and Burp Suite Professional, provided that this usage does not violate the - * license terms for those products. - */ -/** - * This interface is used to hold details of a temporary file that has been - * created via a call to - * IBurpExtenderCallbacks.saveToTempFile(). - * - */ -public interface ITempFile -{ - /** - * This method is used to retrieve the contents of the buffer that was saved - * in the temporary file. - * - * @return The contents of the buffer that was saved in the temporary file. - */ - byte[] getBuffer(); - - /** - * This method is deprecated and no longer performs any action. - */ - @Deprecated - void delete(); -} diff --git a/src/main/java/burp/ITextEditor.java b/src/main/java/burp/ITextEditor.java deleted file mode 100644 index 5b23c84..0000000 --- a/src/main/java/burp/ITextEditor.java +++ /dev/null @@ -1,90 +0,0 @@ -package burp; - -/* - * @(#)ITextEditor.java - * - * Copyright PortSwigger Ltd. All rights reserved. - * - * This code may be used to extend the functionality of Burp Suite Free Edition - * and Burp Suite Professional, provided that this usage does not violate the - * license terms for those products. - */ -import java.awt.Component; - -/** - * This interface is used to provide extensions with an instance of Burp's raw - * text editor, for the extension to use in its own UI. Extensions should call - * IBurpExtenderCallbacks.createTextEditor() to obtain an instance - * of this interface. - */ -public interface ITextEditor -{ - /** - * This method returns the UI component of the editor, for extensions to add - * to their own UI. - * - * @return The UI component of the editor. - */ - Component getComponent(); - - /** - * This method is used to control whether the editor is currently editable. - * This status can be toggled on and off as required. - * - * @param editable Indicates whether the editor should be currently - * editable. - */ - void setEditable(boolean editable); - - /** - * This method is used to update the currently displayed text in the editor. - * - * @param text The text to be displayed. - */ - void setText(byte[] text); - - /** - * This method is used to retrieve the currently displayed text. - * - * @return The currently displayed text. - */ - byte[] getText(); - - /** - * This method is used to determine whether the user has modified the - * contents of the editor. - * - * @return An indication of whether the user has modified the contents of - * the editor since the last call to - * setText(). - */ - boolean isTextModified(); - - /** - * This method is used to obtain the currently selected text. - * - * @return The currently selected text, or - * null if the user has not made any selection. - */ - byte[] getSelectedText(); - - /** - * This method can be used to retrieve the bounds of the user's selection - * into the displayed text, if applicable. - * - * @return An int[2] array containing the start and end offsets of the - * user's selection within the displayed text. If the user has not made any - * selection in the current message, both offsets indicate the position of - * the caret within the editor. - */ - int[] getSelectionBounds(); - - /** - * This method is used to update the search expression that is shown in the - * search bar below the editor. The editor will automatically highlight any - * regions of the displayed text that match the search expression. - * - * @param expression The search expression. - */ - void setSearchExpression(String expression); -} diff --git a/src/main/java/burp/Menu.java b/src/main/java/burp/Menu.java deleted file mode 100644 index 41aef12..0000000 --- a/src/main/java/burp/Menu.java +++ /dev/null @@ -1,154 +0,0 @@ -package burp; - -import javax.swing.*; -import java.awt.event.MouseEvent; -import java.awt.event.MouseListener; -import java.util.ArrayList; -import java.util.List; - -public class Menu implements IContextMenuFactory { - private static JMenu subMenu; - private static AWSSignerMenuItem enabledMenuItem; - private static AWSSignerMenuItem[] menuItems = new AWSSignerMenuItem[] {}; - - @Override - public List createMenuItems(IContextMenuInvocation invocation) { - List list; - list = new ArrayList<>(); - - // Create menu items - subMenu = new JMenu("AWSSigner"); - - // Always create the disable signer item - JMenuItem disableItem = new JMenuItem("Disable AWSSigner"); - initializeDisableItem(disableItem); - if (enabledMenuItem == null) { - disableItem.setEnabled(false); - } else { - disableItem.setEnabled(true); - } - - subMenu.add(disableItem); - - // Add a menu item for every profile we currently have - for (AWSSignerMenuItem menuItem : menuItems) { - initializeMenuItem(menuItem); - subMenu.add(menuItem); - } - - list.add(subMenu); - return list; - } - - public static void setMenuItems(AWSSignerMenuItem[] menuItems) { - Menu.menuItems = menuItems; - } - - private void initializeMenuItem(AWSSignerMenuItem newMenuItem) { - newMenuItem.addMouseListener(new MouseListener() { - @Override - public void mouseClicked(MouseEvent e) { - - } - - @Override - public void mousePressed(MouseEvent e) { - - } - - @Override - public void mouseReleased(MouseEvent e) { - - // Enable the profile, and disable the old profile - if (enabledMenuItem != null) { - enabledMenuItem.disableProfile(); - } - newMenuItem.enableProfile(); - enabledMenuItem = newMenuItem; - } - - @Override - public void mouseEntered(MouseEvent e) { - - } - - @Override - public void mouseExited(MouseEvent e) { - - } - }); - - if (newMenuItem.isProfileEnabled()) { - if (enabledMenuItem != null) { - enabledMenuItem.disableProfile(); - } - newMenuItem.enableProfile(); - enabledMenuItem = newMenuItem; - } - } - - private static void initializeDisableItem(JMenuItem menuItem) { - menuItem.addMouseListener(new MouseListener() { - @Override - public void mouseClicked(MouseEvent e) { - - } - - @Override - public void mousePressed(MouseEvent e) { - - } - - @Override - public void mouseReleased(MouseEvent e) { - - // To disable the signer, set the enabled item to null - if (enabledMenuItem != null) { - enabledMenuItem.disableProfile(); - enabledMenuItem = null; - } - } - - @Override - public void mouseEntered(MouseEvent e) { - - } - - @Override - public void mouseExited(MouseEvent e) { - - } - }); - } - - public static int getEnabledProfile(){ - if (enabledMenuItem == null) { - return 0; - } - return enabledMenuItem.getProfileNumber(); - } - - // I expect most of the time, the profile will be enabled through the context menu, but - // we support enabling profiles through the signer tab too, which is why this needs to be here - public static void setEnabledProfile(int profile) { - if (enabledMenuItem != null) { - enabledMenuItem.disableProfile(); - } - - // Also allow the signer tab to disable the signer - if (profile == 0) { - enabledMenuItem.disableProfile(); - enabledMenuItem = null; - } else { - - // I don't want to keep a map of all the profiles. Just iterate through them until we find the right one - for (AWSSignerMenuItem menuItem : menuItems) { - if (menuItem.getProfileNumber() == profile) { - menuItem.enableProfile(); - enabledMenuItem = menuItem; - } - } - } - } - -} diff --git a/src/main/java/burp/TabPanel.form b/src/main/java/burp/TabPanel.form deleted file mode 100644 index ee734d5..0000000 --- a/src/main/java/burp/TabPanel.form +++ /dev/null @@ -1,165 +0,0 @@ - -
    - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
    diff --git a/src/main/java/com/netspi/awssigner/controller/AWSSignerController.java b/src/main/java/com/netspi/awssigner/controller/AWSSignerController.java new file mode 100644 index 0000000..c42015a --- /dev/null +++ b/src/main/java/com/netspi/awssigner/controller/AWSSignerController.java @@ -0,0 +1,810 @@ +package com.netspi.awssigner.controller; + +import burp.BurpExtender; +import burp.IContextMenuInvocation; +import com.netspi.awssigner.credentials.SigningCredentials; +import com.google.gson.GsonBuilder; +import com.google.gson.JsonObject; +import com.google.gson.JsonParser; +import com.netspi.awssigner.credentials.ProfileCredentialTester; +import com.netspi.awssigner.log.LogLevel; +import com.netspi.awssigner.log.LogWriter; +import com.netspi.awssigner.model.StaticCredentialsProfile; +import com.netspi.awssigner.model.AWSSignerConfiguration; +import com.netspi.awssigner.model.AssumeRoleProfile; +import com.netspi.awssigner.model.CommandProfile; +import com.netspi.awssigner.model.Profile; +import com.netspi.awssigner.view.AddProfileDialog; +import com.netspi.awssigner.view.BurpTabPanel; +import java.awt.CardLayout; +import java.awt.event.ActionEvent; +import java.awt.event.ItemEvent; +import java.util.List; +import java.util.Optional; +import java.util.function.BiConsumer; +import javax.swing.DefaultListModel; +import javax.swing.SwingUtilities; +import javax.swing.event.ListSelectionEvent; +import static com.netspi.awssigner.log.LogWriter.*; +import com.netspi.awssigner.model.persistence.ProfileExporter; +import com.netspi.awssigner.view.BurpUIComponentCustomizer; +import com.netspi.awssigner.view.CopyProfileDialog; +import com.netspi.awssigner.view.ImportDialog; +import java.awt.Component; +import java.awt.event.MouseAdapter; +import java.awt.event.MouseEvent; +import java.awt.event.MouseListener; +import java.io.IOException; +import java.nio.file.Path; +import java.util.ArrayList; +import java.util.stream.Collectors; +import javax.swing.ButtonGroup; +import javax.swing.JFileChooser; +import javax.swing.JMenu; +import javax.swing.JMenuItem; +import javax.swing.JOptionPane; +import javax.swing.JRadioButtonMenuItem; + +/** + * The complex class which enforces logic and syncs up the configuration model + * and the UI view. + */ +public class AWSSignerController { + + private final BurpTabPanel view; + private final AWSSignerConfiguration model; + + private final static String INIT_PROFILE_NAME = "Profile 1"; + + //Need these because we have to add and remove when setting up / updating combo boxes + private ComboBoxProfileSelectionListener alwaysSignWithComboBoxProfileSelectionListener; + private ComboBoxProfileSelectionListener assumerProfileComboBoxProfileSelectionListener; + + public AWSSignerController(BurpTabPanel view, AWSSignerConfiguration model) { + this.view = view; + this.model = model; + + initListeners(); + + //Add the initial profile + addProfile(new StaticCredentialsProfile(INIT_PROFILE_NAME)); + } + + private void initListeners() { + //Global signing checkbox + view.signingEnabledCheckbox.addItemListener((ItemEvent e) -> { + logDebug("Global Signing Enabled Checkbox State Change."); + model.isEnabled = (e.getStateChange() == ItemEvent.SELECTED); + logInfo("Signing Enabled: " + model.isEnabled); + }); + + //"Always Sign With" profile selection combox box + alwaysSignWithComboBoxProfileSelectionListener = new ComboBoxProfileSelectionListener(model, "Always Sign With", (Profile profile) -> { + logDebug("Setting \"Always Sign With\" Profile to: " + profile); + model.alwaysSignWithProfile = profile; + }); + view.alwaysSignWithProfileComboBox.addItemListener(alwaysSignWithComboBoxProfileSelectionListener); + + //Logging Level combox box + view.logLevelComboBox.addItemListener(((event) -> { + logDebug("Log Level ComboBox Item Event:" + " StateChange: " + event.getStateChange() + " Item: " + event.getItem()); + if (event.getStateChange() == ItemEvent.SELECTED) { + String selectedLoggingLevel = (String) event.getItem(); + LogLevel newLoggingLevel = LogLevel.valueOf(selectedLoggingLevel.toUpperCase()); + logDebug("New logging level set to: " + newLoggingLevel); + LogWriter.setLevel(newLoggingLevel); + } + })); + + //Add button + view.addProfileButton.addActionListener(((ActionEvent e) -> { + logDebug("Add Profile Button Clicked."); + final AddProfileDialog dialog = new AddProfileDialog(null, true, model.getProfileNames()); + BurpUIComponentCustomizer.applyBurpStyling(dialog); + dialog.pack(); + dialog.setLocationRelativeTo(SwingUtilities.getWindowAncestor(view)); + Optional addProfileResult = dialog.showDialog(); + if (addProfileResult.isPresent()) { + Profile newProfile = addProfileResult.get(); + logInfo("New profile to be added from Add dialog: " + newProfile); + addProfile(newProfile); + } else { + logInfo("No new profile returned from Add dialog."); + } + })); + + //Delete button + view.deleteProfileButton.addActionListener(((ActionEvent e) -> { + logDebug("Delete Profile Button Clicked."); + + Optional currentSelectedProfileOptional = getCurrentSelectedProfile(); + if (currentSelectedProfileOptional.isEmpty()) { + logError("There is no current profile selected. Cannot delete."); + return; + } + final Profile selectedProfile = currentSelectedProfileOptional.get(); + final String selectedProfileName = selectedProfile.getName(); + + //Check if selectedProfile is allowed to be deleted. + //No other profile must use this one as the assumer + List dependentProfileNames = model.profiles.stream().filter(profile -> { + return profile instanceof AssumeRoleProfile + && ((AssumeRoleProfile) profile).getAssumerProfile().isPresent() + && ((AssumeRoleProfile) profile).getAssumerProfile().get().getName().equals(selectedProfileName); + }).map(Profile::getName).collect(Collectors.toList()); + if (!dependentProfileNames.isEmpty()) { + JOptionPane.showMessageDialog(SwingUtilities.getWindowAncestor(view), + "Cannot delete profile \"" + selectedProfileName + "\" as it is the assumer profile for the following profile(s): " + dependentProfileNames, + "Cannot Delete Profile", JOptionPane.ERROR_MESSAGE); + return; + } + + //Check if the selected profile is currently the default profile + if (model.alwaysSignWithProfile != null && model.alwaysSignWithProfile.getName().equals(selectedProfileName)) { + JOptionPane.showMessageDialog(SwingUtilities.getWindowAncestor(view), + "Cannot delete profile \"" + selectedProfileName + "\" because it is the current default profile.", + "Cannot Delete Profile", JOptionPane.ERROR_MESSAGE); + return; + } + + //Looks good, we should be able to delete. + //Show confirmation dialog + int result = JOptionPane.showConfirmDialog(SwingUtilities.getWindowAncestor(view), + "Are you sure you want to delete profile " + selectedProfileName + "?", + "Confirm Profile Delete", + JOptionPane.YES_NO_OPTION, + JOptionPane.QUESTION_MESSAGE); + if (result == JOptionPane.YES_OPTION) { + logInfo("Deletion was confirmed"); + deleteProfile(selectedProfile); + } else { + logInfo("Deletion was not confirmed"); + } + })); + + //Copy button + view.copyProfileButton.addActionListener(((ActionEvent e) -> { + logDebug("Copy Profile Button Clicked."); + Optional optionalCurrentProfile = getCurrentSelectedProfile(); + if (optionalCurrentProfile.isEmpty()) { + + } else { + Profile currentSelectedProfile = optionalCurrentProfile.get(); + logInfo("Copying profile: " + currentSelectedProfile.getName()); + final CopyProfileDialog dialog = new CopyProfileDialog(null, true, model.getProfileNames(), currentSelectedProfile); + BurpUIComponentCustomizer.applyBurpStyling(dialog); + dialog.pack(); + dialog.setLocationRelativeTo(SwingUtilities.getWindowAncestor(view)); + Optional copyProfileResult = dialog.showDialog(); + if (copyProfileResult.isPresent()) { + Profile newProfile = copyProfileResult.get(); + logInfo("New profile to be added from Copy dialog: " + newProfile); + addProfile(newProfile); + } else { + logInfo("No new profile returned from Copy dialog."); + } + } + })); + + //Import button + view.importProfilesButton.addActionListener(((ActionEvent e) -> { + logDebug("Import Profile Button Clicked."); + final ImportDialog dialog = new ImportDialog(null, true, model.getProfileNames()); + BurpUIComponentCustomizer.applyBurpStyling(dialog); + dialog.pack(); + dialog.setLocationRelativeTo(SwingUtilities.getWindowAncestor(view)); + Optional> importProfilesResult = dialog.showDialog(); + if (importProfilesResult.isPresent()) { + List importedProfiles = importProfilesResult.get(); + logInfo("New profiles to be added from import dialog: " + importedProfiles); + importedProfiles.stream().forEachOrdered(this::addProfile); + } else { + logInfo("No new profiles returned from import dialog."); + } + })); + + //Export button + view.exportProfilesButton.addActionListener(((ActionEvent e) -> { + logDebug("Export Profile Button Clicked."); + JFileChooser fileChooser = new JFileChooser(); + if (fileChooser.showSaveDialog(SwingUtilities.getWindowAncestor(view)) == JFileChooser.APPROVE_OPTION) { + Path exportPath = fileChooser.getSelectedFile().toPath(); + ProfileExporter exporter = new ProfileExporter(exportPath); + try { + exporter.exportProfiles(model.profiles); + } catch (IOException ex) { + logError("Unable to export profiles to file " + exportPath + " due to exception: " + ex); + } + } + })); + + //Selected profile + view.profileList.addListSelectionListener((ListSelectionEvent e) -> { + boolean valueIsAdjusting = e.getValueIsAdjusting(); + String selectedProfileName = view.profileList.getSelectedValue(); + logDebug("Profile List Item Selected." + + " ValueIsAdjusting: " + valueIsAdjusting + + " FirstIndex: " + e.getFirstIndex() + + " LastIndex: " + e.getLastIndex() + + " Selected Profile Name: " + selectedProfileName); + + //We only care about the final result + if (!valueIsAdjusting && selectedProfileName != null) { + logInfo("Profile List Item Selected Value: " + selectedProfileName); + Profile selectedProfile = model.getProfileForName(selectedProfileName).get(); + //Update the display to show the profile's configuration. + initializeProfileConfigurationTab(selectedProfile); + } + + }); + + //Profile enabled checkbox + view.profileEnabledCheckbox.addItemListener((ItemEvent e) -> { + handleProfileConfigurationCheckboxEvent(e, "Signing Enabled", Profile::setEnabled); + }); + + //Profile in-scope-only checkbox + view.profileInScopeOnlyCheckbox.addItemListener((ItemEvent e) -> { + handleProfileConfigurationCheckboxEvent(e, "In-Scope Only Checkbox", Profile::setInScopeOnly); + }); + + //Profile Region text field + view.profileRegionTextField.addFocusListener(new TextComponentFocusListener<>(this, "Region", Profile::setRegion)); + + //Profile Service text field + view.profileServiceTextField.addFocusListener(new TextComponentFocusListener<>(this, "Service", Profile::setService)); + + //Profile Key Id text field + view.profileKeyIdTextField.addFocusListener(new TextComponentFocusListener<>(this, "Key Id", Profile::setKeyId)); + + //Test credentials button + view.testProfileButton.addActionListener(((ActionEvent e) -> { + logDebug("Test Credentials Button Clicked."); + + Optional currentProfileOptional = getCurrentSelectedProfile(); + if (currentProfileOptional.isEmpty()) { + logDebug("There is no currently selected profile to test credentials for."); + return; + } + + Profile profile = currentProfileOptional.get(); + //Check if we even have enough information to test this profile + if (!profile.requiredFieldsAreSet()) { + logDebug("Profile " + profile.getName() + " does not have all required fields"); + updateProfileStatus(); + return; + } + + view.profileStatusTextLabel.setText("Starting profile test"); + + //Run in another thread to not block the UI + new Thread(() -> { + ProfileCredentialTester tester = new ProfileCredentialTester(profile); + try { + SigningCredentials creds = tester.testProfile(); + + logInfo("Successfully obtained credentials with profile: " + profile.getName()); + + //Check if we're still showing the same profile + Optional newProfileOptional = getCurrentSelectedProfile(); + if (newProfileOptional.isEmpty()) { + logDebug("There is no currently selected profile to test credentials for."); + //No profile is currnetly selected + } + Profile newProfile = newProfileOptional.get(); + if (profile.getName().equals(newProfile.getName())) { + //Showing the same profile. we can update UI fields. + view.profileStatusTextLabel.setText("Success"); + if (profile instanceof CommandProfile) { + view.commandExtractedAccessKeyTextField.setText(creds.getAccessKey()); + view.commandExtractedSecretKeyTextField.setText(creds.getSecretKey()); + if (creds.getSessionToken().isPresent()) { + view.commandExtractedSessionTokenTextField.setText(creds.getSessionToken().get()); + } + } + } + + } catch (Exception ex) { + logError("Failed to obtain credentials with profile: " + profile.getName()); + + //Quick check to see if we need to report the cause at one level deeper + Throwable cause = ex.getCause() == null ? ex : ex.getCause(); + logError("Cause: " + cause.getMessage()); + view.profileStatusTextLabel.setText("Error testing profile: " + cause.getMessage()); + } + }).start(); + + })); + + //Static Credentials Access Key text field + view.staticAccessKeyTextField.addFocusListener(new TextComponentFocusListener<>(this, "Static Credentials Access Key", StaticCredentialsProfile::setAccessKey)); + + //Static Credentials Secret Key text field + view.staticSecretKeyTextField.addFocusListener(new TextComponentFocusListener<>(this, "Static Credentials Secret Key", StaticCredentialsProfile::setSecretKey)); + + //Static Credentials Session Token text field + view.staticSessionTokenTextField.addFocusListener(new TextComponentFocusListener<>(this, "Static Credentials Secret Key", StaticCredentialsProfile::setSessionToken)); + + //AssumeRole assumer profile + assumerProfileComboBoxProfileSelectionListener = new ComboBoxProfileSelectionListener(model, "Always Sign With", (Profile profile) -> { + //This SHOULD be a safe assumption, but I'm concerned... + AssumeRoleProfile currentSelectedProfile = (AssumeRoleProfile) getCurrentSelectedProfile().get(); + logDebug("Setting \"Assumer Profile\" Profile of " + currentSelectedProfile.getName() + " to: " + profile); + currentSelectedProfile.setAssumerProfile(profile); + }); + view.assumeRoleAssumerProfileComboBox.addItemListener(assumerProfileComboBoxProfileSelectionListener); + + //AssumeRole Role ARN text field + view.assumeRoleRoleArnTextField.addFocusListener(new TextComponentFocusListener<>(this, "AssumeRole Role ARN", AssumeRoleProfile::setRoleArn)); + + //AssumeRole Session Name text field + view.assumeRoleSessionNameTextField.addFocusListener(new TextComponentFocusListener<>(this, "AssumeRole Session Name", AssumeRoleProfile::setSessionName)); + + //AssumeRole External Id text field + view.assumeRoleExternalIdTextField.addFocusListener(new TextComponentFocusListener<>(this, "AssumeRole External Id", AssumeRoleProfile::setExternalId)); + + //AssumeRole Duration text field + view.assumeRoleDurationTextField.addFocusListener(new TextComponentFocusListener<>(this, "AssumeRole Duration Seconds", AssumeRoleProfile::setDurationSecondsFromText)); + + //AssumeRole Session Policy text area + view.assumeRoleSessionPolicyTextArea.addFocusListener(new TextComponentFocusListener<>(this, "AssumeRole Session Policy", AssumeRoleProfile::setSessionPolicy)); + + //AssumeRole Session Policy Prettify Button + view.assumeRoleSessionPolicyPrettifyButton.addActionListener(((ActionEvent e) -> { + logDebug("Session Policy Prettify Button Clicked."); + + //This SHOULD be a safe assumption, but I'm concerned... + AssumeRoleProfile currentSelectedProfile = (AssumeRoleProfile) getCurrentSelectedProfile().get(); + Optional sessionPolicyOptional = currentSelectedProfile.getSessionPolicy(); + + if (sessionPolicyOptional.isPresent()) { + String sessionPolicy = sessionPolicyOptional.get(); + try { + //Parse the session policy text into JSON + JsonObject json = JsonParser.parseString(sessionPolicy).getAsJsonObject(); + + //Back to a string with pretty-printing + String prettyJson = new GsonBuilder().setPrettyPrinting().create().toJson(json); + + //Set both the profile value and the UI field + view.assumeRoleSessionPolicyTextArea.setText(prettyJson); + currentSelectedProfile.setSessionPolicy(prettyJson); + } catch (RuntimeException ex) { + logError("Unable to parse session policy into JSON object and pretty print. Current value: " + sessionPolicy); + //Quick check to see if we need to report the cause at one level deeper + Throwable cause = ex.getCause() == null ? ex : ex.getCause(); + view.profileStatusTextLabel.setText("Session policy error: " + cause.getMessage()); + } + } else { + logDebug("There's no current session policy. Nothing to set."); + } + + })); + + //Command Duration text field + view.commandCommandTextField.addFocusListener(new TextComponentFocusListener<>(this, "Command Command", CommandProfile::setCommand)); + + //Command Duration text field + view.commandDurationTextField.addFocusListener(new TextComponentFocusListener<>(this, "Command Duration Seconds", CommandProfile::setDurationSecondsFromText)); + + //Add focus handler to various components (panels, etc) to ensure that when the user clicks out of input field, that field loses focus. + addFocusGrabber(view.globalSettingsPanel); + addFocusGrabber(view.profileListScrollPane); + addFocusGrabber(view.rightSideParentPanel); + addFocusGrabber(view.profileConfigurationPanel); + addFocusGrabber(view.profileConfigurationScrollPane); + addFocusGrabber(view.staticCredentialsPanel); + addFocusGrabber(view.assumeRolePanel); + addFocusGrabber(view.commandPanel); + addFocusGrabber(view.commandPanel); + + } + + private void addFocusGrabber(final Component focusable) { + + focusable.addMouseListener(new MouseAdapter() { + @Override + public void mouseClicked(MouseEvent e) { + LogWriter.logDebug("Grabbing focus for containing component."); + focusable.requestFocusInWindow(); + } + }); + } + + private void handleProfileConfigurationCheckboxEvent(ItemEvent e, String propertyLoggingName, BiConsumer updateFunction) { + logDebug("Profile " + propertyLoggingName + " State Change:" + e.getStateChange()); + boolean checkboxEnabled = (e.getStateChange() == ItemEvent.SELECTED); + Optional currentProfileOptional = getCurrentSelectedProfile(); + if (currentProfileOptional.isPresent()) { + Profile currentProfile = currentProfileOptional.get(); + logInfo("Profile " + currentProfile.getName() + " " + propertyLoggingName + " changed to " + (checkboxEnabled ? "enabled" : "disabled")); + updateFunction.accept(currentProfile, checkboxEnabled); + } else { + logDebug("Profile " + propertyLoggingName + " changed, but no profile selected. Ignoring."); + } + updateProfileStatus(); + } + + private void addProfile(Profile newProfile) { + //Add it to our model for tracking + model.profiles.add(newProfile); + + //Setup profile list + DefaultListModel listModel = resetProfileList(); + view.profileList.setSelectedIndex(listModel.indexOf(newProfile.getName())); + + //Reset "Always Sign With" combo box + resetAlwaysSignWithProfileComboBox(); + + initializeProfileConfigurationTab(newProfile); + } + + private void deleteProfile(Profile profile) { + //Confirm our model contains the profile. This is just a sanity check + if (!model.profiles.contains(profile)) { + logError("Attempting to delete profile which doesn't exist. Something is wrong!"); + return; + } + logDebug("Removing " + profile.getName()); + + //TODO: Need to handle 2 main cases. + if (model.profiles.size() == 1) { + //1. We're removing the only model, reset to initial view + logDebug("Removing only profile. Resetting to initial display"); + model.profiles.remove(profile); + resetProfileList(); + resetAlwaysSignWithProfileComboBox(); + resetProfileConfigurationTabToDefault(); + } else { + //2. There is at least one other profile. Select the next one. + logDebug("Removing profile and selecting the next in line."); + + //Determine which profile will be shown next. + DefaultListModel listModel = resetProfileList(); + int indexToBeDeleted = listModel.indexOf(profile.getName()); + //if we're at the bottom, select one up, otherwise select one profile down + int nextSelectionIndex; + if (indexToBeDeleted == listModel.size() - 1) { + nextSelectionIndex = indexToBeDeleted - 1; + } else { + nextSelectionIndex = indexToBeDeleted + 1; + } + String nextProfileName = (String) listModel.get(nextSelectionIndex); + + //OK now remove it + model.profiles.remove(profile); + resetProfileList(); + resetAlwaysSignWithProfileComboBox(); + + //Select and display the next choice. + listModel = resetProfileList(); + Profile selectedProfile = model.getProfileForName(nextProfileName).get(); + view.profileList.setSelectedIndex(listModel.indexOf(nextProfileName)); + initializeProfileConfigurationTab(selectedProfile); + } + + } + + private void initializeProfileConfigurationTab(Profile currentProfile) { + initializeProfileConfigurationCommonFields(currentProfile); + + //Handle type-specific fields + if (currentProfile instanceof StaticCredentialsProfile) { + StaticCredentialsProfile staticCredentialsProfile = (StaticCredentialsProfile) currentProfile; + initializeStaticCredentialsProfileFields(staticCredentialsProfile); + ((CardLayout) view.credentialCardContainerPanel.getLayout()).show(view.credentialCardContainerPanel, "static_credentials_card"); + } else if (currentProfile instanceof AssumeRoleProfile) { + AssumeRoleProfile assumeRoleProfile = (AssumeRoleProfile) currentProfile; + initializeAssumeRoleProfileFields(assumeRoleProfile); + ((CardLayout) view.credentialCardContainerPanel.getLayout()).show(view.credentialCardContainerPanel, "assume_role_card"); + } else if (currentProfile instanceof CommandProfile) { + CommandProfile commandProfile = (CommandProfile) currentProfile; + initializeCommandProfileFields(commandProfile); + ((CardLayout) view.credentialCardContainerPanel.getLayout()).show(view.credentialCardContainerPanel, "command_card"); + } else { + throw new IllegalStateException("Profile does not match expected type. Found Type: " + currentProfile.getClass().getName()); + } + + //Update the profile's status: + updateProfileStatus(); + } + + private void resetProfileConfigurationTabToDefault() { + //Reset the "common" fields + view.profileNameLabel.setText("[Add A Profile To Begin]"); + view.profileEnabledCheckbox.setEnabled(false); + view.profileEnabledCheckbox.setSelected(false); + view.profileInScopeOnlyCheckbox.setEnabled(false); + view.profileInScopeOnlyCheckbox.setSelected(false); + view.profileRegionTextField.setEnabled(false); + view.profileRegionTextField.setText(""); + view.profileServiceTextField.setEnabled(false); + view.profileServiceTextField.setText(""); + view.profileKeyIdTextField.setEnabled(false); + view.profileKeyIdTextField.setText(""); + view.testProfileButton.setEnabled(false); + + //Default to the static creds card + ((CardLayout) view.credentialCardContainerPanel.getLayout()).show(view.credentialCardContainerPanel, "static_credentials_card"); + view.staticAccessKeyTextField.setEnabled(false); + view.staticAccessKeyTextField.setText(""); + view.staticAccessKeyTextField.getInputVerifier().shouldYieldFocus(view.staticAccessKeyTextField, view.staticAccessKeyTextField); + view.staticSecretKeyTextField.setEnabled(false); + view.staticSecretKeyTextField.setText(""); + view.staticSecretKeyTextField.getInputVerifier().shouldYieldFocus(view.staticSecretKeyTextField, view.staticSecretKeyTextField); + view.staticSessionTokenTextField.setEnabled(false); + view.staticSessionTokenTextField.setText(""); + view.profileStatusTextLabel.setText("Must add profile to begin editing"); + + } + + private void initializeProfileConfigurationCommonFields(Profile currentProfile) { + //Update the Profile Configuration Tab common fields + view.profileNameLabel.setText(currentProfile.getName()); + view.profileEnabledCheckbox.setEnabled(true); + view.profileEnabledCheckbox.setSelected(currentProfile.isEnabled()); + view.profileInScopeOnlyCheckbox.setEnabled(true); + view.profileInScopeOnlyCheckbox.setSelected(currentProfile.isInScopeOnly()); + view.profileRegionTextField.setEnabled(true); + view.profileRegionTextField.setText(currentProfile.getRegion().orElse("")); + view.profileServiceTextField.setEnabled(true); + view.profileServiceTextField.setText(currentProfile.getService().orElse("")); + view.profileKeyIdTextField.setEnabled(true); + view.profileKeyIdTextField.setText(currentProfile.getKeyId().orElse("")); + view.testProfileButton.setEnabled(true); + } + + private void initializeStaticCredentialsProfileFields(StaticCredentialsProfile staticCredentialsProfile) { + String accessKey = staticCredentialsProfile.getAccessKey().orElse(""); + String secretKey = staticCredentialsProfile.getSecretKey().orElse(""); + String sessionToken = staticCredentialsProfile.getSessionToken().orElse(""); + + view.staticAccessKeyTextField.setEnabled(true); + view.staticAccessKeyTextField.setText(accessKey); + view.staticAccessKeyTextField.getInputVerifier().shouldYieldFocus(view.staticAccessKeyTextField, view.staticAccessKeyTextField); + view.staticSecretKeyTextField.setEnabled(true); + view.staticSecretKeyTextField.setText(secretKey); + view.staticSecretKeyTextField.getInputVerifier().shouldYieldFocus(view.staticSecretKeyTextField, view.staticSecretKeyTextField); + view.staticSessionTokenTextField.setEnabled(true); + view.staticSessionTokenTextField.setText(sessionToken); + + //Calculate initial status + if ((accessKey == null) && (secretKey == null)) { + view.profileStatusTextLabel.setText("Missing Access Key and Secret Key"); + } else if ((accessKey == null)) { + view.profileStatusTextLabel.setText("Missing Access Key"); + } else if ((secretKey == null)) { + view.profileStatusTextLabel.setText("Missing Secret Key"); + } else { + view.profileStatusTextLabel.setText("Ready for testing"); + } + } + + private void initializeAssumeRoleProfileFields(AssumeRoleProfile assumeRoleProfile) { + + //Calculate which profiles may be used as the assumer + List profiles = model.profiles; + List profileNames = profiles.stream() + .filter(profile -> { + final String potentialAssumerProfileName = profile.getName(); + logDebug("Checking if profile should be included in assumer profile choices: " + potentialAssumerProfileName); + //Check if the potential profile is the profile being shown. + //AssumeRole can't use itself as the assumer + if (potentialAssumerProfileName.equals(assumeRoleProfile.getName())) { + logDebug("Excluding self from assumer profile choices: " + potentialAssumerProfileName); + return false; + } + + //This loop prevents a cycle of assume role. Walk up the chain + // of assumer profiles and confirm the current profile isn't present + // in that chain. + Profile potentialAssumer = profile; + while (potentialAssumer instanceof AssumeRoleProfile) { + + //This is an assume role profile itself. + Optional parentAssumerProfileOptional = ((AssumeRoleProfile) potentialAssumer).getAssumerProfile(); + //Check if the parent is set. + if (parentAssumerProfileOptional.isPresent()) { + Profile parentAssumerProfile = parentAssumerProfileOptional.get(); + //Make sure the parent assumer profile is not the same one being configured. That would be a cycle. + if (parentAssumerProfile.getName().equals(assumeRoleProfile.getName())) { + logDebug("Excluding " + + potentialAssumerProfileName + + " from being an assumer profile for " + + assumeRoleProfile.getName() + + " because it would create a cycle through the " + + potentialAssumer.getName() + " profile."); + return false; + } + //Loop again to go up another level + potentialAssumer = parentAssumerProfile; + } else { + //The parent isn't set. Safe to break out and include + break; + } + } + //If we made it here, no cycle detected. This profile can be an assumer + logDebug("Including profile in assumer profile choices: " + potentialAssumerProfileName); + return true; + }) + .map(Profile::getName) + .collect(Collectors.toList()); + + //Setup the assumer profile combobox + view.assumeRoleAssumerProfileComboBox.removeItemListener(assumerProfileComboBoxProfileSelectionListener); + view.assumeRoleAssumerProfileComboBox.removeAllItems(); + view.assumeRoleAssumerProfileComboBox.addItem(""); //Add a blank + profileNames.forEach((name) -> { + view.assumeRoleAssumerProfileComboBox.addItem(name); + }); + + if (assumeRoleProfile.getAssumerProfile().isPresent()) { + String parentAssumerProfileName = assumeRoleProfile.getAssumerProfile().get().getName(); + logDebug("Setting selected assumer profile to: " + parentAssumerProfileName); + view.assumeRoleAssumerProfileComboBox.setSelectedItem(parentAssumerProfileName); + } + view.assumeRoleAssumerProfileComboBox.addItemListener(assumerProfileComboBoxProfileSelectionListener); + + view.assumeRoleRoleArnTextField.setText(assumeRoleProfile.getRoleArn().orElse(null)); + view.assumeRoleRoleArnTextField.getInputVerifier().shouldYieldFocus(view.assumeRoleRoleArnTextField, view.assumeRoleRoleArnTextField); + view.assumeRoleSessionNameTextField.setText(assumeRoleProfile.getSessionName().orElse(null)); + view.assumeRoleExternalIdTextField.setText(assumeRoleProfile.getExternalId().orElse(null)); + if (assumeRoleProfile.getDurationSeconds().isEmpty()) { + view.assumeRoleDurationTextField.setText(null); + } else { + view.assumeRoleDurationTextField.setText(Integer.toString(assumeRoleProfile.getDurationSeconds().get())); + } + view.assumeRoleDurationTextField.getInputVerifier().shouldYieldFocus(view.assumeRoleDurationTextField, view.assumeRoleDurationTextField); + view.assumeRoleSessionPolicyTextArea.setText(assumeRoleProfile.getSessionPolicy().orElse(null)); + + } + + private void initializeCommandProfileFields(CommandProfile commandProfile) { + String command = commandProfile.getCommand().orElse(""); + Optional durationSeconds = commandProfile.getDurationSeconds(); + view.commandCommandTextField.setText(command); + view.commandCommandTextField.getInputVerifier().shouldYieldFocus(view.commandCommandTextField, view.commandCommandTextField); + if (durationSeconds.isEmpty()) { + view.commandDurationTextField.setText(null); + } else { + view.commandDurationTextField.setText(Integer.toString(durationSeconds.get())); + } + view.commandExtractedAccessKeyTextField.setText(""); + view.commandExtractedSecretKeyTextField.setText(""); + view.commandExtractedSessionTokenTextField.setText(""); + } + + void updateProfileStatus() { + Optional currentProfileOptional = getCurrentSelectedProfile(); + String status = "Unknown"; + if (currentProfileOptional.isPresent()) { + Profile currentProfile = currentProfileOptional.get(); + //Handle type-specific status calculation + if (currentProfile instanceof StaticCredentialsProfile) { + StaticCredentialsProfile staticCredentialsProfile = (StaticCredentialsProfile) currentProfile; + if (staticCredentialsProfile.getAccessKey().isEmpty() && staticCredentialsProfile.getSecretKey().isEmpty()) { + status = "Missing Access Key and Secret Key"; + } else if (staticCredentialsProfile.getAccessKey().isEmpty()) { + status = "Missing Access Key"; + } else if (staticCredentialsProfile.getSecretKey().isEmpty()) { + status = "Missing Secret Key"; + } else { + status = "Ready for testing"; + } + } else if (currentProfile instanceof AssumeRoleProfile) { + AssumeRoleProfile assumeRoleProfile = (AssumeRoleProfile) currentProfile; + Optional assumerProfile = assumeRoleProfile.getAssumerProfile(); + Optional roleArn = assumeRoleProfile.getRoleArn(); + if (assumerProfile.isEmpty() && roleArn.isEmpty()) { + status = "Missing Assumer Profile and Role ARN"; + } else if (assumerProfile.isEmpty()) { + status = "Missing Assumer Profile"; + } else if (roleArn.isEmpty()) { + status = "Missing Role ARN"; + } else { + status = "Ready for testing"; + } + } else if (currentProfile instanceof CommandProfile) { + CommandProfile commandProfile = (CommandProfile) currentProfile; + if (commandProfile.getCommand().isEmpty()) { + status = "Missing Command"; + } else { + status = "Ready for testing"; + } + } else { + final String errorMessage = "Profile does not match expected type. Found Type: " + currentProfile.getClass().getName(); + logError(errorMessage); + throw new IllegalStateException(errorMessage); + } + } + + logDebug("Profile status set as: " + status); + view.profileStatusTextLabel.setText(status); + } + + private DefaultListModel resetProfileList() { + //Update our URI to track + //Reset the profile list + DefaultListModel listModel = new DefaultListModel(); + List profileNames = model.getProfileNames(); + listModel.addAll(profileNames); + view.profileList.setModel(listModel); + return listModel; + } + + private void resetAlwaysSignWithProfileComboBox() { + view.alwaysSignWithProfileComboBox.removeItemListener(alwaysSignWithComboBoxProfileSelectionListener); + List profileNames = model.getProfileNames(); + view.alwaysSignWithProfileComboBox.removeAllItems(); + view.alwaysSignWithProfileComboBox.addItem(" "); //Add a blank + profileNames.forEach((name) -> { + view.alwaysSignWithProfileComboBox.addItem(name); + }); + if (model.alwaysSignWithProfile != null) { + view.alwaysSignWithProfileComboBox.setSelectedItem(model.alwaysSignWithProfile.getName()); + } + view.alwaysSignWithProfileComboBox.addItemListener(alwaysSignWithComboBoxProfileSelectionListener); + } + + public Optional getCurrentSelectedProfile() { + String selectedProfileName = view.profileList.getSelectedValue(); + return model.getProfileForName(selectedProfileName); + } + + public List getMenuItems(IContextMenuInvocation invocation) { + JMenu menu = new JMenu(BurpExtender.EXTENSION_NAME); + + //Enable/Disable global signing sub menu + JMenu signerEnableSubmenu = new JMenu("Enable/Disable Signing"); + ButtonGroup signerEnableGroup = new ButtonGroup(); + JRadioButtonMenuItem enableSigningMenuItem = new JRadioButtonMenuItem("Enable Signing", model.isEnabled); + enableSigningMenuItem.addActionListener((event) -> { + logDebug("Signing enabled via context menu"); + model.isEnabled = true; + view.signingEnabledCheckbox.setSelected(true); + }); + signerEnableGroup.add(enableSigningMenuItem); + signerEnableSubmenu.add(enableSigningMenuItem); + JRadioButtonMenuItem disableSigningMenuItem = new JRadioButtonMenuItem("Disable Signing", !model.isEnabled); + disableSigningMenuItem.addActionListener((event) -> { + logDebug("Signing disabled via context menu"); + model.isEnabled = false; + view.signingEnabledCheckbox.setSelected(false); + }); + signerEnableGroup.add(disableSigningMenuItem); + signerEnableSubmenu.add(disableSigningMenuItem); + menu.add(signerEnableSubmenu); + + //Set Default Profile + JMenu defaultProfileSubmenu = new JMenu("Set \"Always Sign With\" Profile"); + ButtonGroup defaultProfileGroup = new ButtonGroup(); + + //The first profile is special since it represents NOT having a default profile + JRadioButtonMenuItem noDefaultProfileItem = new JRadioButtonMenuItem("No Profile", model.alwaysSignWithProfile == null); + noDefaultProfileItem.addActionListener((event) -> { + logDebug("Always sign with profile unset via context menu"); + model.alwaysSignWithProfile = null; + resetAlwaysSignWithProfileComboBox(); + }); + defaultProfileGroup.add(noDefaultProfileItem); + defaultProfileSubmenu.add(noDefaultProfileItem); + + List profileList = model.profiles; + for (Profile profile : profileList) { + JRadioButtonMenuItem profileItem = new JRadioButtonMenuItem(profile.getName(), model.alwaysSignWithProfile != null && model.alwaysSignWithProfile.getName().equals(profile.getName())); + profileItem.addActionListener((event) -> { + logDebug("Default profile set via context menu. Chosen profile: " + profile.getName()); + model.alwaysSignWithProfile = profile; + resetAlwaysSignWithProfileComboBox(); + }); + defaultProfileGroup.add(profileItem); + defaultProfileSubmenu.add(profileItem); + } + menu.add(defaultProfileSubmenu); + + List list = new ArrayList<>(); + list.add(menu); + return list; + } + +} diff --git a/src/main/java/com/netspi/awssigner/controller/ComboBoxProfileSelectionListener.java b/src/main/java/com/netspi/awssigner/controller/ComboBoxProfileSelectionListener.java new file mode 100644 index 0000000..773b919 --- /dev/null +++ b/src/main/java/com/netspi/awssigner/controller/ComboBoxProfileSelectionListener.java @@ -0,0 +1,38 @@ +package com.netspi.awssigner.controller; + +import static com.netspi.awssigner.log.LogWriter.*; +import com.netspi.awssigner.model.AWSSignerConfiguration; +import com.netspi.awssigner.model.Profile; +import java.awt.event.ItemEvent; +import java.awt.event.ItemListener; +import java.util.function.Consumer; + + +class ComboBoxProfileSelectionListener implements ItemListener { + + private final AWSSignerConfiguration model; + private final String comboboxFriendlyName; + private final Consumer profileAssignmentFunction; + + public ComboBoxProfileSelectionListener(AWSSignerConfiguration model, String comboboxFriendlyName, Consumer profileAssignmentFunction) { + this.model = model; + this.comboboxFriendlyName = comboboxFriendlyName; + this.profileAssignmentFunction = profileAssignmentFunction; + } + + @Override + public void itemStateChanged(ItemEvent event) { + logDebug("\"" + comboboxFriendlyName + "\" Profile ComboBox Item Event:" + " StateChange: " + event.getStateChange() + " Item: " + event.getItem()); + if (event.getStateChange() == ItemEvent.SELECTED) { + String selectedProfileName = (String) event.getItem(); + if (selectedProfileName.trim().isEmpty()) { + logInfo("\"" + comboboxFriendlyName + "\" Profile unset"); + profileAssignmentFunction.accept(null); + } else { + logInfo("New \"" + comboboxFriendlyName + "\" Profile set: " + selectedProfileName); + profileAssignmentFunction.accept(model.getProfileForName(selectedProfileName).orElse(null)); + } + } + } + +} diff --git a/src/main/java/com/netspi/awssigner/controller/TextComponentFocusListener.java b/src/main/java/com/netspi/awssigner/controller/TextComponentFocusListener.java new file mode 100644 index 0000000..1802b9c --- /dev/null +++ b/src/main/java/com/netspi/awssigner/controller/TextComponentFocusListener.java @@ -0,0 +1,66 @@ +package com.netspi.awssigner.controller; + +import static com.netspi.awssigner.log.LogWriter.*; +import com.netspi.awssigner.model.Profile; +import java.awt.event.FocusEvent; +import java.awt.event.FocusListener; +import java.util.Optional; +import java.util.function.BiConsumer; +import javax.swing.text.JTextComponent; + +class TextComponentFocusListener implements FocusListener { + + private final AWSSignerController controller; + private final String propertyLoggingName; + private final BiConsumer updateFunction; + private Optional currentProfileOptional; + private String currentValue = ""; + + public TextComponentFocusListener(AWSSignerController controller, String propertyLoggingName, BiConsumer updateFunction) { + this.controller = controller; + this.propertyLoggingName = propertyLoggingName; + this.updateFunction = updateFunction; + } + + @Override + public void focusGained(FocusEvent e) { + /* + * Save the current profile being updated. + * This is important because we can't just use the SELECTED profile when + * focus is lost. This fails if focus is lost by selecting a new profile. + * THAT other newly selected profile would be updated instead + */ + currentProfileOptional = controller.getCurrentSelectedProfile(); + + //Also note the value when focus was gained. This helps us detected if the value actually changed or not when focus is lost + currentValue = ((JTextComponent) e.getComponent()).getText(); + + logDebug("Profile " + propertyLoggingName + " Text Field focus gained." + " Cause: " + e.getCause() + " ID:" + e.getID() + " Current value: " + ((JTextComponent) e.getComponent()).getText()); + } + + @Override + public void focusLost(FocusEvent e) { + logDebug("Profile " + propertyLoggingName + " Text Field focus lost." + " Cause: " + e.getCause() + " ID:" + e.getID()); + String currentText = ((JTextComponent) e.getComponent()).getText(); + if (currentValue.equals(currentText)) { + logDebug("Current value has not changed. Not firing update with current value: " + currentValue); + } else { + currentValue = currentText; + + //The value has changed. Let's check if we have a profile we're intending to update. + if (currentProfileOptional.isPresent()) { + Profile currentProfile = currentProfileOptional.get(); + logInfo("Profile " + currentProfile.getName() + " " + propertyLoggingName + " text changed. New Value: " + currentText); + if (currentText == null || currentText.isBlank()) { + updateFunction.accept((T) currentProfile, null); + } else { + updateFunction.accept((T) currentProfile, currentText); + } + controller.updateProfileStatus(); + } else { + logDebug("Profile " + propertyLoggingName + " focus lost, but no profile selected. Ignoring."); + } + } + } + +} diff --git a/src/main/java/com/netspi/awssigner/credentials/AssumeRoleCredentialFetcher.java b/src/main/java/com/netspi/awssigner/credentials/AssumeRoleCredentialFetcher.java new file mode 100644 index 0000000..106c815 --- /dev/null +++ b/src/main/java/com/netspi/awssigner/credentials/AssumeRoleCredentialFetcher.java @@ -0,0 +1,110 @@ +package com.netspi.awssigner.credentials; + +import com.netspi.awssigner.log.LogWriter; +import com.netspi.awssigner.model.AssumeRoleProfile; +import com.netspi.awssigner.model.Profile; +import java.util.Optional; +import software.amazon.awssdk.regions.Region; +import software.amazon.awssdk.services.sts.StsClient; +import software.amazon.awssdk.services.sts.model.AssumeRoleRequest; +import software.amazon.awssdk.services.sts.model.AssumeRoleResponse; +import software.amazon.awssdk.services.sts.model.Credentials; + +public class AssumeRoleCredentialFetcher implements CredentialFetcher { + + private final AssumeRoleProfile profile; + + public AssumeRoleCredentialFetcher(AssumeRoleProfile profile) { + this.profile = profile; + } + + @Override + public SigningCredentials getCredentials() throws SignerCredentialException { + final Optional roleArnOptional = profile.getRoleArn(); + final Optional assumerProfileOptional = profile.getAssumerProfile(); + if (assumerProfileOptional.isEmpty() && roleArnOptional.isEmpty()) { + throw new SignerCredentialException("Assumer profile and role ARN are not set for profile: " + profile.getName()); + } else if (assumerProfileOptional.isEmpty()) { + throw new SignerCredentialException("Assumer profile is not set for profile: " + profile.getName()); + } else if (roleArnOptional.isEmpty()) { + throw new SignerCredentialException("Role ARN is not set for profile: " + profile.getName()); + } + + try { + Profile parentProfile = assumerProfileOptional.get(); + LogWriter.logDebug("Obtaining credentials to use when assuming role from parent assumer: " + parentProfile.getName()); + SigningCredentials parentCredentials = parentProfile.getCredentials(); + LogWriter.logDebug("Successfully obtained credentials from parent assumer: " + parentProfile.getName()); + + Region region = getRegion(); + StsClient stsClient = StsClient.builder() + .credentialsProvider(new SigningCredentialConverter(parentCredentials)) + .region(region) + .build(); + + final String roleARN = roleArnOptional.get(); + + AssumeRoleRequest.Builder requestBuilder = AssumeRoleRequest.builder().roleArn(roleARN); + + final Optional durationSecondsOptional = profile.getDurationSeconds(); + if (durationSecondsOptional.isPresent()) { + int duration = durationSecondsOptional.get(); + //Bounds check + if (duration < 900) { + duration = 900; + } else if (duration > 43200) { + duration = 43200; + } + requestBuilder = requestBuilder.durationSeconds(duration); + } + + final Optional externalIdOptional = profile.getExternalId(); + if (externalIdOptional.isPresent()) { + requestBuilder = requestBuilder.externalId(externalIdOptional.get()); + } + + final Optional sessionNameOptional = profile.getSessionName(); + if (sessionNameOptional.isPresent()) { + requestBuilder = requestBuilder.roleSessionName(sessionNameOptional.get()); + } else { + //Required but not specified. Let's fall back to a default + requestBuilder = requestBuilder.roleSessionName("AWSSigner-" + System.currentTimeMillis()); + } + + final Optional sessionPolicyOptional = profile.getSessionPolicy(); + if (sessionPolicyOptional.isPresent()) { + requestBuilder = requestBuilder.policy(sessionPolicyOptional.get()); + } + + LogWriter.logDebug("Attempting to assume role: " + roleARN); + AssumeRoleResponse assumeRole = stsClient.assumeRole(requestBuilder.build()); + Credentials awsCredentials = assumeRole.credentials(); + LogWriter.logInfo("Successfully assumed role: " + roleARN); + + return new SigningCredentials(awsCredentials.accessKeyId(), awsCredentials.secretAccessKey(), awsCredentials.sessionToken()); + + } catch (SignerCredentialException ex) { + LogWriter.logError("Error while getting credentials for parent profile " + profile.getAssumerProfile().get().getName() + " for assume role: " + roleArnOptional.orElse("") + "\" resulting in error: " + ex.getMessage()); + throw new SignerCredentialException("Unable to get parent credentials", ex); + } catch (RuntimeException ex) { + LogWriter.logError("Error while assume role: " + roleArnOptional.orElse("") + "\" resulting in error: " + ex.getMessage()); + throw new SignerCredentialException("Unable to assume role", ex); + } + + } + + private Region getRegion() { + //Try to get a region from the profile itself, or default to us-east-1 + String regionString = profile.getRegion().orElse("us-east-1").toLowerCase(); + + //Check if we matched an actual region + Region matchedRegion = Region.of(regionString); + if (matchedRegion != null) { + return matchedRegion; + } else { + //Didn't match a region. Default to us-east-1 + return Region.US_EAST_1; + } + } + +} diff --git a/src/main/java/com/netspi/awssigner/credentials/CommandCredentialFetcher.java b/src/main/java/com/netspi/awssigner/credentials/CommandCredentialFetcher.java new file mode 100644 index 0000000..2a1e113 --- /dev/null +++ b/src/main/java/com/netspi/awssigner/credentials/CommandCredentialFetcher.java @@ -0,0 +1,83 @@ +package com.netspi.awssigner.credentials; + +import com.netspi.awssigner.log.LogWriter; +import java.io.ByteArrayOutputStream; +import java.io.IOException; +import java.nio.charset.StandardCharsets; +import java.util.ArrayList; +import java.util.Collections; +import java.util.List; +import java.util.Objects; +import java.util.Optional; +import software.amazon.awssdk.utils.IoUtils; +import software.amazon.awssdk.utils.Platform; + +public class CommandCredentialFetcher implements CredentialFetcher { + + private final String profileName; + private final List command; + + public CommandCredentialFetcher(String profileName, String command) { + List cmd = new ArrayList<>(); + + if (Platform.isWindows()) { + cmd.add("cmd.exe"); + cmd.add("/C"); + } else { + cmd.add("sh"); + cmd.add("-c"); + } + + String builderCommand = Objects.requireNonNull(command); + + cmd.add(builderCommand); + + this.profileName = profileName; + this.command = Collections.unmodifiableList(cmd); + } + + /** + * Execute the external process to retrieve credentials. + */ + private String executeCommand() throws IOException, InterruptedException { + ProcessBuilder processBuilder = new ProcessBuilder(command); + + ByteArrayOutputStream commandOutput = new ByteArrayOutputStream(); + + Process process = processBuilder.start(); + try { + IoUtils.copy(process.getInputStream(), commandOutput, 64000); //max 64KB output + + process.waitFor(); + + if (process.exitValue() != 0) { + throw new IllegalStateException("Command from profile " + profileName + " returned non-zero exit value: " + process.exitValue()); + } + + return new String(commandOutput.toByteArray(), StandardCharsets.UTF_8); + } finally { + process.destroy(); + } + } + + @Override + public SigningCredentials getCredentials() throws SignerCredentialException { + try { + LogWriter.logDebug("Starting command execution for profile: " + profileName); + String output = executeCommand(); + LogWriter.logDebug("Completed command execution for profile: " + profileName); + Optional parsedCreds = CredentialsParser.parseCredentialsFromText(output); + if (parsedCreds.isPresent()) { + LogWriter.logInfo("Successfully fetched credentials for profile" + profileName + " using command: " + command); + return parsedCreds.get(); + } else { + LogWriter.logDebug("No credentials extracted from the following output: " + output); + throw new SignerCredentialException("No credentials extracted from command output"); + } + } catch (InterruptedException | IOException | RuntimeException ex) { + LogWriter.logError("Error while executing command for profile: " + profileName + " with command: \"" + command + "\" resulting in error: " + ex.getMessage()); + throw new SignerCredentialException(ex); + } + } + +} diff --git a/src/main/java/com/netspi/awssigner/credentials/CredentialFetcher.java b/src/main/java/com/netspi/awssigner/credentials/CredentialFetcher.java new file mode 100644 index 0000000..e484637 --- /dev/null +++ b/src/main/java/com/netspi/awssigner/credentials/CredentialFetcher.java @@ -0,0 +1,7 @@ +package com.netspi.awssigner.credentials; + +public interface CredentialFetcher { + + SigningCredentials getCredentials() throws SignerCredentialException; + +} diff --git a/src/main/java/com/netspi/awssigner/credentials/CredentialsParser.java b/src/main/java/com/netspi/awssigner/credentials/CredentialsParser.java new file mode 100644 index 0000000..61b40eb --- /dev/null +++ b/src/main/java/com/netspi/awssigner/credentials/CredentialsParser.java @@ -0,0 +1,37 @@ +package com.netspi.awssigner.credentials; + +import java.util.Optional; +import java.util.regex.Matcher; +import java.util.regex.Pattern; + +public class CredentialsParser { + + private static final Pattern ACCESS_KEY_PATTERN = Pattern.compile("(? parseCredentialsFromText(String textToBeParsed) { + Matcher accessKeyMatcher = ACCESS_KEY_PATTERN.matcher(textToBeParsed); + Matcher secretKeyMatcher = SECRET_KEY_PATTERN.matcher(textToBeParsed); + if (accessKeyMatcher.find() && secretKeyMatcher.find()) { + String accessKey = accessKeyMatcher.group(); + String secretKey = secretKeyMatcher.group(); + String sessionToken = null; + + Matcher sessionTokenMatcher = SESSION_TOKEN_PATTERN.matcher(textToBeParsed); + if (sessionTokenMatcher.find()) { + sessionToken = sessionTokenMatcher.group(); + } + + return Optional.of(new SigningCredentials(accessKey, secretKey, sessionToken)); + } + return Optional.empty(); + } + +} diff --git a/src/main/java/com/netspi/awssigner/credentials/ProfileCredentialTester.java b/src/main/java/com/netspi/awssigner/credentials/ProfileCredentialTester.java new file mode 100644 index 0000000..7898e8b --- /dev/null +++ b/src/main/java/com/netspi/awssigner/credentials/ProfileCredentialTester.java @@ -0,0 +1,34 @@ +package com.netspi.awssigner.credentials; + +import com.netspi.awssigner.log.LogWriter; +import com.netspi.awssigner.model.Profile; +import software.amazon.awssdk.regions.Region; +import software.amazon.awssdk.services.sts.StsClient; +import software.amazon.awssdk.services.sts.model.GetCallerIdentityResponse; + +public class ProfileCredentialTester { + + private final Profile profile; + + public ProfileCredentialTester(Profile profile) { + this.profile = profile; + } + + public SigningCredentials testProfile() throws SignerCredentialException { + if (!profile.requiredFieldsAreSet()) { + throw new IllegalStateException("Profile " + profile.getName() + " does not have all required fields set."); + } + + //Get the credentials + SigningCredentials creds = profile.getCredentials(); + Region region = Region.US_EAST_1; + StsClient stsClient = StsClient.builder() + .credentialsProvider(new SigningCredentialConverter(creds)) + .region(region) + .build(); + GetCallerIdentityResponse response = stsClient.getCallerIdentity(); + LogWriter.logDebug("Successfully called GetCallerIdentity: " + response.toString()); + return creds; + } + +} diff --git a/src/main/java/com/netspi/awssigner/credentials/SignerCredentialException.java b/src/main/java/com/netspi/awssigner/credentials/SignerCredentialException.java new file mode 100644 index 0000000..dde768c --- /dev/null +++ b/src/main/java/com/netspi/awssigner/credentials/SignerCredentialException.java @@ -0,0 +1,18 @@ +package com.netspi.awssigner.credentials; + +public class SignerCredentialException extends Exception { + + public SignerCredentialException(String message) { + super(message); + } + + public SignerCredentialException(Throwable cause){ + super(cause); + } + + public SignerCredentialException(String message, Throwable cause){ + super(message, cause); + } + + +} diff --git a/src/main/java/com/netspi/awssigner/credentials/SigningCredentialConverter.java b/src/main/java/com/netspi/awssigner/credentials/SigningCredentialConverter.java new file mode 100644 index 0000000..aeaefd6 --- /dev/null +++ b/src/main/java/com/netspi/awssigner/credentials/SigningCredentialConverter.java @@ -0,0 +1,30 @@ +package com.netspi.awssigner.credentials; + +import java.util.Optional; +import software.amazon.awssdk.auth.credentials.AwsBasicCredentials; +import software.amazon.awssdk.auth.credentials.AwsCredentials; +import software.amazon.awssdk.auth.credentials.AwsCredentialsProvider; +import software.amazon.awssdk.auth.credentials.AwsSessionCredentials; + +/** + * Converts from our SigningCredentials type to SDK's AwsCredentials type + */ +public class SigningCredentialConverter implements AwsCredentialsProvider { + + private final SigningCredentials inputCreds; + + public SigningCredentialConverter(SigningCredentials creds) { + this.inputCreds = creds; + } + + @Override + public AwsCredentials resolveCredentials() { + final Optional sessionToken = inputCreds.getSessionToken(); + if(sessionToken.isEmpty()){ + return AwsBasicCredentials.create(inputCreds.getAccessKey(), inputCreds.getSecretKey()); + } else { + return AwsSessionCredentials.create(inputCreds.getAccessKey(), inputCreds.getSecretKey(), sessionToken.get()); + } + } + +} diff --git a/src/main/java/com/netspi/awssigner/credentials/SigningCredentials.java b/src/main/java/com/netspi/awssigner/credentials/SigningCredentials.java new file mode 100644 index 0000000..8b5c784 --- /dev/null +++ b/src/main/java/com/netspi/awssigner/credentials/SigningCredentials.java @@ -0,0 +1,44 @@ + +package com.netspi.awssigner.credentials; + +import java.util.Optional; + + +public class SigningCredentials { + + private final String accessKey; + private final String secretKey; + private final String sessionToken; + + public SigningCredentials(String accessKey, String secretKey, String sessionToken) { + if(accessKey == null || accessKey.trim().isEmpty()){ + throw new IllegalArgumentException("Access Key may not be null or blank"); + } + this.accessKey = accessKey; + + if(secretKey == null || secretKey.trim().isEmpty()){ + throw new IllegalArgumentException("Secret Key may not be null or blank"); + } + this.secretKey = secretKey; + + this.sessionToken = sessionToken; + + } + + public String getAccessKey() { + return accessKey; + } + + public String getSecretKey() { + return secretKey; + } + + public Optional getSessionToken() { + if(sessionToken==null|| sessionToken.trim().isEmpty()){ + return Optional.empty(); + } else { + return Optional.of(sessionToken); + } + } + +} diff --git a/src/main/java/com/netspi/awssigner/log/LogLevel.java b/src/main/java/com/netspi/awssigner/log/LogLevel.java new file mode 100644 index 0000000..4ad3051 --- /dev/null +++ b/src/main/java/com/netspi/awssigner/log/LogLevel.java @@ -0,0 +1,15 @@ +package com.netspi.awssigner.log; + +public enum LogLevel { + ERROR(0), INFO(1), DEBUG(2); + private final int severity; + + LogLevel(int severity) { + this.severity = severity; + } + + public int getSeverity() { + return severity; + } + +} diff --git a/src/main/java/com/netspi/awssigner/log/LogWriter.java b/src/main/java/com/netspi/awssigner/log/LogWriter.java new file mode 100644 index 0000000..43b670a --- /dev/null +++ b/src/main/java/com/netspi/awssigner/log/LogWriter.java @@ -0,0 +1,52 @@ +package com.netspi.awssigner.log; + +import burp.BurpExtender; +import java.io.OutputStream; +import java.io.PrintWriter; + +/* + * This isn't good OOP, but it's good enough for this use case. We don't need to + * pass around an instance to each object which gets messy. + */ +public class LogWriter { + + private PrintWriter out = new PrintWriter(System.out, true); + private PrintWriter err = new PrintWriter(System.err, true); + private LogLevel logLevel = LogLevel.ERROR; + + private static final LogWriter logWriter = new LogWriter(); + + private LogWriter() { + } + + public synchronized static void configure(OutputStream outStream, OutputStream errStream) { + logWriter.out = new PrintWriter(outStream, true); + logWriter.out.println(BurpExtender.EXTENSION_NAME + " Logging Initialized"); + logWriter.err = new PrintWriter(errStream, true); + } + + public synchronized static void setLevel(LogLevel level) { + logWriter.logLevel = level; + } + + public static LogLevel getLevel() { + return logWriter.logLevel; + } + + public static void logDebug(final String message) { + if (logWriter.logLevel.getSeverity() >= LogLevel.DEBUG.getSeverity()) { + logWriter.out.println("[DEBUG] " + message); + } + } + + public static void logInfo(final String message) { + if (logWriter.logLevel.getSeverity() >= LogLevel.INFO.getSeverity()) { + logWriter.out.println("[INFO] " + message); + } + } + + public static void logError(final String message) { + logWriter.err.println("[ERROR] " + message); + } + +} diff --git a/src/main/java/com/netspi/awssigner/main/TestRunner.java b/src/main/java/com/netspi/awssigner/main/TestRunner.java new file mode 100644 index 0000000..d0248da --- /dev/null +++ b/src/main/java/com/netspi/awssigner/main/TestRunner.java @@ -0,0 +1,37 @@ +package com.netspi.awssigner.main; + +import com.netspi.awssigner.controller.AWSSignerController; +import com.netspi.awssigner.log.LogLevel; +import com.netspi.awssigner.log.LogWriter; +import com.netspi.awssigner.model.AWSSignerConfiguration; +import com.netspi.awssigner.view.BurpTabPanel; +import java.awt.BorderLayout; +import javax.swing.*; + +/* +* This has no meaningful functionality, and it only displays the UI elements +* without the elements actually working. For display purposes only. + */ +class TestRunner { + + public static void main(String[] args) { + + //Configure logging + LogWriter.setLevel(LogLevel.DEBUG); + //Create the view + BurpTabPanel view = new BurpTabPanel(); + //Create the model + AWSSignerConfiguration model = new AWSSignerConfiguration(); + //Create controller to keep them in sync + AWSSignerController controller = new AWSSignerController(view, model); + + final JFrame frame = new JFrame(); + + frame.setLayout(new BorderLayout()); + + frame.add(view); + frame.setDefaultCloseOperation(WindowConstants.EXIT_ON_CLOSE); + frame.setVisible(true); + frame.pack(); + } +} diff --git a/src/main/java/com/netspi/awssigner/model/AWSSignerConfiguration.java b/src/main/java/com/netspi/awssigner/model/AWSSignerConfiguration.java new file mode 100644 index 0000000..1bc036d --- /dev/null +++ b/src/main/java/com/netspi/awssigner/model/AWSSignerConfiguration.java @@ -0,0 +1,29 @@ +package com.netspi.awssigner.model; + +import java.util.ArrayList; +import java.util.List; +import java.util.Optional; +import java.util.stream.Collectors; + +public class AWSSignerConfiguration { + public volatile boolean isEnabled = true; + public volatile List profiles = new ArrayList<>(); + public volatile Profile alwaysSignWithProfile; + + public List getProfileNames() { + return profiles.stream().map(Profile::getName).collect(Collectors.toList()); + } + + /** + * Gets the profile, if it exists. + * @param name The name of the profile to get + * @return The profile, if it exists + */ + public Optional getProfileForName(String name){ + if(name == null || name.isEmpty()){ + return Optional.empty(); + } + return profiles.stream().filter(profile -> profile.getName().equals(name)).findFirst(); + } + +} diff --git a/src/main/java/com/netspi/awssigner/model/AbstractCachingProfile.java b/src/main/java/com/netspi/awssigner/model/AbstractCachingProfile.java new file mode 100644 index 0000000..698de20 --- /dev/null +++ b/src/main/java/com/netspi/awssigner/model/AbstractCachingProfile.java @@ -0,0 +1,128 @@ +package com.netspi.awssigner.model; + +import com.netspi.awssigner.credentials.SignerCredentialException; +import com.netspi.awssigner.credentials.SigningCredentials; +import com.netspi.awssigner.log.LogWriter; +import java.util.Optional; + +public abstract class AbstractCachingProfile extends Profile { + + /** + * Default lifetime of cached creds Using default value for assume role + * command + * https://docs.aws.amazon.com/cli/latest/reference/sts/assume-role.html + */ + private final static int DEFAULT_DURATION_SECONDS = 3600; + + /** + * How long the cached credentials should be considered valid. A negative + * value indicates that the duration seconds value has not been set for this + * profile. If the value has not been set, the default value should be used + * for determining the lifetime of the cached creds If the value has been + * set, the value of durationSeconds should be used. + */ + private volatile int durationSeconds = -1; + + /* + * -1 means no creds have been cached and should be refetched + */ + private volatile long expirationSeconds = -1; + private volatile SigningCredentials cachedCreds; + + public AbstractCachingProfile(String name) { + super(name); + } + + /** + * Empty Optional if no value has been set for the profile, otherwise the + * set value. + * + * @return Empty Optional if no value has been set for the profile, + * otherwise the set value. + */ + public Optional getDurationSeconds() { + if (durationSeconds >= 0) { + return Optional.of(durationSeconds); + } else { + return Optional.empty(); + } + } + + /** + * Sets the duration (in seconds) for how long the cached credentials will + * be considered valid. A null or negative input value unsets the value for + * this profile and the default caching duration will be used. A non-null, + * non-negative value sets the new duration. + * + * @param durationSeconds null/negative if the value should be unset (and + * the default cache lifetime will be used will be used) or the value to be + * used. + */ + public void setDurationSeconds(Integer durationSeconds) { + //Check for null/negative value + if (durationSeconds == null || durationSeconds < 0) { + this.durationSeconds = -1; + } else { + this.durationSeconds = durationSeconds; + } + clearCache(); + } + + /** + * Sets the duration (in seconds) for how long the cached credentials will + * be considered valid. A null or negative input value unsets the value for + * this profile and the default caching duration will be used. A non-null, + * non-negative value sets the new duration. + * + * @param durationSeconds null/negative if the value should be unset (and + * the default cache lifetime will be used will be used) or the value to be + * used. + */ + public void setDurationSecondsFromText(String durationSeconds) { + if (durationSeconds == null) { + setDurationSeconds(null); + } + try { + int duration = Integer.parseInt(durationSeconds); + setDurationSeconds(duration); + } catch (NumberFormatException e) { + LogWriter.logDebug("Invalid input string provided for Profile Duration: " + durationSeconds + " using default of " + DEFAULT_DURATION_SECONDS + " seconds instead."); + setDurationSeconds(null); + } + } + + @Override + public SigningCredentials getCredentials() throws SignerCredentialException { + if(durationSeconds==0){ + LogWriter.logDebug("Duration set to zero. Fetching new credentials and not caching."); + return getCredentialsNoCache(); + } + + long seconds = expirationSeconds; + long now = System.currentTimeMillis() / 1000; + if (seconds == -1 || now - seconds >= 0) { + synchronized (this) { + if (seconds == expirationSeconds) { // recheck for lost race + LogWriter.logDebug("Cache expired. Fetching new creds"); + cachedCreds = getCredentialsNoCache(); + if (durationSeconds >= 0) { + seconds = now + durationSeconds; + } else { + seconds = now + DEFAULT_DURATION_SECONDS; + } + expirationSeconds = seconds; + } + } + } + LogWriter.logDebug("Returning previously cached creds."); + return cachedCreds; + } + + protected void clearCache(){ + LogWriter.logDebug("Clearing the cache."); + expirationSeconds = -1; + } + + abstract protected SigningCredentials getCredentialsNoCache() throws SignerCredentialException ; + +} diff --git a/src/main/java/com/netspi/awssigner/model/AssumeRoleProfile.java b/src/main/java/com/netspi/awssigner/model/AssumeRoleProfile.java new file mode 100644 index 0000000..3d3e639 --- /dev/null +++ b/src/main/java/com/netspi/awssigner/model/AssumeRoleProfile.java @@ -0,0 +1,125 @@ +package com.netspi.awssigner.model; + +import com.netspi.awssigner.credentials.AssumeRoleCredentialFetcher; +import com.netspi.awssigner.credentials.SignerCredentialException; +import com.netspi.awssigner.credentials.SigningCredentials; +import java.util.Optional; + +public class AssumeRoleProfile extends AbstractCachingProfile { + + private Profile assumerProfile; + private String roleArn; + private String sessionName; + private String externalId; + private String sessionPolicy; + + public AssumeRoleProfile(String name) { + super(name); + } + + /** + * If unset, this will return an empty optional, but it should never be an + * empty/null Profile. + */ + public Optional getAssumerProfile() { + return Optional.ofNullable(assumerProfile); + } + + public void setAssumerProfile(Profile assumerProfile) { + this.assumerProfile = assumerProfile; + clearCache(); + } + + /** + * If unset, this will return an empty optional, but it should never be an + * empty/null string. + */ + public Optional getRoleArn() { + return Optional.ofNullable(roleArn); + } + + public void setRoleArn(String roleArn) { + if (roleArn != null && roleArn.trim().isEmpty()) { + //Treat a blank input as null to indicate it's unset. + this.roleArn = null; + } else { + this.roleArn = roleArn; + } + clearCache(); + } + + /** + * If unset, this will return an empty optional, but it should never be an + * empty/null string. + */ + public Optional getSessionName() { + return Optional.ofNullable(sessionName); + } + + public void setSessionName(String sessionName) { + if (sessionName != null && sessionName.trim().isEmpty()) { + //Treat a blank input as null to indicate it's unset. + this.sessionName = null; + } else { + this.sessionName = sessionName; + } + clearCache(); + } + + /** + * If unset, this will return an empty optional, but it should never be an + * empty/null string. + */ + public Optional getExternalId() { + return Optional.ofNullable(externalId); + } + + public void setExternalId(String externalId) { + if (externalId != null && externalId.trim().isEmpty()) { + //Treat a blank input as null to indicate it's unset. + this.externalId = null; + } else { + this.externalId = externalId; + } + clearCache(); + } + + /** + * If unset, this will return an empty optional, but it should never be an + * empty/null string. + */ + public Optional getSessionPolicy() { + return Optional.ofNullable(sessionPolicy); + } + + public void setSessionPolicy(String sessionPolicy) { + if (sessionPolicy != null && sessionPolicy.trim().isEmpty()) { + //Treat a blank input as null to indicate it's unset. + this.sessionPolicy = null; + } else { + this.sessionPolicy = sessionPolicy; + } + clearCache(); + } + + @Override + public boolean requiredFieldsAreSet() { + return roleArn != null && assumerProfile != null && !assumerProfile.getName().isEmpty(); + } + + @Override + protected SigningCredentials getCredentialsNoCache() throws SignerCredentialException { + if (assumerProfile == null && roleArn == null) { + throw new SignerCredentialException("Assumer profile and role ARN are not set for profile: " + getName()); + } else if (assumerProfile == null) { + throw new SignerCredentialException("Assumer profile is not set for profile: " + getName()); + } else if (roleArn == null) { + throw new SignerCredentialException("Role ARN is not set for profile: " + getName()); + } + AssumeRoleCredentialFetcher fetcher = new AssumeRoleCredentialFetcher(this); + return fetcher.getCredentials(); + } + + + +} diff --git a/src/main/java/com/netspi/awssigner/model/CommandProfile.java b/src/main/java/com/netspi/awssigner/model/CommandProfile.java new file mode 100644 index 0000000..f74f325 --- /dev/null +++ b/src/main/java/com/netspi/awssigner/model/CommandProfile.java @@ -0,0 +1,48 @@ +package com.netspi.awssigner.model; + +import com.netspi.awssigner.credentials.CommandCredentialFetcher; +import com.netspi.awssigner.credentials.SignerCredentialException; +import com.netspi.awssigner.credentials.SigningCredentials; +import java.util.Optional; + +public class CommandProfile extends AbstractCachingProfile { + + private String command; + + public CommandProfile(String name) { + super(name); + } + + /** + * If unset, this will return an empty optional, but it should never be an + * empty/null string. + */ + public Optional getCommand() { + return Optional.ofNullable(command); + } + + public void setCommand(String command) { + if (command != null && command.trim().isEmpty()) { + //Treat a blank input as null to indicate it's unset. + this.command = null; + } else { + this.command = command; + } + clearCache(); + } + + @Override + public boolean requiredFieldsAreSet() { + return command != null; + } + + @Override + protected SigningCredentials getCredentialsNoCache() throws SignerCredentialException { + if (command == null) { + throw new SignerCredentialException("Command is not set for profile: " + getName()); + } + + return new CommandCredentialFetcher(name, command).getCredentials(); + } + +} diff --git a/src/main/java/com/netspi/awssigner/model/Profile.java b/src/main/java/com/netspi/awssigner/model/Profile.java new file mode 100644 index 0000000..2e4a0a7 --- /dev/null +++ b/src/main/java/com/netspi/awssigner/model/Profile.java @@ -0,0 +1,143 @@ +package com.netspi.awssigner.model; + +import com.netspi.awssigner.credentials.SignerCredentialException; +import com.netspi.awssigner.credentials.SigningCredentials; +import java.util.Objects; +import java.util.Optional; + +public abstract class Profile { + + protected String name; + protected boolean isEnabled = true; + protected boolean inScopeOnly = false; + protected String region = null; + protected String service = null; + protected String keyId = null; + + public Profile(String name) { + if (name == null || name.trim().isEmpty()) { + throw new IllegalArgumentException("The Profile name may not be null or blank."); + } + this.name = name; + } + + /** + * Must be set, will not be null or blank. + */ + public String getName() { + return name; + } + + public void setName(String name) { + if (name == null || name.trim().isEmpty()) { + throw new IllegalArgumentException("The Profile name may not be null or blank."); + } + this.name = name; + } + + public boolean isEnabled() { + return isEnabled; + } + + public void setEnabled(boolean isEnabled) { + this.isEnabled = isEnabled; + } + + public boolean isInScopeOnly() { + return inScopeOnly; + } + + public void setInScopeOnly(boolean inScopeOnly) { + this.inScopeOnly = inScopeOnly; + } + + /** + * If unset, this will return an empty optional, but it should never be an + * empty/null string. + */ + public Optional getRegion() { + return Optional.ofNullable(region); + } + + public void setRegion(String region) { + if (region != null && region.trim().isEmpty()) { + //Treat a blank input as null to indicate it's unset. + this.region = null; + } else { + this.region = region; + } + } + + /** + * If unset, this will return an empty optional, but it should never be an + * empty/null string. + */ + public Optional getService() { + return Optional.ofNullable(service); + } + + public void setService(String service) { + if (service != null && service.trim().isEmpty()) { + //Treat a blank input as null to indicate it's unset. + this.service = null; + } else { + this.service = service; + } + } + + /** + * If unset, this will return an empty optional, but it should never be an + * empty/null string. + */ + public Optional getKeyId() { + return Optional.ofNullable(keyId); + } + + public void setKeyId(String keyId) { + if (keyId != null && keyId.trim().isEmpty()) { + //Treat a blank input as null to indicate it's unset. + this.keyId = null; + } else { + this.keyId = keyId; + } + } + + /** + * Returns true if the required fields for the profile are set but does not + * confirm if those set values are themselves valid. + * + * @return true if the profile's required fields are set, false otherwise. + */ + public abstract boolean requiredFieldsAreSet(); + + @Override + public int hashCode() { + return Objects.hashCode(this.name); + } + + @Override + public boolean equals(Object obj) { + if (this == obj) { + return true; + } + if (obj == null) { + return false; + } + if (getClass() != obj.getClass()) { + return false; + } + final Profile other = (Profile) obj; + if (!Objects.equals(this.name, other.name)) { + return false; + } + return true; + } + + @Override + public String toString() { + return this.getClass().getSimpleName() + "{" + "name=" + name + ", isEnabled=" + isEnabled + ", inScopeOnly=" + inScopeOnly + ", region=" + region + ", service=" + service + ", keyId=" + keyId + '}'; + } + + public abstract SigningCredentials getCredentials() throws SignerCredentialException; + +} diff --git a/src/main/java/com/netspi/awssigner/model/StaticCredentialsProfile.java b/src/main/java/com/netspi/awssigner/model/StaticCredentialsProfile.java new file mode 100644 index 0000000..77634c6 --- /dev/null +++ b/src/main/java/com/netspi/awssigner/model/StaticCredentialsProfile.java @@ -0,0 +1,86 @@ +package com.netspi.awssigner.model; + +import com.netspi.awssigner.credentials.SignerCredentialException; +import com.netspi.awssigner.credentials.SigningCredentials; +import java.util.Optional; + +public class StaticCredentialsProfile extends Profile { + + private String accessKey = null; + private String secretKey = null; + private String sessionToken = null; + + public StaticCredentialsProfile(String name) { + super(name); + } + + /** + * If unset, this will return an empty optional, but it should never be an + * empty/null string. + */ + public Optional getAccessKey() { + return Optional.ofNullable(accessKey); + } + + public void setAccessKey(String accessKey) { + if (accessKey != null && accessKey.trim().isEmpty()) { + //Treat a blank input as null to indicate it's unset. + this.accessKey = null; + } else { + this.accessKey = accessKey; + } + } + + /** + * If unset, this will return an empty optional, but it should never be an + * empty/null string. + */ + public Optional getSecretKey() { + return Optional.ofNullable(secretKey); + } + + public void setSecretKey(String secretKey) { + if (secretKey != null && secretKey.trim().isEmpty()) { + //Treat a blank input as null to indicate it's unset. + this.secretKey = null; + } else { + this.secretKey = secretKey; + } + } + + /** + * If unset, this will return an empty optional, but it should never be an + * empty/null string. + */ + public Optional getSessionToken() { + return Optional.ofNullable(sessionToken); + } + + public void setSessionToken(String sessionToken) { + if (sessionToken != null && sessionToken.trim().isEmpty()) { + //Treat a blank input as null to indicate it's unset. + this.sessionToken = null; + } else { + this.sessionToken = sessionToken; + } + } + + @Override + public boolean requiredFieldsAreSet() { + return accessKey != null && secretKey != null; + } + + @Override + public SigningCredentials getCredentials() throws SignerCredentialException { + if (accessKey == null && secretKey == null) { + throw new SignerCredentialException("Access key and secret key are not set for profile: " + getName()); + } else if (accessKey == null) { + throw new SignerCredentialException("Access key is not set for profile: " + getName()); + } else if (secretKey == null) { + throw new SignerCredentialException("Secret key is not set for profile: " + getName()); + } + + return new SigningCredentials(accessKey, secretKey, sessionToken); + } + +} diff --git a/src/main/java/com/netspi/awssigner/model/persistence/AutoProfileImporter.java b/src/main/java/com/netspi/awssigner/model/persistence/AutoProfileImporter.java new file mode 100644 index 0000000..1343aaf --- /dev/null +++ b/src/main/java/com/netspi/awssigner/model/persistence/AutoProfileImporter.java @@ -0,0 +1,80 @@ +package com.netspi.awssigner.model.persistence; + +import com.netspi.awssigner.model.Profile; +import java.nio.file.Files; +import java.nio.file.Path; +import java.nio.file.Paths; +import java.util.ArrayList; +import java.util.List; + +public class AutoProfileImporter implements ProfileImporter{ + + + //Profiles could be defined in many default locations. Check each and keep those that exist. + private List getDefaultProfilePaths() { + List profileFilePaths = new ArrayList<>(); + + //AWS_CONFIG_FILE environment variable + String envConfigFile = System.getenv("AWS_SHARED_CREDENTIALS_FILE"); + if (envConfigFile != null) { + Path envPath = Paths.get(envConfigFile); + if (Files.exists(envPath)) { + profileFilePaths.add(envPath); + } + } + + //~/.aws/config + Path configPath = Paths.get(System.getProperty("user.home"), ".aws", "config"); + if (Files.exists(configPath)) { + profileFilePaths.add(configPath); + } + + //AWS_SHARED_CREDENTIALS_FILE environment variable + String envCredsFile = System.getenv("AWS_SHARED_CREDENTIALS_FILE"); + if (envCredsFile != null) { + Path envPath = Paths.get(envCredsFile); + if (Files.exists(envPath)) { + profileFilePaths.add(envPath); + } + } + + //~/.aws/credentials + Path credsPath = Paths.get(System.getProperty("user.home"), ".aws", "credentials"); + if (Files.exists(credsPath)) { + profileFilePaths.add(credsPath); + } + + return profileFilePaths; + } + + public List importProfiles() { + //This basically steals logic from the different importer types + + //Import from default files + List defaultPaths = getDefaultProfilePaths(); + List filePersistentProfiles = new ArrayList<>(); + for (Path path : defaultPaths) { + FileProfileImporter fileProfileImporter = new FileProfileImporter(path); + List parseProfilesFromPath = fileProfileImporter.parseProfilesFromPath(path); + for (PersistedProfile persistedProfile : parseProfilesFromPath) { + fileProfileImporter.mergePersistedProfile(filePersistentProfiles, persistedProfile.name, persistedProfile.keyValuePairs); + } + } + List profiles = FileProfileImporter.parseAndConvertProfiles(filePersistentProfiles); + + EnvironmentVariableProfileImporter envProfileImporter = new EnvironmentVariableProfileImporter(); + List envProfiles = envProfileImporter.importProfiles(); + profiles.addAll(envProfiles); + + ClipboardProfileImporter clipboardProfileImporter = new ClipboardProfileImporter(); + List clipboard = clipboardProfileImporter.importProfiles(); + profiles.addAll(clipboard); + return profiles; + } + + + + +} + + diff --git a/src/main/java/com/netspi/awssigner/model/persistence/ClipboardProfileImporter.java b/src/main/java/com/netspi/awssigner/model/persistence/ClipboardProfileImporter.java new file mode 100644 index 0000000..2179a43 --- /dev/null +++ b/src/main/java/com/netspi/awssigner/model/persistence/ClipboardProfileImporter.java @@ -0,0 +1,51 @@ +package com.netspi.awssigner.model.persistence; + +import com.netspi.awssigner.credentials.CredentialsParser; +import com.netspi.awssigner.credentials.SigningCredentials; +import com.netspi.awssigner.log.LogWriter; +import com.netspi.awssigner.model.Profile; +import com.netspi.awssigner.model.StaticCredentialsProfile; +import java.awt.Toolkit; +import java.awt.datatransfer.DataFlavor; +import java.awt.datatransfer.UnsupportedFlavorException; +import java.io.IOException; +import java.util.ArrayList; +import java.util.List; +import java.util.Optional; + +public class ClipboardProfileImporter implements ProfileImporter { + + @Override + public List importProfiles() { + String clipboardText = ""; + try { + //Gets the current clipboard text as a string + clipboardText = (String) Toolkit.getDefaultToolkit().getSystemClipboard().getData(DataFlavor.stringFlavor); + //This shouldn't happen, but a safeguard just in case. + if (clipboardText == null) { + clipboardText = ""; + } + } catch (UnsupportedFlavorException | IOException ex) { + LogWriter.logError("Unable to obtain clipboard text. Exception: " + ex.toString()); + } + + List profiles = new ArrayList<>(1); + + //Parse the clipboard text + Optional results = CredentialsParser.parseCredentialsFromText(clipboardText); + + //Did it work? + if (results.isPresent()) { + //Build a profile + SigningCredentials creds = results.get(); + StaticCredentialsProfile profile = new StaticCredentialsProfile("clipboard"); + profile.setAccessKey(creds.getAccessKey()); + profile.setSecretKey(creds.getSecretKey()); + profile.setSessionToken(creds.getSessionToken().orElse(null)); + profiles.add(profile); + } + + return profiles; + } + +} diff --git a/src/main/java/com/netspi/awssigner/model/persistence/EnvironmentVariableProfileImporter.java b/src/main/java/com/netspi/awssigner/model/persistence/EnvironmentVariableProfileImporter.java new file mode 100644 index 0000000..80c0d1f --- /dev/null +++ b/src/main/java/com/netspi/awssigner/model/persistence/EnvironmentVariableProfileImporter.java @@ -0,0 +1,41 @@ +package com.netspi.awssigner.model.persistence; + +import com.netspi.awssigner.model.Profile; +import com.netspi.awssigner.model.StaticCredentialsProfile; +import java.util.ArrayList; +import java.util.List; +import java.util.Map; +import java.util.TreeMap; + +public class EnvironmentVariableProfileImporter implements ProfileImporter { + + @Override + public List importProfiles() { + List profiles = new ArrayList<>(1); + + //ignore case for keys + Map env = new TreeMap<>(String.CASE_INSENSITIVE_ORDER); + //Add all the current environment variables + env.putAll(System.getenv()); + + //Pull out environment variables + String accessKey = env.get("AWS_ACCESS_KEY_ID"); + String secretKey = env.get("AWS_SECRET_ACCESS_KEY"); + String sessionToken = env.get("AWS_SESSION_TOKEN"); + + //Check if we have the required 2 + if (accessKey != null && !accessKey.isEmpty() && secretKey != null && !secretKey.isEmpty()) { + StaticCredentialsProfile profile = new StaticCredentialsProfile("environment_variables"); + profile.setAccessKey(accessKey); + profile.setSecretKey(secretKey); + //Check if we have a session token too + if (sessionToken != null && !sessionToken.isEmpty()) { + profile.setSessionToken(sessionToken); + } + profiles.add(profile); + } + + return profiles; + } + +} diff --git a/src/main/java/com/netspi/awssigner/model/persistence/FileProfileImporter.java b/src/main/java/com/netspi/awssigner/model/persistence/FileProfileImporter.java new file mode 100644 index 0000000..a3bc97e --- /dev/null +++ b/src/main/java/com/netspi/awssigner/model/persistence/FileProfileImporter.java @@ -0,0 +1,229 @@ +package com.netspi.awssigner.model.persistence; + +import com.netspi.awssigner.log.LogWriter; +import com.netspi.awssigner.model.AssumeRoleProfile; +import com.netspi.awssigner.model.CommandProfile; +import com.netspi.awssigner.model.Profile; +import com.netspi.awssigner.model.StaticCredentialsProfile; +import static com.netspi.awssigner.model.persistence.ProfileFileKeyConstants.*; +import java.io.IOException; +import java.nio.file.Files; +import java.nio.file.Path; +import java.util.ArrayList; +import java.util.HashMap; +import java.util.Iterator; +import java.util.List; +import java.util.Map; +import java.util.Optional; +import java.util.regex.Matcher; +import java.util.regex.Pattern; +import java.util.stream.Stream; +import java.util.stream.Collectors; + +public class FileProfileImporter implements ProfileImporter { + + private static final Pattern awsProfileStartPattern = Pattern.compile("\\s*\\[(?:profile\\s)?(\\S+)\\]\\s*", Pattern.CASE_INSENSITIVE); + private static final int PROFILE_NAME_GROUP = 1; + private static final Pattern awsProfileKVPattern = Pattern.compile("\\s*([\\S\\=]+)\\s*=\\s*(.+)\\s*", Pattern.CASE_INSENSITIVE); + private static final int KEY_GROUP = 1; + private static final int VALUE_GROUP = 2; + private final Path inputPath; + + public FileProfileImporter(Path inputPath) { + this.inputPath = inputPath; + } + + @Override + public List importProfiles() { + //Read all the profiles available in the input file. These are basically raw KV pairs. + List parsedProfiles = parseProfilesFromPath(inputPath); + return parseAndConvertProfiles(parsedProfiles); + + } + + static List parseAndConvertProfiles(List parsedProfiles) { + List profiles = new ArrayList<>(); + //The following section needs to convert the parsed profiles into real Profiles. + //For StaticCreds and Command profiles, this is easy one-to-one mapping. + //For AssumeRole profile, we need to reference the previously imported source profile which really makes this more complex + //Let's start by importing all the simple ones (Static and Command) + for (Iterator iterator = parsedProfiles.iterator(); iterator.hasNext();) { + PersistedProfile parsedProfile = iterator.next(); + final Map keyValuePairs = parsedProfile.keyValuePairs; + + //Need to identify which type of profile we have. + if (keyValuePairs.containsKey(STATIC_CREDS_ACCESS_KEY_KEY) && keyValuePairs.containsKey(STATIC_CREDS_SECRET_KEY_KEY)) { + //We have minimum requirements for StaticCreds profile + StaticCredentialsProfile staticCredsProfile = new StaticCredentialsProfile(parsedProfile.name); + String accessKey = keyValuePairs.get(STATIC_CREDS_ACCESS_KEY_KEY); + staticCredsProfile.setAccessKey(accessKey); + + String secretKey = keyValuePairs.get(STATIC_CREDS_SECRET_KEY_KEY); + staticCredsProfile.setSecretKey(secretKey); + + String sessionToken = keyValuePairs.get(STATIC_CREDS_SESSION_TOKEN_KEY); + staticCredsProfile.setSessionToken(sessionToken); + + addGenericProfileVales(staticCredsProfile, keyValuePairs); + + //add to profiles list and remove from parsed profiles + profiles.add(staticCredsProfile); + iterator.remove(); + + } else if (keyValuePairs.containsKey(COMMAND_COMMAND_KEY)) { + //We have minimum requirements for Command profile + CommandProfile commandProfile = new CommandProfile(parsedProfile.name); + String command = keyValuePairs.get(COMMAND_COMMAND_KEY); + commandProfile.setCommand(command); + + String durationString = keyValuePairs.get(DURATION_SECONDS_KEY); + commandProfile.setDurationSecondsFromText(durationString); + + addGenericProfileVales(commandProfile, keyValuePairs); + + //add to profiles list and remove from parsed profiles + profiles.add(commandProfile); + iterator.remove(); + } + //if it didn't meet those, ignore and loop + } + + //Now that we have the simple ones, the ones remaining are either AssumeRole profiles (or a profile we can't properly import) + //We need to keep attempting to parse assume role profiles until we stop making progress. + int processedProfiles; + do { + processedProfiles = 0; + for (Iterator iterator = parsedProfiles.iterator(); iterator.hasNext();) { + PersistedProfile parsedProfile = iterator.next(); + final Map keyValuePairs = parsedProfile.keyValuePairs; + if (keyValuePairs.containsKey(ASSUME_ROLE_ROLE_ARN_KEY) && keyValuePairs.containsKey(ASSUME_ROLE_ASSUMER_PROFILE_NAME_KEY)) { + //We have minimum requirements for AssumeRole profile + + //Check if we've already parsed its source profile + String sourceProfileName = keyValuePairs.get(ASSUME_ROLE_ASSUMER_PROFILE_NAME_KEY); + Optional sourceProfileOptional = profiles.stream().filter(profile -> { + return profile.getName().equals(sourceProfileName); + }).findAny(); + if (sourceProfileOptional.isEmpty()) { + //We haven't found the source yet. Ignore this parsed profile and continue + continue; + } + + AssumeRoleProfile assumeRoleProfile = new AssumeRoleProfile(parsedProfile.name); + assumeRoleProfile.setAssumerProfile(sourceProfileOptional.get()); + + String roleARN = keyValuePairs.get(ASSUME_ROLE_ROLE_ARN_KEY); + assumeRoleProfile.setRoleArn(roleARN); + + String durationString = keyValuePairs.get(DURATION_SECONDS_KEY); + assumeRoleProfile.setDurationSecondsFromText(durationString); + + String externalId = keyValuePairs.get(ASSUME_ROLE_EXTERNAL_ID_KEY); + assumeRoleProfile.setExternalId(externalId); + + String roleSessionName = keyValuePairs.get(ASSUME_ROLE_SESSION_NAME_KEY); + assumeRoleProfile.setSessionName(roleSessionName); + + String roleSessionPolicy = keyValuePairs.get(ASSUME_ROLE_SESSION_POLICY_KEY); + assumeRoleProfile.setSessionPolicy(roleSessionPolicy); + + addGenericProfileVales(assumeRoleProfile, keyValuePairs); + + //add to profiles list and remove from parsed profiles + profiles.add(assumeRoleProfile); + iterator.remove(); + processedProfiles++; + } + } + } while (!parsedProfiles.isEmpty() && processedProfiles > 0); + + //We're all done. Let's output a warning if there's any remaining. + if (!parsedProfiles.isEmpty()) { + //Get a list of profile names we couldn't parse + List unparsableNames = parsedProfiles.stream().map(profile -> profile.name).collect(Collectors.toList()); + LogWriter.logError("Unable to parse the following profiles: " + unparsableNames); + } + + return profiles; + } + + //We're collecting all ParsedProfiles from the given input file + //The input file is assumed to be in the AWS config/creds file format + List parseProfilesFromPath(Path inputPath) { + List profiles = new ArrayList<>(); + + //This is goofy, this should be cleaned up. + try ( Stream lineStream = Files.lines(inputPath)) { + String profileName = null; + HashMap keyValuePairs = new HashMap<>(); + + for (Iterator iterator = lineStream.iterator(); iterator.hasNext();) { + String line = iterator.next(); + //Check if it's the start of a profile definition + Matcher profileStartMatcher = awsProfileStartPattern.matcher(line); + if (profileStartMatcher.matches()) { + //This is the start of a new profile + + //Check if we've already found a profile name + if (profileName != null) { + //This must be the start of another profile. + mergePersistedProfile(profiles, profileName, keyValuePairs); + } + //Capture the profile name + profileName = profileStartMatcher.group(PROFILE_NAME_GROUP); + //clear previous key values + keyValuePairs = new HashMap<>(); + } + + //Didn't match a profile start. Is it a key-value pair? + Matcher kvMatcher = awsProfileKVPattern.matcher(line); + if (kvMatcher.matches()) { + //Add it to our map of key-value pairs + keyValuePairs.put(kvMatcher.group(KEY_GROUP), kvMatcher.group(VALUE_GROUP)); + } + } + + //This should be the end of the file. Save any profile that was in being parsed + if (profileName != null) { + //This must be the start of another profile. + mergePersistedProfile(profiles, profileName, keyValuePairs); + } + } catch (IOException err) { + LogWriter.logError("Unable to load profiles from path: " + inputPath.toString() + " . Error: " + err.toString()); + } + return profiles; + } + + void mergePersistedProfile(List profiles, String profileName, Map keyValuePairs) { + //Check our growing list of parsed profiles to see if we have already found one with the same name. + Optional existingProfileOptional = profiles.stream().filter(profile -> { + return profile.name.equals(profileName); + }).findAny(); + + if (existingProfileOptional.isPresent()) { + //Since we have previously found a profile with the same name. Merge these + PersistedProfile existingProfile = existingProfileOptional.get(); + existingProfile.keyValuePairs.putAll(keyValuePairs); + } else { + //Build and save the previous profile. + profiles.add(new PersistedProfile(profileName, keyValuePairs)); + } + } + + private static void addGenericProfileVales(Profile profile, Map keyValuePairs) { + //special handling for the boolean values (if present) + if(keyValuePairs.containsKey(PROFILE_ENABLED_KEY)){ + String enabledStringValue = keyValuePairs.get(PROFILE_ENABLED_KEY); + profile.setEnabled(Boolean.parseBoolean(enabledStringValue)); + } + if(keyValuePairs.containsKey(PROFILE_IN_SCOPE_ONLY_KEY)){ + String inScopeOnlyStringValue = keyValuePairs.get(PROFILE_IN_SCOPE_ONLY_KEY); + profile.setInScopeOnly(Boolean.parseBoolean(inScopeOnlyStringValue)); + } + + profile.setService(keyValuePairs.get(PROFILE_SERVICE_KEY)); + profile.setRegion(keyValuePairs.get(PROFILE_REGION_KEY)); + profile.setKeyId(keyValuePairs.get(PROFILE_KEY_ID_KEY)); + } + +} diff --git a/src/main/java/com/netspi/awssigner/model/persistence/PersistedProfile.java b/src/main/java/com/netspi/awssigner/model/persistence/PersistedProfile.java new file mode 100644 index 0000000..c64e4f6 --- /dev/null +++ b/src/main/java/com/netspi/awssigner/model/persistence/PersistedProfile.java @@ -0,0 +1,20 @@ +package com.netspi.awssigner.model.persistence; + +import java.util.Map; +import java.util.TreeMap; + +class PersistedProfile { + + String name; + Map keyValuePairs; + + PersistedProfile(String name, Map keyValuePairs) { + this.name = name; + + //ignore case for keys + this.keyValuePairs = new TreeMap<>(String.CASE_INSENSITIVE_ORDER); + this.keyValuePairs.putAll(keyValuePairs); + } + + +} diff --git a/src/main/java/com/netspi/awssigner/model/persistence/ProfileExporter.java b/src/main/java/com/netspi/awssigner/model/persistence/ProfileExporter.java new file mode 100644 index 0000000..eee2766 --- /dev/null +++ b/src/main/java/com/netspi/awssigner/model/persistence/ProfileExporter.java @@ -0,0 +1,149 @@ +package com.netspi.awssigner.model.persistence; + +import static com.netspi.awssigner.log.LogWriter.logError; +import com.netspi.awssigner.model.AssumeRoleProfile; +import com.netspi.awssigner.model.CommandProfile; +import com.netspi.awssigner.model.Profile; +import com.netspi.awssigner.model.StaticCredentialsProfile; +import static com.netspi.awssigner.model.persistence.ProfileFileKeyConstants.*; +import java.io.IOException; +import java.nio.file.Files; +import java.nio.file.Path; +import java.nio.file.StandardOpenOption; +import java.util.List; +import java.util.Optional; +import java.util.stream.Collectors; + +public class ProfileExporter { + + + private final Path exportPath; + + public ProfileExporter(Path exportPath) { + this.exportPath = exportPath; + } + + public void exportProfiles(List profiles) throws IOException { + List iniProfiles = profiles.stream() + .map(this::toINI) + .filter(iniString -> { + return iniString != null && !iniString.trim().isEmpty(); + }) + .collect(Collectors.toList()); + + Files.write(exportPath, iniProfiles, StandardOpenOption.CREATE, StandardOpenOption.TRUNCATE_EXISTING, StandardOpenOption.WRITE); + } + + private String toINI(Profile profile) { + if (profile == null || !profile.requiredFieldsAreSet()) { + return ""; + } + + String profileFields = getProfileFields(profile); + + //Handle type-specific status transformation + if (profile instanceof StaticCredentialsProfile) { + return profileFields+getStaticCredsFields((StaticCredentialsProfile) profile); + } else if (profile instanceof AssumeRoleProfile) { + return profileFields+getAssumeRoleFields((AssumeRoleProfile) profile); + } else if (profile instanceof CommandProfile) { + return profileFields+getCommandFields((CommandProfile) profile); + } else { + final String errorMessage = "Profile does not match expected type. Found Type: " + profile.getClass().getName(); + logError(errorMessage); + return ""; + } + } + + private String getProfileFields(Profile profile) { + //Start the profile output + String result = "[profile " + profile.getName() + "]" + System.lineSeparator(); + + //Output required fields + result += requiredKeyValueBoolean(PROFILE_ENABLED_KEY, profile.isEnabled()); + result += requiredKeyValueBoolean(PROFILE_IN_SCOPE_ONLY_KEY, profile.isInScopeOnly()); + + + //Output optional generic Profile fields + result += optionalKeyValueString(PROFILE_KEY_ID_KEY, profile.getKeyId()); + result += optionalKeyValueString(PROFILE_REGION_KEY, profile.getRegion()); + result += optionalKeyValueString(PROFILE_SERVICE_KEY, profile.getService()); + return result; + } + + + private String getStaticCredsFields(StaticCredentialsProfile profile) { + String result = ""; + + //Check if we have the minimum requirements + if (profile.requiredFieldsAreSet()) { + //Output type-specific required fields + result += requiredKeyValueString(STATIC_CREDS_ACCESS_KEY_KEY, profile.getAccessKey()); + result += requiredKeyValueString(STATIC_CREDS_SECRET_KEY_KEY, profile.getSecretKey()); + + //Output type-specific optional fields + result += optionalKeyValueString(STATIC_CREDS_SESSION_TOKEN_KEY, profile.getSessionToken()); + } + + return result; + } + + + private String getAssumeRoleFields(AssumeRoleProfile profile) { + String result = ""; + + //Check if we have the minimum requirements + if (profile.requiredFieldsAreSet()) { + //Output type-specific required fields + result += requiredKeyValueString(ASSUME_ROLE_ROLE_ARN_KEY, profile.getRoleArn()); + result += requiredKeyValueString(ASSUME_ROLE_ASSUMER_PROFILE_NAME_KEY, Optional.of(profile.getAssumerProfile().get().getName())); + + //Output type-specific optional fields + result += optionalKeyValueString(DURATION_SECONDS_KEY, profile.getDurationSeconds()); + result += optionalKeyValueString(ASSUME_ROLE_EXTERNAL_ID_KEY, profile.getExternalId()); + result += optionalKeyValueString(ASSUME_ROLE_SESSION_NAME_KEY, profile.getSessionName()); + if(profile.getSessionPolicy().isPresent()){ + String sessionPolicy = profile.getSessionPolicy().get(); + //output must be a single line. Strip line breaks + sessionPolicy = sessionPolicy.replace("\n", "").replace("\r", "").trim(); + result += optionalKeyValueString(ASSUME_ROLE_SESSION_POLICY_KEY, Optional.of(sessionPolicy)); + } + } + + return result; + } + + + private String getCommandFields(CommandProfile profile) { + String result = ""; + + //Check if we have the minimum requirements + if (profile.requiredFieldsAreSet()) { + //Output type-specific required fields + result += requiredKeyValueString(COMMAND_COMMAND_KEY, profile.getCommand()); + + //Output type-specific optional fields + result += optionalKeyValueString(DURATION_SECONDS_KEY, profile.getDurationSeconds()); + } + + return result; + } + + + private String requiredKeyValueBoolean(String key, boolean value) { + return key + "=" + Boolean.toString(value) + System.lineSeparator(); + } + + private String requiredKeyValueString(String key, Optional value) { + return key + "=" + value.get().toString() + System.lineSeparator(); + } + + private String optionalKeyValueString(String key, Optional value) { + if (value.isPresent()) { + return key + "=" + value.get().toString() + System.lineSeparator(); + } else { + return ""; + } + } + +} diff --git a/src/main/java/com/netspi/awssigner/model/persistence/ProfileFileKeyConstants.java b/src/main/java/com/netspi/awssigner/model/persistence/ProfileFileKeyConstants.java new file mode 100644 index 0000000..68f6dd5 --- /dev/null +++ b/src/main/java/com/netspi/awssigner/model/persistence/ProfileFileKeyConstants.java @@ -0,0 +1,43 @@ +package com.netspi.awssigner.model.persistence; + +class ProfileFileKeyConstants { + + /* + * Keys with this prefix are not standard AWS CLI keys + */ + static final String CUSTOM_KEY_PREFIX = "signer_"; + + //profile required keys + static final String PROFILE_ENABLED_KEY = CUSTOM_KEY_PREFIX + "enabled"; + static final String PROFILE_IN_SCOPE_ONLY_KEY = CUSTOM_KEY_PREFIX + "in_scope_only"; + + //profile optional keys + static final String PROFILE_SERVICE_KEY = CUSTOM_KEY_PREFIX + "service"; + /* + * Note: we intentionally have a custom value for region rather than the default + * AWS "region" key. The "region" key is nice on the CLI for specifying a default + * region. But in the Signer it is really annoying to import a profile with + * default region "us-west-2" and then try to send a request to a "us-east-1" + * endpoint but it fails because it was signed with "us-west-2" + */ + static final String PROFILE_REGION_KEY = CUSTOM_KEY_PREFIX + "region"; + static final String PROFILE_KEY_ID_KEY = CUSTOM_KEY_PREFIX + "key_id"; + + //static creds keys + static final String STATIC_CREDS_ACCESS_KEY_KEY = "aws_access_key_id"; + static final String STATIC_CREDS_SECRET_KEY_KEY = "aws_secret_access_key"; + static final String STATIC_CREDS_SESSION_TOKEN_KEY = "aws_session_token"; + + //Shared duration key + static final String DURATION_SECONDS_KEY = "duration_seconds"; + + //assume role keys + static final String ASSUME_ROLE_ROLE_ARN_KEY = "role_arn"; + static final String ASSUME_ROLE_ASSUMER_PROFILE_NAME_KEY = "source_profile"; + static final String ASSUME_ROLE_EXTERNAL_ID_KEY = "external_id"; + static final String ASSUME_ROLE_SESSION_NAME_KEY = "role_session_name"; + static final String ASSUME_ROLE_SESSION_POLICY_KEY = CUSTOM_KEY_PREFIX + "session_policy"; + + //command keys + static final String COMMAND_COMMAND_KEY = "credential_process"; +} diff --git a/src/main/java/com/netspi/awssigner/model/persistence/ProfileImporter.java b/src/main/java/com/netspi/awssigner/model/persistence/ProfileImporter.java new file mode 100644 index 0000000..bed8d50 --- /dev/null +++ b/src/main/java/com/netspi/awssigner/model/persistence/ProfileImporter.java @@ -0,0 +1,8 @@ +package com.netspi.awssigner.model.persistence; + +import com.netspi.awssigner.model.Profile; +import java.util.List; + +public interface ProfileImporter { + public List importProfiles(); +} diff --git a/src/main/java/com/netspi/awssigner/signing/AwsRequestSigner.java b/src/main/java/com/netspi/awssigner/signing/AwsRequestSigner.java new file mode 100644 index 0000000..f67153e --- /dev/null +++ b/src/main/java/com/netspi/awssigner/signing/AwsRequestSigner.java @@ -0,0 +1,10 @@ +package com.netspi.awssigner.signing; + +import burp.IHttpRequestResponse; +import burp.IRequestInfo; + +public interface AwsRequestSigner { + + public byte[] sign(IHttpRequestResponse messageInfo, IRequestInfo request, ParsedAuthHeader authHeader) throws SigningException; + +} diff --git a/src/main/java/burp/Utility.java b/src/main/java/com/netspi/awssigner/signing/ClassicAwsRequestSigner.java similarity index 70% rename from src/main/java/burp/Utility.java rename to src/main/java/com/netspi/awssigner/signing/ClassicAwsRequestSigner.java index 0e5730a..95ba434 100644 --- a/src/main/java/burp/Utility.java +++ b/src/main/java/com/netspi/awssigner/signing/ClassicAwsRequestSigner.java @@ -1,299 +1,348 @@ -package burp; - -import com.google.common.base.Strings; -import com.google.common.hash.Hashing; - -import javax.crypto.Mac; -import javax.crypto.spec.SecretKeySpec; -import javax.xml.bind.DatatypeConverter; -import java.io.PrintWriter; -import java.net.URI; -import java.net.URLEncoder; -import java.nio.charset.StandardCharsets; -import java.util.regex.Pattern; -import java.text.SimpleDateFormat; -import java.util.*; -import java.util.regex.Matcher; - -class Utility { - - static byte[] signRequest(IHttpRequestResponse messageInfo, - IExtensionHelpers helpers, - String service, - String region, - String accessKey, - String secretKey, - String token, - PrintWriter pw) throws Exception { - IRequestInfo requestInfo = helpers.analyzeRequest(messageInfo); - List headers = requestInfo.getHeaders(); - if (!token.isEmpty()) { - boolean tokenExists = false; - int i = 0; - for (String header : headers) { - if (header.toLowerCase().startsWith("x-amz-security-token")) { - headers.set(i, "X-Amz-Security-Token: " + token); - tokenExists = true; - } - i++; - } - if (!tokenExists) - headers.add("X-Amz-Security-Token: " + token); - } - List newHeaders = new ArrayList<>(headers); - headers.remove(0); - - Map headerMap = new TreeMap<>(String.CASE_INSENSITIVE_ORDER); - - String authHeader = ""; - String amzDate = ""; - - for (String header : headers) { - if (header.toLowerCase().startsWith("authorization:")){ - authHeader = header; - } - if (header.toLowerCase().startsWith("x-amz-date:")){ - amzDate = header; - } - - String[] headerPair = header.split(":",2); - headerMap.put(headerPair[0].trim(),headerPair[1].trim()); - } - - headers.remove(authHeader); - headers.remove(amzDate); - newHeaders.remove(authHeader); - newHeaders.remove(amzDate); - - SimpleDateFormat amz = new SimpleDateFormat("yyyyMMdd'T'HHmmss'Z'"); - amz.setTimeZone(TimeZone.getTimeZone("UTC")); - String amzdate = amz.format(new Date()); - - SimpleDateFormat dateStamp = new SimpleDateFormat("yyyyMMdd"); - dateStamp.setTimeZone(TimeZone.getTimeZone("UTC")); - String dateStampString = dateStamp.format(new Date()); - - headerMap.put("x-amz-date",amzdate); - - String signedHeaders = getSignedHeaders(headerMap.get("authorization")); - if (!token.isEmpty() && !signedHeaders.contains("x-amz-security-token")) { - signedHeaders = signedHeaders + ";x-amz-security-token"; - } - - String[] signedHeaderArray = signedHeaders.split(";"); - - List signedHeaderList = Arrays.asList(signedHeaderArray); - - Collections.sort(signedHeaderList); - - StringBuilder canonicalHeaders = new StringBuilder(); - - for (String signedHeader : signedHeaderList) { - if (headerMap.containsKey(signedHeader)) { - canonicalHeaders.append(signedHeader.toLowerCase()).append(':').append(headerMap.get(signedHeader)).append('\n'); - } else { - pw.println("Warning: SignedHeader '" + signedHeader + "' does not exist in request headers."); - } - } - String signedHeadersSorted = String.join(";", signedHeaderList); - //pw.println(canonicalHeaders.toString()); - byte[] request = messageInfo.getRequest(); - String body = ""; - String notUnicode = "[^\\u0000-\\u007F]+"; - String payloadHash; - - if (!requestInfo.getMethod().equals("GET") || requestInfo.getBodyOffset() > 0){ - - int bodyOffset = requestInfo.getBodyOffset(); - body = hexToString(bytesToHex(Arrays.copyOfRange(request, bodyOffset, request.length))); - if(!body.matches(notUnicode)) { - char[] chars = body.toCharArray(); - String sanitize = ""; - for (char aChar : chars) { - String test = Character.toString(aChar); - if (Pattern.matches(notUnicode, test)) { - sanitize = sanitize.concat(URLEncoder.encode(test, StandardCharsets.UTF_8.toString())); - } else { - sanitize = sanitize.concat(test); - } - } - body = sanitize; - } - pw.println(Base64.getEncoder().encodeToString(body.getBytes("utf-8"))); - payloadHash = Hashing.sha256().hashString(body, StandardCharsets.UTF_8).toString().toLowerCase(); - - } else { - payloadHash = Hashing.sha256().hashString("", StandardCharsets.UTF_8).toString().toLowerCase(); - } - - String canonicalUri = requestInfo.getUrl().getPath(); - if(!canonicalUri.matches(notUnicode)) { - char[] chars = canonicalUri.toCharArray(); - String sanitize = ""; - for (char aChar : chars) { - String test = Character.toString(aChar); - if (Pattern.matches(notUnicode, test)) { - sanitize = sanitize.concat(URLEncoder.encode(test, StandardCharsets.UTF_8.toString())); - } else { - sanitize = sanitize.concat(test); - } - } - canonicalUri = sanitize; - } - //pw.println(canonicalUri); - URI uri = new URI(canonicalUri); - uri = uri.normalize(); - String path = uri.getPath(); - if(canonicalUri.contains("%")) { - path = uri.getRawPath(); - } - String[] segments = path.split("/"); - String[] encodedSegments = new String[segments.length]; - for (int i=0; i 1) { - sorted[i] = String.join("=", param); - } else if (param.length == 1 && !param[0].isEmpty()){ - sorted[i] = param[0] + "="; - } - } - canonicalQueryString = String.join("&", sorted); - - String[] cleanup = canonicalQueryString.split(""); - for (int i = 0; i < cleanup.length; ++i) { - if (cleanup[i].equals("%")) { - cleanup[i+1] = cleanup[i+1].toUpperCase(); - cleanup[i+2] = cleanup[i+2].toUpperCase(); - } - } - canonicalQueryString = String.join("", cleanup); - //pw.println(canonicalQueryString); - //canonicalQueryString = canonicalQueryString.replace(":","%3A").replace("/","%2F").replace(" ", "%20"); - - String canonicalRequest = requestInfo.getMethod() + '\n' + encodedCanonicalUri + '\n' + canonicalQueryString + '\n' + - canonicalHeaders +'\n' + signedHeadersSorted + '\n' + payloadHash; - String credScope = dateStampString + '/' + region + '/' + service + '/' + "aws4_request"; - String algorithm = "AWS4-HMAC-SHA256"; - - String stringToSign = algorithm + '\n' + amzdate + '\n' + credScope + '\n' + Hashing.sha256().hashString(canonicalRequest, StandardCharsets.UTF_8).toString().toLowerCase(); - //pw.println(canonicalRequest); - //pw.println(stringToSign); - byte[] signingKey = getSignatureKey(secretKey, dateStampString, region, service); - - String signature = DatatypeConverter.printHexBinary(HmacSHA256(stringToSign, signingKey)); - - newHeaders.add("Authorization: " + algorithm + ' ' + "Credential=" + accessKey + '/' + credScope + ", " + "SignedHeaders=" + - signedHeadersSorted + ", " + "Signature=" + signature.toLowerCase()); - newHeaders.add("X-Amz-Date: " + amzdate); - if(!newHeaders.get(0).matches(notUnicode)) { - char[] chars = newHeaders.get(0).toCharArray(); - String sanitize = ""; - for (char aChar : chars) { - String test = Character.toString(aChar); - if (Pattern.matches(notUnicode, test)) { - sanitize = sanitize.concat(URLEncoder.encode(test, StandardCharsets.UTF_8.toString())); - } else { - sanitize = sanitize.concat(test); - } - } - newHeaders.set(0, sanitize); - } - - return helpers.buildHttpMessage(newHeaders, body.getBytes()); - } - - private static byte[] HmacSHA256(String data, byte[] key) throws Exception { - String algorithm="HmacSHA256"; - Mac mac = Mac.getInstance(algorithm); - mac.init(new SecretKeySpec(key, algorithm)); - return mac.doFinal(data.getBytes(StandardCharsets.UTF_8)); - } - - private static byte[] getSignatureKey(String key, String dateStamp, String regionName, String serviceName) throws Exception { - byte[] kSecret = ("AWS4" + key).getBytes(StandardCharsets.UTF_8); - byte[] kDate = HmacSHA256(dateStamp, kSecret); - byte[] kRegion = HmacSHA256(regionName, kDate); - byte[] kService = HmacSHA256(serviceName, kRegion); - return HmacSHA256("aws4_request", kService); - } - - private static String getSignedHeaders(String authHeader){ - - String signedHeaders = ""; - - Pattern pattern = Pattern.compile("SignedHeaders=(.*?)[,\\s]"); - - Matcher matcher = pattern.matcher(authHeader); - if (matcher.find()){ - signedHeaders = matcher.group(1); - } - - return signedHeaders; - - } - private static String bytesToHex(byte[] bytes) { - char[] HEX_ARRAY = "0123456789ABCDEF".toCharArray(); - char[] hexChars = new char[bytes.length * 2]; - for (int j = 0; j < bytes.length; j++) { - int v = bytes[j] & 0xFF; - hexChars[j * 2] = HEX_ARRAY[v >>> 4]; - hexChars[j * 2 + 1] = HEX_ARRAY[v & 0x0F]; - } - return new String(hexChars); - } - private static String hexToString(String hex){ - StringBuilder sb = new StringBuilder(); - for( int i=0; i new SigningException("Region missing from Authorization header. Is this a SigV4a request? Can't sign with classic signer"))); + + try { + return callV1Signing(messageInfo, helpers, service, region, accessKey, secretKey, token); + } catch (Exception ex) { + final String errorMessage = "Unable to sign request with profile " + profile + " using V1 signing algorithm. Error: " + ex.getMessage(); + LogWriter.logError(errorMessage); + throw new SigningException(errorMessage, ex); + } + } + + //As much as possible, copy-pasting from V1 + private byte[] callV1Signing(IHttpRequestResponse messageInfo, + IExtensionHelpers helpers, + String service, + String region, + String accessKey, + String secretKey, + String token) throws Exception { + IRequestInfo requestInfo = helpers.analyzeRequest(messageInfo); + List headers = requestInfo.getHeaders(); + if (!token.isEmpty()) { + boolean tokenExists = false; + int i = 0; + for (String header : headers) { + if (header.toLowerCase().startsWith("x-amz-security-token")) { + headers.set(i, "X-Amz-Security-Token: " + token); + tokenExists = true; + } + i++; + } + if (!tokenExists) + headers.add("X-Amz-Security-Token: " + token); + } + List newHeaders = new ArrayList<>(headers); + headers.remove(0); + + Map headerMap = new TreeMap<>(String.CASE_INSENSITIVE_ORDER); + + String authHeader = ""; + String amzDate = ""; + + for (String header : headers) { + if (header.toLowerCase().startsWith("authorization:")){ + authHeader = header; + } + if (header.toLowerCase().startsWith("x-amz-date:")){ + amzDate = header; + } + + String[] headerPair = header.split(":",2); + headerMap.put(headerPair[0].trim(),headerPair[1].trim()); + } + + headers.remove(authHeader); + headers.remove(amzDate); + newHeaders.remove(authHeader); + newHeaders.remove(amzDate); + + SimpleDateFormat amz = new SimpleDateFormat("yyyyMMdd'T'HHmmss'Z'"); + amz.setTimeZone(TimeZone.getTimeZone("UTC")); + String amzdate = amz.format(new Date()); + + SimpleDateFormat dateStamp = new SimpleDateFormat("yyyyMMdd"); + dateStamp.setTimeZone(TimeZone.getTimeZone("UTC")); + String dateStampString = dateStamp.format(new Date()); + + headerMap.put("x-amz-date",amzdate); + + String signedHeaders = getSignedHeaders(headerMap.get("authorization")); + if (!token.isEmpty() && !signedHeaders.contains("x-amz-security-token")) { + signedHeaders = signedHeaders + ";x-amz-security-token"; + } + + String[] signedHeaderArray = signedHeaders.split(";"); + + List signedHeaderList = Arrays.asList(signedHeaderArray); + + Collections.sort(signedHeaderList); + + StringBuilder canonicalHeaders = new StringBuilder(); + + for (String signedHeader : signedHeaderList) { + if (headerMap.containsKey(signedHeader)) { + canonicalHeaders.append(signedHeader.toLowerCase()).append(':').append(headerMap.get(signedHeader)).append('\n'); + } else { + LogWriter.logInfo("Warning: SignedHeader '" + signedHeader + "' does not exist in request headers."); + } + } + String signedHeadersSorted = String.join(";", signedHeaderList); + LogWriter.logDebug(canonicalHeaders.toString()); + byte[] request = messageInfo.getRequest(); + String body = ""; + String notUnicode = "[^\\u0000-\\u007F]+"; + String payloadHash; + + if (!requestInfo.getMethod().equals("GET") || requestInfo.getBodyOffset() > 0){ + + int bodyOffset = requestInfo.getBodyOffset(); + body = hexToString(bytesToHex(Arrays.copyOfRange(request, bodyOffset, request.length))); + if(!body.matches(notUnicode)) { + char[] chars = body.toCharArray(); + String sanitize = ""; + for (char aChar : chars) { + String test = Character.toString(aChar); + if (Pattern.matches(notUnicode, test)) { + sanitize = sanitize.concat(URLEncoder.encode(test, StandardCharsets.UTF_8.toString())); + } else { + sanitize = sanitize.concat(test); + } + } + body = sanitize; + } + LogWriter.logDebug(Base64.getEncoder().encodeToString(body.getBytes("utf-8"))); + payloadHash = Hashing.sha256().hashString(body, StandardCharsets.UTF_8).toString().toLowerCase(); + + } else { + payloadHash = Hashing.sha256().hashString("", StandardCharsets.UTF_8).toString().toLowerCase(); + } + + String canonicalUri = requestInfo.getUrl().getPath(); + if(!canonicalUri.matches(notUnicode)) { + char[] chars = canonicalUri.toCharArray(); + String sanitize = ""; + for (char aChar : chars) { + String test = Character.toString(aChar); + if (Pattern.matches(notUnicode, test)) { + sanitize = sanitize.concat(URLEncoder.encode(test, StandardCharsets.UTF_8.toString())); + } else { + sanitize = sanitize.concat(test); + } + } + canonicalUri = sanitize; + } + LogWriter.logDebug(canonicalUri); + URI uri = new URI(canonicalUri); + uri = uri.normalize(); + String path = uri.getPath(); + if(canonicalUri.contains("%")) { + path = uri.getRawPath(); + } + String[] segments = path.split("/"); + String[] encodedSegments = new String[segments.length]; + for (int i=0; i 1) { + sorted[i] = String.join("=", param); + } else if (param.length == 1 && !param[0].isEmpty()){ + sorted[i] = param[0] + "="; + } + } + canonicalQueryString = String.join("&", sorted); + + String[] cleanup = canonicalQueryString.split(""); + for (int i = 0; i < cleanup.length; ++i) { + if (cleanup[i].equals("%")) { + cleanup[i+1] = cleanup[i+1].toUpperCase(); + cleanup[i+2] = cleanup[i+2].toUpperCase(); + } + } + canonicalQueryString = String.join("", cleanup); + LogWriter.logDebug(canonicalQueryString); + //canonicalQueryString = canonicalQueryString.replace(":","%3A").replace("/","%2F").replace(" ", "%20"); + + String canonicalRequest = requestInfo.getMethod() + '\n' + encodedCanonicalUri + '\n' + canonicalQueryString + '\n' + + canonicalHeaders +'\n' + signedHeadersSorted + '\n' + payloadHash; + String credScope = dateStampString + '/' + region + '/' + service + '/' + "aws4_request"; + String algorithm = "AWS4-HMAC-SHA256"; + + String stringToSign = algorithm + '\n' + amzdate + '\n' + credScope + '\n' + Hashing.sha256().hashString(canonicalRequest, StandardCharsets.UTF_8).toString().toLowerCase(); + LogWriter.logDebug(canonicalRequest); + LogWriter.logDebug(stringToSign); + byte[] signingKey = getSignatureKey(secretKey, dateStampString, region, service); + + String signature = bytesToHex(HmacSHA256(stringToSign, signingKey)); + + newHeaders.add("Authorization: " + algorithm + ' ' + "Credential=" + accessKey + '/' + credScope + ", " + "SignedHeaders=" + + signedHeadersSorted + ", " + "Signature=" + signature.toLowerCase()); + newHeaders.add("X-Amz-Date: " + amzdate); + if(!newHeaders.get(0).matches(notUnicode)) { + char[] chars = newHeaders.get(0).toCharArray(); + String sanitize = ""; + for (char aChar : chars) { + String test = Character.toString(aChar); + if (Pattern.matches(notUnicode, test)) { + sanitize = sanitize.concat(URLEncoder.encode(test, StandardCharsets.UTF_8.toString())); + } else { + sanitize = sanitize.concat(test); + } + } + newHeaders.set(0, sanitize); + } + + return helpers.buildHttpMessage(newHeaders, body.getBytes()); + } + + private byte[] HmacSHA256(String data, byte[] key) throws Exception { + String algorithm = "HmacSHA256"; + Mac mac = Mac.getInstance(algorithm); + mac.init(new SecretKeySpec(key, algorithm)); + return mac.doFinal(data.getBytes(StandardCharsets.UTF_8)); + } + + private byte[] getSignatureKey(String key, String dateStamp, String regionName, String serviceName) throws Exception { + byte[] kSecret = ("AWS4" + key).getBytes(StandardCharsets.UTF_8); + byte[] kDate = HmacSHA256(dateStamp, kSecret); + byte[] kRegion = HmacSHA256(regionName, kDate); + byte[] kService = HmacSHA256(serviceName, kRegion); + return HmacSHA256("aws4_request", kService); + } + + private String getSignedHeaders(String authHeader) { + + String signedHeaders = ""; + + Pattern pattern = Pattern.compile("SignedHeaders=(.*?)[,\\s]"); + + Matcher matcher = pattern.matcher(authHeader); + if (matcher.find()) { + signedHeaders = matcher.group(1); + } + + return signedHeaders; + + } + + private static final char[] hexCode = "0123456789ABCDEF".toCharArray(); + private String bytesToHex(byte[] data) { + StringBuilder r = new StringBuilder(data.length * 2); + for (byte b : data) { + r.append(hexCode[(b >> 4) & 0xF]); + r.append(hexCode[(b & 0xF)]); + } + return r.toString(); + } + + private String hexToString(String hex) { + StringBuilder sb = new StringBuilder(); + for (int i = 0; i < hex.length() - 1; i += 2) { + String output = hex.substring(i, (i + 2)); + int decimal = Integer.parseInt(output, 16); + sb.append((char) decimal); + } + return sb.toString(); + } + + +} diff --git a/src/main/java/com/netspi/awssigner/signing/DelegatingAwsRequestSigner.java b/src/main/java/com/netspi/awssigner/signing/DelegatingAwsRequestSigner.java new file mode 100644 index 0000000..41ae7f0 --- /dev/null +++ b/src/main/java/com/netspi/awssigner/signing/DelegatingAwsRequestSigner.java @@ -0,0 +1,280 @@ +package com.netspi.awssigner.signing; + +import burp.IExtensionHelpers; +import burp.IHttpRequestResponse; +import burp.IRequestInfo; +import com.netspi.awssigner.credentials.SignerCredentialException; +import com.netspi.awssigner.credentials.SigningCredentialConverter; +import com.netspi.awssigner.credentials.SigningCredentials; +import com.netspi.awssigner.log.LogWriter; +import com.netspi.awssigner.model.Profile; +import java.io.ByteArrayInputStream; +import java.net.URI; +import java.net.URISyntaxException; +import java.security.MessageDigest; +import java.security.NoSuchAlgorithmException; +import java.util.ArrayList; +import java.util.Arrays; +import java.util.Iterator; +import java.util.List; +import java.util.Map; +import java.util.Optional; +import java.util.Set; +import java.util.TreeMap; +import java.util.stream.Collectors; +import software.amazon.awssdk.auth.credentials.AwsCredentials; +import software.amazon.awssdk.auth.signer.Aws4Signer; +import software.amazon.awssdk.auth.signer.AwsS3V4Signer; +import software.amazon.awssdk.auth.signer.AwsSignerExecutionAttribute; +import software.amazon.awssdk.auth.signer.S3SignerExecutionAttribute; +import software.amazon.awssdk.authcrt.signer.AwsCrtS3V4aSigner; +import software.amazon.awssdk.authcrt.signer.AwsCrtV4aSigner; +import software.amazon.awssdk.core.interceptor.ExecutionAttributes; +import software.amazon.awssdk.core.signer.Signer; +import software.amazon.awssdk.http.SdkHttpFullRequest; +import software.amazon.awssdk.http.SdkHttpMethod; +import software.amazon.awssdk.regions.Region; +import software.amazon.awssdk.regions.internal.util.RegionScope; + +/** + * Passes off request signing responsibility to the AWS SDK. + */ +public class DelegatingAwsRequestSigner implements AwsRequestSigner { + + private final IExtensionHelpers helpers; + private final Profile profile; + + public DelegatingAwsRequestSigner(IExtensionHelpers helpers, Profile profile) { + this.helpers = helpers; + this.profile = profile; + } + + @Override + public byte[] sign(IHttpRequestResponse messageInfo, IRequestInfo request, ParsedAuthHeader authHeader) throws SigningException { + //Get the credentials for signing + SigningCredentials credentials; + try { + credentials = profile.getCredentials(); + } catch (SignerCredentialException ex) { + final String errorMessage = "Unable to fetch credentials for profile " + profile + " when attempting to sign. Error: " + ex.getMessage(); + LogWriter.logError(errorMessage); + throw new SigningException(errorMessage, ex); + } + + //May be set in profile, fall back to parsed auth header + String service = profile.getService().orElse(authHeader.getService()); + + //Get the fulll request as bytes + byte[] originalRequestBytes = messageInfo.getRequest(); + + //Pull out the bytes of the body + final byte[] body = Arrays.copyOfRange(originalRequestBytes, request.getBodyOffset(), originalRequestBytes.length); + + //Get all the headers + List allHeaders = request.getHeaders(); + LogWriter.logDebug("All headers in request: " + allHeaders); + //First line is HTTP request line (GET / ...). Take it out + final String originalRequestLine = allHeaders.remove(0); + + //Split the signed headers in the auth header into individual headers. + String signedHeadersString = authHeader.getSignedHeaders(); + LogWriter.logDebug("Signed Headers extracted from Authorization header: " + signedHeadersString); + Set originalSignedHeaderSet = Arrays.stream(signedHeadersString.split(";")) + .map(String::toLowerCase) + .collect(Collectors.toSet()); + LogWriter.logDebug("Signed Headers extracted from Authorization header, after splitting: " + originalSignedHeaderSet); + + //For each signed header, we need get the corresponding value(s) in our request. + Map> signedHeaderMap = new TreeMap<>(String.CASE_INSENSITIVE_ORDER); + for (final String signedHeader : originalSignedHeaderSet) { + List headerValues = allHeaders.stream().filter(header -> { + //Check if this line matches the signed header + return header.toLowerCase().startsWith(signedHeader + ":"); + }).map(header -> { + //Only keep the header's value. + //We know from the filter that there is a colon character, so this is safe. + return header.split(":", 2)[1]; + }).collect(Collectors.toList()); + LogWriter.logDebug("For header \"" + signedHeader + "\" found the following values: " + headerValues); + signedHeaderMap.put(signedHeader, headerValues); + } + LogWriter.logDebug("signedHeaderMap: " + signedHeaderMap); + + // build request object for signing + URI uri; + try { + uri = request.getUrl().toURI(); + } catch (URISyntaxException ex) { + final String errorMessage = "Bad Request URL. Not valid syntax. Error: " + ex.getMessage(); + LogWriter.logError(errorMessage); + throw new SigningException(errorMessage, ex); + } + + // Need to remove these headers for the SDK + signedHeaderMap.remove("x-amz-security-token"); + signedHeaderMap.remove("x-amz-date"); + signedHeaderMap.remove("host"); + //Check if this is an S3 request. + if (service.equalsIgnoreCase("s3")) { + //Also remove this header + signedHeaderMap.remove("x-amz-content-sha256"); + } + LogWriter.logDebug("signedHeaderMap after removals for SDK: " + signedHeaderMap); + + SdkHttpFullRequest signedRequest; + try { + final SdkHttpFullRequest awsRequest = SdkHttpFullRequest.builder() + .headers(signedHeaderMap) + .uri(uri) + .method(SdkHttpMethod.fromValue(request.getMethod())) + .contentStreamProvider(() -> new ByteArrayInputStream(body)).build(); + + //Convert signing creds to AWS type + AwsCredentials awsCredentials = new SigningCredentialConverter(credentials).resolveCredentials(); + + //Check if the headers include a "X-Amz-Region-Set" header value + Optional xAmzRegionSetHeaderValue = allHeaders.stream().filter(headerLine -> { + return headerLine.toLowerCase().startsWith("x-amz-region-set:"); + }) + .map(header -> { + //Only keep the header's value. + //We know from the filter that there is a colon character, so this is safe. + return header.split(":", 2)[1]; + }).findFirst(); + + //We want to find the right region for our request + //May be set in the profile, fall back to parsed auth header, then fall back to X-Amz-Region-Set header. + //If it's not set any of those places... don't know what to do. + String region = profile.getRegion().orElse(authHeader.getRegion().orElse(xAmzRegionSetHeaderValue.orElse(null))); + + //Get the metadata for signing + ExecutionAttributes executionAttributes = new ExecutionAttributes(); + executionAttributes.putAttribute(AwsSignerExecutionAttribute.AWS_CREDENTIALS, awsCredentials); + executionAttributes.putAttribute(AwsSignerExecutionAttribute.SERVICE_SIGNING_NAME, service); + LogWriter.logDebug("Adding service (" + AwsSignerExecutionAttribute.SERVICE_SIGNING_NAME + ") attribute: " + service); + executionAttributes.putAttribute(AwsSignerExecutionAttribute.SIGNING_REGION, Region.of(region)); + LogWriter.logDebug("Adding region (" + AwsSignerExecutionAttribute.SIGNING_REGION + ") attribute: " + Region.of(region)); + + //We'll now create the appropriate signer + Signer signer; + + //Check if this is an S3 request. They get special handling + if (service.equalsIgnoreCase("s3")) { + LogWriter.logDebug("Handling S3-specific signature."); + executionAttributes.putAttribute(AwsSignerExecutionAttribute.SIGNER_DOUBLE_URL_ENCODE, false); + executionAttributes.putAttribute(S3SignerExecutionAttribute.ENABLE_PAYLOAD_SIGNING, true); + if (authHeader.getAlgorithm() == SigningAlgorithm.SIGV4A) { + LogWriter.logDebug("Handling S3-specific SigV4a signature."); + if (region.equals("*")) { + LogWriter.logDebug("Handling region * with SigV4A"); + executionAttributes.putAttribute(AwsSignerExecutionAttribute.SIGNING_REGION_SCOPE, RegionScope.GLOBAL); + LogWriter.logDebug("Adding region scope (" + AwsSignerExecutionAttribute.SIGNING_REGION_SCOPE + ") attribute: " + RegionScope.GLOBAL); + } + signer = AwsCrtS3V4aSigner.create(); + } else { + LogWriter.logDebug("Handling S3-specific SigV4 signature."); + signer = AwsS3V4Signer.create(); + } + + } else { + LogWriter.logDebug("Handling non-S3 signature."); + executionAttributes.putAttribute(AwsSignerExecutionAttribute.SIGNER_DOUBLE_URL_ENCODE, true); + if (authHeader.getAlgorithm() == SigningAlgorithm.SIGV4A) { + LogWriter.logDebug("Handling non-S3 SigV4a signature."); + signer = AwsCrtV4aSigner.create(); + } else { + LogWriter.logDebug("Handling non-S3 SigV4 signature."); + signer = Aws4Signer.create(); + } + } + LogWriter.logDebug("Execution attributes: " + executionAttributes.getAttributes()); + signedRequest = signer.sign(awsRequest, executionAttributes); + + } catch (RuntimeException ex) { + final String errorMessage = "Unable to sign request with AWS SDK. Error: " + ex.getMessage(); + LogWriter.logError(errorMessage); + throw new SigningException(errorMessage, ex); + } + LogWriter.logDebug("Successfully signed request with AWS signer."); + + //Rebuild the final headers + List finalHeaders = new ArrayList<>(allHeaders); + final Map> postSignedHeaders = signedRequest.headers(); + LogWriter.logDebug("Signed headers after signing: " + postSignedHeaders); + + //Merge back in the signed headers with updated values + for (final String signedHeader : postSignedHeaders.keySet()) { + List signedValues = postSignedHeaders.get(signedHeader); + //Iterate through the list of headers, searching for a match for the signed header. + //Track the value in case there are multiple values so we know which to pick. + for (int i = 0, valueCount = 0; i < finalHeaders.size(); i++) { + String finalHeaderLine = finalHeaders.get(i); + if (finalHeaderLine.toLowerCase().startsWith(signedHeader.toLowerCase() + ":")) { + String[] parts = finalHeaderLine.split(":", 2); + finalHeaders.set(i, parts[0] + ": " + signedValues.get(valueCount)); + valueCount++; + } + } + } + LogWriter.logDebug("All request headers after merging in signed headers: " + finalHeaders); + + //Special handling for Content-MD5 + for (int i = 0; i < finalHeaders.size(); i++) { + String finalHeader = finalHeaders.get(i); + if (finalHeader.toLowerCase().startsWith("Content-MD5".toLowerCase() + ":")) { + //Found Content-MD5 header. Update it. + try { + final byte[] bodyMD5 = MessageDigest.getInstance("MD5").digest(body); + final String updatedContentMD5 = helpers.base64Encode(bodyMD5); + finalHeaders.set(i, "Content-MD5: " + updatedContentMD5); + LogWriter.logDebug("Updated Content-MD5 header"); + } catch (NoSuchAlgorithmException e) { + LogWriter.logError("Platform does not support MD5. Cannot update Content-MD5 header"); + } + } + } + + //Check if the credentials have a session token + if (credentials.getSessionToken().isPresent()) { + boolean foundHeader = false; + for (int i = 0; i < finalHeaders.size(); i++) { + String header = finalHeaders.get(i); + //Check if this header is already the session token header + if (header.toLowerCase().startsWith("x-amz-security-token:")) { + finalHeaders.set(i, "X-Amz-Security-Token: " + credentials.getSessionToken().get()); + foundHeader = true; + LogWriter.logDebug("Replaced " + header + " in request with profile's session token."); + } + } + if(!foundHeader){ + finalHeaders.add("X-Amz-Security-Token: " + credentials.getSessionToken().get()); + LogWriter.logDebug("Added X-Amz-Security-Token to request with profile's session token."); + } + } else { + for (Iterator iterator = finalHeaders.iterator(); iterator.hasNext();) { + String header = iterator.next(); + if (header.toLowerCase().startsWith("x-amz-security-token:")) { + iterator.remove(); + LogWriter.logDebug("Removed " + header + " from request because it was signed with credentials which have a session token."); + } + } + } + + + LogWriter.logDebug("Final Headers: " + finalHeaders); + + //Handle the first request line + //We actually want to rebuild this from the signed request because it would have handled URL encoding for us if necessary. + String methodString = signedRequest.method().toString(); + URI signedUri = signedRequest.getUri(); + String signedPath = signedUri.getRawPath(); + String signedQuery = signedUri.getRawQuery() == null ? "" : "?" + signedUri.getRawQuery(); + String httpProtocolPart = originalRequestLine.substring(originalRequestLine.lastIndexOf(" ") + 1); + String newRequestLine = methodString + " " + signedPath + signedQuery + " " + httpProtocolPart; + finalHeaders.add(0, newRequestLine); + + //Build it and send it back + return helpers.buildHttpMessage(finalHeaders, body); + } + +} diff --git a/src/main/java/com/netspi/awssigner/signing/ParsedAuthHeader.java b/src/main/java/com/netspi/awssigner/signing/ParsedAuthHeader.java new file mode 100644 index 0000000..c313ceb --- /dev/null +++ b/src/main/java/com/netspi/awssigner/signing/ParsedAuthHeader.java @@ -0,0 +1,151 @@ +package com.netspi.awssigner.signing; + +import com.netspi.awssigner.log.LogWriter; +import java.util.Objects; +import java.util.Optional; +import java.util.regex.Matcher; +import java.util.regex.Pattern; + +public class ParsedAuthHeader { + + private static final String AUTH_HEADER_PATTERN_ALGORITHM_GROUP = "algorithm"; + private static final String AUTH_HEADER_PATTERN_ACCESS_KEY_GROUP = "accessKeyId"; + private static final String AUTH_HEADER_PATTERN_DATE_GROUP = "date"; + private static final String AUTH_HEADER_PATTERN_REGION_GROUP = "region"; + private static final String AUTH_HEADER_PATTERN_SERVICE_GROUP = "service"; + private static final String AUTH_HEADER_PATTERN_SIGNED_HEADERS_GROUP = "signedheaders"; + private static final String AUTH_HEADER_PATTERN_SIGNATURE_GROUP = "signature"; + private static final Pattern AUTH_HEADER_PATTERN = Pattern.compile("Authorization:\\s*(?<" + AUTH_HEADER_PATTERN_ALGORITHM_GROUP + ">AWS4-(?:HMAC|ECDSA-P256)-SHA256)\\s*Credential=(?<" + AUTH_HEADER_PATTERN_ACCESS_KEY_GROUP + ">[\\w-]{1,128})\\/(?<" + AUTH_HEADER_PATTERN_DATE_GROUP + ">\\d{8})\\/(?:(?<" + AUTH_HEADER_PATTERN_REGION_GROUP + ">[\\w-]{0,64})\\/)?(?<" + AUTH_HEADER_PATTERN_SERVICE_GROUP + ">\\S{0,128})\\/aws4_request,?\\s+SignedHeaders=(?<" + AUTH_HEADER_PATTERN_SIGNED_HEADERS_GROUP + ">\\S+),\\s+Signature=(?<" + AUTH_HEADER_PATTERN_SIGNATURE_GROUP + ">[a-fA-F\\d]{1,256})", Pattern.CASE_INSENSITIVE); + + private final SigningAlgorithm algorithm; + private final String accessKey; + private final String date; + private final Optional region; + private final String service; + private final String signedheaders; + private final String signature; + + public ParsedAuthHeader(SigningAlgorithm algorithm, String accessKey, String date, String region, String service, String signedheaders, String signature) { + this.algorithm = algorithm; + this.accessKey = accessKey; + this.date = date; + this.region = Optional.ofNullable(region); + this.service = service; + this.signedheaders = signedheaders; + this.signature = signature; + + } + + public SigningAlgorithm getAlgorithm() { + return algorithm; + } + + public String getAccessKey() { + return accessKey; + } + + public String getDate() { + return date; + } + + public Optional getRegion() { + return region; + } + + public String getService() { + return service; + } + + public String getSignedHeaders() { + return signedheaders; + } + + public String getSignature() { + return signature; + } + + @Override + public int hashCode() { + int hash = 7; + hash = 37 * hash + Objects.hashCode(this.algorithm); + hash = 37 * hash + Objects.hashCode(this.accessKey); + hash = 37 * hash + Objects.hashCode(this.date); + hash = 37 * hash + Objects.hashCode(this.region); + hash = 37 * hash + Objects.hashCode(this.service); + hash = 37 * hash + Objects.hashCode(this.signedheaders); + hash = 37 * hash + Objects.hashCode(this.signature); + return hash; + } + + @Override + public boolean equals(Object obj) { + if (this == obj) { + return true; + } + if (obj == null) { + return false; + } + if (getClass() != obj.getClass()) { + return false; + } + final ParsedAuthHeader other = (ParsedAuthHeader) obj; + if (!Objects.equals(this.algorithm, other.algorithm)) { + return false; + } + if (!Objects.equals(this.accessKey, other.accessKey)) { + return false; + } + if (!Objects.equals(this.date, other.date)) { + return false; + } + if (!Objects.equals(this.region, other.region)) { + return false; + } + if (!Objects.equals(this.service, other.service)) { + return false; + } + if (!Objects.equals(this.signedheaders, other.signedheaders)) { + return false; + } + if (!Objects.equals(this.signature, other.signature)) { + return false; + } + return true; + } + + @Override + public String toString() { + return "ParsedAuthHeader{" + "algorithm=" + algorithm + ", accessKey=" + accessKey + ", date=" + date + ", region=" + region + ", service=" + service + ", signedheaders=" + signedheaders + ", signature=" + signature + '}'; + } + + public static Optional parseFromAuthorizationHeader(String authHeader) { + //Get the parts from the Authorization header + Matcher authorizationMatcher = AUTH_HEADER_PATTERN.matcher(authHeader); + + if (!authorizationMatcher.matches()) { + //Something is wrong. Why didn't this match now... when it already matched? + LogWriter.logDebug("Unable to parse authorization headers. Input header: " + authHeader); + return Optional.empty(); + } + + //Pull apart the string into components we want + String algorithmString = authorizationMatcher.group(AUTH_HEADER_PATTERN_ALGORITHM_GROUP); + Optional algorithmOptional = SigningAlgorithm.fromAuthorizationHeaderString(algorithmString); + if (algorithmOptional.isEmpty()) { + LogWriter.logError("Unable to detect AWS signature type. Input header: " + authHeader + " Parsed algorithm: " + algorithmString); + return Optional.empty(); + } + String accessKey = authorizationMatcher.group(AUTH_HEADER_PATTERN_ACCESS_KEY_GROUP); + String date = authorizationMatcher.group(AUTH_HEADER_PATTERN_DATE_GROUP); + String region = authorizationMatcher.group(AUTH_HEADER_PATTERN_REGION_GROUP); + String service = authorizationMatcher.group(AUTH_HEADER_PATTERN_SERVICE_GROUP); + String signedheaders = authorizationMatcher.group(AUTH_HEADER_PATTERN_SIGNED_HEADERS_GROUP); + String signature = authorizationMatcher.group(AUTH_HEADER_PATTERN_SIGNATURE_GROUP); + + //make return object and be done + ParsedAuthHeader parsed = new ParsedAuthHeader(algorithmOptional.get(), accessKey, date, region, service, signedheaders, signature); + LogWriter.logInfo("Successfully parsed Authorization header: " + parsed); + return Optional.of(parsed); + } + +} diff --git a/src/main/java/com/netspi/awssigner/signing/SigningAlgorithm.java b/src/main/java/com/netspi/awssigner/signing/SigningAlgorithm.java new file mode 100644 index 0000000..26f54c3 --- /dev/null +++ b/src/main/java/com/netspi/awssigner/signing/SigningAlgorithm.java @@ -0,0 +1,16 @@ +package com.netspi.awssigner.signing; + +import java.util.Optional; + +public enum SigningAlgorithm { + SIGV4, SIGV4A; + public static Optional fromAuthorizationHeaderString(String authHeaderPartString){ + if(authHeaderPartString.equalsIgnoreCase("AWS4-HMAC-SHA256")){ + return Optional.of(SIGV4); + } else if(authHeaderPartString.equalsIgnoreCase("AWS4-ECDSA-P256-SHA256")){ + return Optional.of(SIGV4A); + } else { + return Optional.empty(); + } + } +} diff --git a/src/main/java/com/netspi/awssigner/signing/SigningException.java b/src/main/java/com/netspi/awssigner/signing/SigningException.java new file mode 100644 index 0000000..b95b76f --- /dev/null +++ b/src/main/java/com/netspi/awssigner/signing/SigningException.java @@ -0,0 +1,17 @@ +package com.netspi.awssigner.signing; + +public class SigningException extends Exception { + + public SigningException(String message) { + super(message); + } + + public SigningException(Throwable cause) { + super(cause); + } + + public SigningException(String message, Throwable cause) { + super(message, cause); + } + +} diff --git a/src/main/java/com/netspi/awssigner/view/AddProfileDialog.form b/src/main/java/com/netspi/awssigner/view/AddProfileDialog.form new file mode 100644 index 0000000..6cd2fcf --- /dev/null +++ b/src/main/java/com/netspi/awssigner/view/AddProfileDialog.form @@ -0,0 +1,231 @@ + + +
    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/src/main/java/com/netspi/awssigner/view/AddProfileDialog.java b/src/main/java/com/netspi/awssigner/view/AddProfileDialog.java new file mode 100644 index 0000000..de4dfb6 --- /dev/null +++ b/src/main/java/com/netspi/awssigner/view/AddProfileDialog.java @@ -0,0 +1,262 @@ +/* + * To change this license header, choose License Headers in Project Properties. + * To change this template file, choose Tools | Templates + * and open the template in the editor. + */ +package com.netspi.awssigner.view; + +import com.netspi.awssigner.model.AssumeRoleProfile; +import com.netspi.awssigner.model.CommandProfile; +import com.netspi.awssigner.model.Profile; +import com.netspi.awssigner.model.StaticCredentialsProfile; +import java.util.ArrayList; +import java.util.List; +import java.util.Optional; + +/** + * + * @author jkarnes + */ +public class AddProfileDialog extends javax.swing.JDialog { + + /** + * This method is called from within the constructor to initialize the form. + * WARNING: Do NOT modify this code. The content of this method is always + * regenerated by the Form Editor. + */ + @SuppressWarnings("unchecked") + // //GEN-BEGIN:initComponents + private void initComponents() { + + profileTypeButtonGroup = new javax.swing.ButtonGroup(); + AddProfileTitleLabel = new javax.swing.JLabel(); + profileNameLabel = new javax.swing.JLabel(); + profileNameTextField = new FormattedHintTextField(true); + profileNameDescriptionLabel = new javax.swing.JLabel(); + profileTypeLabel = new javax.swing.JLabel(); + staticCredentialsRadioButton = new javax.swing.JRadioButton(); + assumeRoleRadioButton = new javax.swing.JRadioButton(); + commandRadioButton = new javax.swing.JRadioButton(); + okButton = new javax.swing.JButton(); + cancelButton = new javax.swing.JButton(); + errorTextLabel = new javax.swing.JLabel(); + + setDefaultCloseOperation(javax.swing.WindowConstants.DISPOSE_ON_CLOSE); + setTitle("Add Signing Profile"); + + AddProfileTitleLabel.setFont(AddProfileTitleLabel.getFont().deriveFont(AddProfileTitleLabel.getFont().getStyle() | java.awt.Font.BOLD, 15)); + AddProfileTitleLabel.setForeground(new java.awt.Color(255, 102, 51)); + AddProfileTitleLabel.setText("Add Profile"); + + profileNameLabel.setFont(profileNameLabel.getFont().deriveFont(profileNameLabel.getFont().getStyle() | java.awt.Font.BOLD, profileNameLabel.getFont().getSize()+1)); + profileNameLabel.setLabelFor(profileNameTextField); + profileNameLabel.setText("Profile Name:"); + profileNameLabel.setToolTipText("The name of the new profile."); + + profileNameTextField.setToolTipText("The name of the new profile."); + + profileNameDescriptionLabel.setText("The profile name must be unique."); + + profileTypeLabel.setFont(profileTypeLabel.getFont().deriveFont(profileTypeLabel.getFont().getStyle() | java.awt.Font.BOLD, profileTypeLabel.getFont().getSize()+1)); + profileTypeLabel.setText("Profile Type:"); + profileTypeLabel.setToolTipText("The command to be executed to fetch credentials."); + + profileTypeButtonGroup.add(staticCredentialsRadioButton); + staticCredentialsRadioButton.setFont(staticCredentialsRadioButton.getFont()); + staticCredentialsRadioButton.setText("Static Credentials"); + + profileTypeButtonGroup.add(assumeRoleRadioButton); + assumeRoleRadioButton.setFont(assumeRoleRadioButton.getFont()); + assumeRoleRadioButton.setText("AssumeRole"); + + profileTypeButtonGroup.add(commandRadioButton); + commandRadioButton.setFont(commandRadioButton.getFont()); + commandRadioButton.setText("Command"); + + okButton.setText("OK"); + okButton.addActionListener(new java.awt.event.ActionListener() { + public void actionPerformed(java.awt.event.ActionEvent evt) { + okButtonActionPerformed(evt); + } + }); + + cancelButton.setText("Cancel"); + cancelButton.addActionListener(new java.awt.event.ActionListener() { + public void actionPerformed(java.awt.event.ActionEvent evt) { + cancelButtonActionPerformed(evt); + } + }); + + errorTextLabel.setFont(errorTextLabel.getFont().deriveFont(errorTextLabel.getFont().getStyle() | java.awt.Font.BOLD)); + errorTextLabel.setForeground(new java.awt.Color(255, 0, 0)); + errorTextLabel.setText("The profile name already exists"); + errorTextLabel.setVisible(false); + + javax.swing.GroupLayout layout = new javax.swing.GroupLayout(getContentPane()); + getContentPane().setLayout(layout); + layout.setHorizontalGroup( + layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING) + .addGroup(layout.createSequentialGroup() + .addContainerGap() + .addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING) + .addGroup(layout.createSequentialGroup() + .addComponent(AddProfileTitleLabel) + .addGap(0, 0, Short.MAX_VALUE)) + .addGroup(layout.createSequentialGroup() + .addGap(10, 10, 10) + .addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING) + .addGroup(layout.createSequentialGroup() + .addComponent(profileNameLabel) + .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.UNRELATED) + .addComponent(profileNameTextField, javax.swing.GroupLayout.DEFAULT_SIZE, 277, Short.MAX_VALUE)) + .addGroup(layout.createSequentialGroup() + .addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING) + .addComponent(profileTypeLabel) + .addGroup(layout.createSequentialGroup() + .addGap(10, 10, 10) + .addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING) + .addComponent(assumeRoleRadioButton) + .addComponent(staticCredentialsRadioButton) + .addComponent(commandRadioButton) + .addComponent(profileNameDescriptionLabel))) + .addGroup(layout.createSequentialGroup() + .addComponent(okButton) + .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.UNRELATED) + .addComponent(cancelButton) + .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED) + .addComponent(errorTextLabel))) + .addGap(0, 0, Short.MAX_VALUE))))) + .addContainerGap()) + ); + layout.setVerticalGroup( + layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING) + .addGroup(layout.createSequentialGroup() + .addContainerGap() + .addComponent(AddProfileTitleLabel, javax.swing.GroupLayout.PREFERRED_SIZE, 30, javax.swing.GroupLayout.PREFERRED_SIZE) + .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.UNRELATED) + .addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE) + .addComponent(profileNameLabel) + .addComponent(profileNameTextField, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)) + .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED) + .addComponent(profileNameDescriptionLabel) + .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.UNRELATED) + .addComponent(profileTypeLabel) + .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.UNRELATED) + .addComponent(staticCredentialsRadioButton) + .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.UNRELATED) + .addComponent(assumeRoleRadioButton) + .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.UNRELATED) + .addComponent(commandRadioButton) + .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.UNRELATED) + .addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE) + .addComponent(okButton) + .addComponent(cancelButton) + .addComponent(errorTextLabel)) + .addContainerGap(javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)) + ); + + pack(); + }// //GEN-END:initComponents + + private void okButtonActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_okButtonActionPerformed + //Get the user's choice of name + String profileName = profileNameTextField.getText(); + + //Check if profile name was provided + if (profileName == null || profileName.isEmpty()) { + errorTextLabel.setText("The profile name is required"); + errorTextLabel.setVisible(true); + return; + } + + //Check if we already have a profile with this name. If so, bail out. + if (existingProfileNames.contains(profileName)) { + errorTextLabel.setText("The profile name already exists"); + errorTextLabel.setVisible(true); + return; + } + + //Get the type and create response object + if (staticCredentialsRadioButton.isSelected()) { + this.result = new StaticCredentialsProfile(profileName); + } else if (assumeRoleRadioButton.isSelected()) { + this.result = new AssumeRoleProfile(profileName); + } else if (commandRadioButton.isSelected()) { + this.result = new CommandProfile(profileName); + } else { + //No button selected + errorTextLabel.setText("The profile type is required"); + errorTextLabel.setVisible(true); + return; + } + + //Close the dialog + setVisible(false); + dispose(); + + }//GEN-LAST:event_okButtonActionPerformed + + private void cancelButtonActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_cancelButtonActionPerformed + //Close the dialog + setVisible(false); + dispose(); + }//GEN-LAST:event_cancelButtonActionPerformed + + /** + * @param args the command line arguments + */ + public static void main(String args[]) { + /* Create and display the dialog */ + java.awt.EventQueue.invokeLater(() -> { + AddProfileDialog dialog = new AddProfileDialog(new javax.swing.JFrame(), true, new ArrayList<>()); + dialog.addWindowListener(new java.awt.event.WindowAdapter() { + @Override + public void windowClosing(java.awt.event.WindowEvent e) { + System.exit(0); + } + }); + dialog.setVisible(true); + }); + } + + // Variables declaration - do not modify//GEN-BEGIN:variables + private javax.swing.JLabel AddProfileTitleLabel; + private javax.swing.JRadioButton assumeRoleRadioButton; + private javax.swing.JButton cancelButton; + private javax.swing.JRadioButton commandRadioButton; + private javax.swing.JLabel errorTextLabel; + private javax.swing.JButton okButton; + private javax.swing.JLabel profileNameDescriptionLabel; + private javax.swing.JLabel profileNameLabel; + public javax.swing.JTextField profileNameTextField; + private javax.swing.ButtonGroup profileTypeButtonGroup; + private javax.swing.JLabel profileTypeLabel; + private javax.swing.JRadioButton staticCredentialsRadioButton; + // End of variables declaration//GEN-END:variables + //START CUSTOM (NON-GENERATED) CODE + + private Profile result = null; + private final List existingProfileNames; + + /** + * Creates new form AddProfileDialog + */ + public AddProfileDialog(java.awt.Frame parent, boolean modal, List existingProfileNames) { + super(parent, modal); + this.existingProfileNames = existingProfileNames; + initComponents(); + BurpUIComponentCustomizer.applyBurpStyling(this); + } + + /** + * Shows the dialog and gets the user's choice + * + * @return The result object or null if the dialog was closed/cancelled + */ + public Optional showDialog() { + setVisible(true); + return Optional.ofNullable(result); + } +} + + diff --git a/src/main/java/com/netspi/awssigner/view/BurpTabPanel.form b/src/main/java/com/netspi/awssigner/view/BurpTabPanel.form new file mode 100644 index 0000000..8fe8443 --- /dev/null +++ b/src/main/java/com/netspi/awssigner/view/BurpTabPanel.form @@ -0,0 +1,1459 @@ + + +
    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/src/main/java/com/netspi/awssigner/view/BurpTabPanel.java b/src/main/java/com/netspi/awssigner/view/BurpTabPanel.java new file mode 100644 index 0000000..0fe4eab --- /dev/null +++ b/src/main/java/com/netspi/awssigner/view/BurpTabPanel.java @@ -0,0 +1,856 @@ +package com.netspi.awssigner.view; + +import com.netspi.awssigner.log.LogWriter; +import java.awt.event.MouseAdapter; +import java.awt.event.MouseEvent; +import java.util.regex.Pattern; +import javax.swing.border.EtchedBorder; + +/** + * This should be the dumb View logic. This should only be interacted with via + * the Controller. + */ +public class BurpTabPanel extends javax.swing.JPanel { + + /** + * Creates new form RootTabPanel + */ + public BurpTabPanel() { + initComponents(); + BurpUIComponentCustomizer.applyBurpStyling(this); + } + + /** + * This method is called from within the constructor to initialize the form. + * WARNING: Do NOT modify this code. The content of this method is always + * regenerated by the Form Editor. + */ + @SuppressWarnings("unchecked") + // //GEN-BEGIN:initComponents + private void initComponents() { + + globalSettingsPanel = new javax.swing.JPanel(); + globalSettingsLabel = new javax.swing.JLabel(); + globalSettingsDescriptionLabel = new javax.swing.JLabel(); + signingEnabledCheckbox = new javax.swing.JCheckBox(); + alwaysSignWithProfileLabel = new javax.swing.JLabel(); + alwaysSignWithProfileComboBox = new javax.swing.JComboBox<>(); + logLevelLabel = new javax.swing.JLabel(); + logLevelComboBox = new javax.swing.JComboBox<>(); + globalSettingsSeparator = new javax.swing.JSeparator(); + profileManagementLabel = new javax.swing.JLabel(); + profileManagementDescriptionLabel = new javax.swing.JLabel(); + addProfileButton = new javax.swing.JButton(); + deleteProfileButton = new javax.swing.JButton(); + copyProfileButton = new javax.swing.JButton(); + importProfilesButton = new javax.swing.JButton(); + exportProfilesButton = new javax.swing.JButton(); + profileListScrollPane = new javax.swing.JScrollPane(); + profileList = new javax.swing.JList<>(); + rightSideParentPanel = new javax.swing.JPanel(); + profileConfigurationScrollPane = new javax.swing.JScrollPane(); + profileConfigurationPanel = new javax.swing.JPanel(); + profileConfigurationLabel = new javax.swing.JLabel(); + profileNameLabel = new javax.swing.JLabel(); + profileStatusLabel = new javax.swing.JLabel(); + profileStatusTextLabel = new javax.swing.JLabel(); + profileEnabledCheckbox = new javax.swing.JCheckBox(); + profileInScopeOnlyCheckbox = new javax.swing.JCheckBox(); + profileRegionLabel = new javax.swing.JLabel(); + profileRegionTextField = new FormattedHintTextField(false); + profileServiceLabel = new javax.swing.JLabel(); + profileServiceTextField = new FormattedHintTextField(false); + profileKeyIdLabel = new javax.swing.JLabel(); + profileKeyIdTextField = new FormattedHintTextField(false, Pattern.compile(".+")); + testProfileButton = new javax.swing.JButton(); + credentialCardContainerPanel = new javax.swing.JPanel(); + staticCredentialsPanel = new javax.swing.JPanel(); + staticCredentialsConfigurationLabel = new javax.swing.JLabel(); + staticAccessKeyLabel = new javax.swing.JLabel(); + staticAccessKeyTextField = new FormattedHintTextField(true, Pattern.compile("[A-Z0-9]{20,}")); + staticSecretKeyLabel = new javax.swing.JLabel(); + staticSecretKeyTextField = new FormattedHintTextField(true, Pattern.compile("[A-Za-z0-9/+=]{40,}")); + staticSessionTokenLabel = new javax.swing.JLabel(); + staticSessionTokenTextField = new FormattedHintTextField(false); + assumeRolePanel = new javax.swing.JPanel(); + assumeRoleConfigurationLabel = new javax.swing.JLabel(); + assumeRoleAssumerProfileLabel = new javax.swing.JLabel(); + assumeRoleAssumerProfileComboBox = new javax.swing.JComboBox<>(); + assumeRoleRoleArnLabel = new javax.swing.JLabel(); + assumeRoleRoleArnTextField = new FormattedHintTextField(true, Pattern.compile("arn:.+:iam::[0-9]{12}:role/.+")); + assumeRoleSessionNameLabel = new javax.swing.JLabel(); + assumeRoleSessionNameTextField = new FormattedHintTextField(false); + assumeRoleExternalIdLabel = new javax.swing.JLabel(); + assumeRoleExternalIdTextField = new FormattedHintTextField(false); + assumeRoleDurationLabel = new javax.swing.JLabel(); + assumeRoleDurationTextField = new FormattedHintTextField(false, Pattern.compile("\\d+")); + assumeRoleSessionPolicyPanel = new javax.swing.JPanel(); + assumeRoleSessionPolicyConfigurationLabel = new javax.swing.JLabel(); + assumeRoleSessionPolicyDescriptionLabel = new javax.swing.JLabel(); + assumeRoleSessionPolicyScrollPane = new javax.swing.JScrollPane(); + assumeRoleSessionPolicyTextArea = new javax.swing.JTextArea(); + assumeRoleSessionPolicyPrettifyButton = new javax.swing.JButton(); + commandPanel = new javax.swing.JPanel(); + commandConfigurationLabel = new javax.swing.JLabel(); + commandConfigurationDescriptionLabel = new javax.swing.JLabel(); + commandCommandLabel = new javax.swing.JLabel(); + commandCommandTextField = new FormattedHintTextField(true); + commandDurationLabel = new javax.swing.JLabel(); + commandDurationTextField = new FormattedHintTextField(false, Pattern.compile("\\d+")); + commandExtractedSectionLabel = new javax.swing.JLabel(); + commandExtractedSectionDescriptionLabel = new javax.swing.JLabel(); + commandExtractedAccessKeyLabel = new javax.swing.JLabel(); + commandExtractedAccessKeyTextField = new FormattedHintTextField(false); + commandExtractedSecretKeyLabel = new javax.swing.JLabel(); + commandExtractedSecretKeyTextField = new FormattedHintTextField(false); + commandExtractedSessionTokenLabel = new javax.swing.JLabel(); + commandExtractedSessionTokenTextField = new FormattedHintTextField(false); + + setName("topPanel"); // NOI18N + addMouseListener(new java.awt.event.MouseAdapter() { + public void mouseClicked(java.awt.event.MouseEvent evt) { + formMouseClicked(evt); + } + }); + + globalSettingsLabel.setFont(globalSettingsLabel.getFont().deriveFont(globalSettingsLabel.getFont().getStyle() | java.awt.Font.BOLD, 15)); + globalSettingsLabel.setForeground(new java.awt.Color(255, 102, 51)); + globalSettingsLabel.setText("Global Settings"); + + globalSettingsDescriptionLabel.setFont(globalSettingsDescriptionLabel.getFont()); + globalSettingsDescriptionLabel.setText("Change extension behavior. Set Always Sign With to force signing of all requests with the specified profile credentials."); + + signingEnabledCheckbox.setFont(signingEnabledCheckbox.getFont()); + signingEnabledCheckbox.setSelected(true); + signingEnabledCheckbox.setText("Signing Enabled"); + signingEnabledCheckbox.setToolTipText("Enable/Disable request signing globally"); + signingEnabledCheckbox.setHorizontalTextPosition(javax.swing.SwingConstants.LEADING); + + alwaysSignWithProfileLabel.setFont(alwaysSignWithProfileLabel.getFont()); + alwaysSignWithProfileLabel.setLabelFor(alwaysSignWithProfileComboBox); + alwaysSignWithProfileLabel.setText("Always Sign With:"); + alwaysSignWithProfileLabel.setToolTipText("Sign all requests with the selected profile"); + + alwaysSignWithProfileComboBox.setFont(alwaysSignWithProfileComboBox.getFont()); + alwaysSignWithProfileComboBox.setToolTipText("Sign all requests with the selected profile"); + + logLevelLabel.setFont(logLevelLabel.getFont()); + logLevelLabel.setLabelFor(logLevelComboBox); + logLevelLabel.setText("Log Level"); + logLevelLabel.setToolTipText("Set the extension's logging verbosity"); + + logLevelComboBox.setFont(logLevelComboBox.getFont()); + logLevelComboBox.setModel(new javax.swing.DefaultComboBoxModel<>(new String[] { "Error", "Info", "Debug" })); + logLevelComboBox.setToolTipText("Set the extension's logging verbosity"); + + javax.swing.GroupLayout globalSettingsPanelLayout = new javax.swing.GroupLayout(globalSettingsPanel); + globalSettingsPanel.setLayout(globalSettingsPanelLayout); + globalSettingsPanelLayout.setHorizontalGroup( + globalSettingsPanelLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING) + .addGroup(globalSettingsPanelLayout.createSequentialGroup() + .addContainerGap() + .addGroup(globalSettingsPanelLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING) + .addComponent(globalSettingsLabel) + .addGroup(globalSettingsPanelLayout.createSequentialGroup() + .addGap(10, 10, 10) + .addGroup(globalSettingsPanelLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING) + .addComponent(globalSettingsDescriptionLabel, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE) + .addGroup(globalSettingsPanelLayout.createSequentialGroup() + .addComponent(signingEnabledCheckbox) + .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.UNRELATED) + .addComponent(alwaysSignWithProfileLabel) + .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED) + .addComponent(alwaysSignWithProfileComboBox, javax.swing.GroupLayout.PREFERRED_SIZE, 349, javax.swing.GroupLayout.PREFERRED_SIZE) + .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.UNRELATED) + .addComponent(logLevelLabel) + .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED) + .addComponent(logLevelComboBox, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE))))) + .addGap(248, 391, Short.MAX_VALUE)) + .addComponent(globalSettingsSeparator) + ); + globalSettingsPanelLayout.setVerticalGroup( + globalSettingsPanelLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING) + .addGroup(globalSettingsPanelLayout.createSequentialGroup() + .addContainerGap(javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE) + .addComponent(globalSettingsLabel) + .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED) + .addComponent(globalSettingsDescriptionLabel, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE) + .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.UNRELATED) + .addGroup(globalSettingsPanelLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE) + .addComponent(signingEnabledCheckbox) + .addComponent(alwaysSignWithProfileLabel) + .addComponent(alwaysSignWithProfileComboBox, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE) + .addComponent(logLevelLabel) + .addComponent(logLevelComboBox, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)) + .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED) + .addComponent(globalSettingsSeparator, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE) + .addGap(8, 8, 8)) + ); + + profileManagementLabel.setFont(profileManagementLabel.getFont().deriveFont(profileManagementLabel.getFont().getStyle() | java.awt.Font.BOLD, 15)); + profileManagementLabel.setForeground(new java.awt.Color(255, 102, 51)); + profileManagementLabel.setText("Profile Management"); + + profileManagementDescriptionLabel.setFont(profileManagementDescriptionLabel.getFont()); + profileManagementDescriptionLabel.setText("Manage profiles which provide AWS credentials"); + + addProfileButton.setFont(addProfileButton.getFont()); + addProfileButton.setText("Add"); + addProfileButton.setToolTipText("Add a new profile"); + + deleteProfileButton.setFont(deleteProfileButton.getFont()); + deleteProfileButton.setText("Delete"); + deleteProfileButton.setToolTipText("Delete the currently selected profile"); + + copyProfileButton.setFont(copyProfileButton.getFont()); + copyProfileButton.setText("Copy"); + copyProfileButton.setToolTipText("Copy the currently selected profile"); + + importProfilesButton.setFont(importProfilesButton.getFont()); + importProfilesButton.setText("Import"); + importProfilesButton.setToolTipText("Import profiles from disk or environment variables"); + + exportProfilesButton.setFont(exportProfilesButton.getFont()); + exportProfilesButton.setText("Export"); + exportProfilesButton.setToolTipText("Export configured profiles"); + + profileList.setFont(profileList.getFont()); + profileList.setSelectionMode(javax.swing.ListSelectionModel.SINGLE_SELECTION); + profileListScrollPane.setViewportView(profileList); + + profileConfigurationScrollPane.setHorizontalScrollBarPolicy(javax.swing.ScrollPaneConstants.HORIZONTAL_SCROLLBAR_NEVER); + + profileConfigurationLabel.setFont(profileConfigurationLabel.getFont().deriveFont(profileConfigurationLabel.getFont().getStyle() | java.awt.Font.BOLD, 15)); + profileConfigurationLabel.setForeground(new java.awt.Color(255, 102, 51)); + profileConfigurationLabel.setText("Profile Configuration:"); + + profileNameLabel.setFont(profileNameLabel.getFont().deriveFont(profileNameLabel.getFont().getStyle() | java.awt.Font.BOLD, 15)); + profileNameLabel.setText("[Add A Profile To Begin]"); + + profileStatusLabel.setFont(profileStatusLabel.getFont().deriveFont(profileStatusLabel.getFont().getStyle() | java.awt.Font.BOLD, profileStatusLabel.getFont().getSize()+1)); + profileStatusLabel.setText("Status:"); + + profileStatusTextLabel.setFont(profileStatusTextLabel.getFont().deriveFont(profileStatusTextLabel.getFont().getSize()+1f)); + profileStatusTextLabel.setText("Must add profile to begin editing"); + + profileEnabledCheckbox.setFont(profileEnabledCheckbox.getFont().deriveFont(profileEnabledCheckbox.getFont().getStyle() | java.awt.Font.BOLD, profileEnabledCheckbox.getFont().getSize()+1)); + profileEnabledCheckbox.setSelected(true); + profileEnabledCheckbox.setText("Enabled"); + profileEnabledCheckbox.setToolTipText("Enables/Disables this profile"); + profileEnabledCheckbox.setEnabled(false); + profileEnabledCheckbox.setHorizontalTextPosition(javax.swing.SwingConstants.LEADING); + profileEnabledCheckbox.setMargin(new java.awt.Insets(2, 0, 2, 2)); + + profileInScopeOnlyCheckbox.setFont(profileInScopeOnlyCheckbox.getFont().deriveFont(profileInScopeOnlyCheckbox.getFont().getStyle() | java.awt.Font.BOLD, profileInScopeOnlyCheckbox.getFont().getSize()+1)); + profileInScopeOnlyCheckbox.setText("In-Scope Only"); + profileInScopeOnlyCheckbox.setToolTipText("When checked, only in-scope requests are signed with this profile"); + profileInScopeOnlyCheckbox.setEnabled(false); + profileInScopeOnlyCheckbox.setHorizontalTextPosition(javax.swing.SwingConstants.LEADING); + profileInScopeOnlyCheckbox.setMargin(new java.awt.Insets(2, 0, 2, 2)); + + profileRegionLabel.setFont(profileRegionLabel.getFont().deriveFont(profileRegionLabel.getFont().getStyle() | java.awt.Font.BOLD, profileRegionLabel.getFont().getSize()+1)); + profileRegionLabel.setLabelFor(profileRegionTextField); + profileRegionLabel.setText("Region:"); + + profileRegionTextField.setFont(profileRegionTextField.getFont()); + profileRegionTextField.setToolTipText("If set, this will be the region set for all signed requests, overriding the value in the original request"); + profileRegionTextField.setEnabled(false); + + profileServiceLabel.setFont(profileServiceLabel.getFont().deriveFont(profileServiceLabel.getFont().getStyle() | java.awt.Font.BOLD, profileServiceLabel.getFont().getSize()+1)); + profileServiceLabel.setLabelFor(profileServiceTextField); + profileServiceLabel.setText("Service:"); + + profileServiceTextField.setFont(profileServiceTextField.getFont()); + profileServiceTextField.setToolTipText("If set, this will be the service set for all signed requests, overriding the value in the original request"); + profileServiceTextField.setEnabled(false); + + profileKeyIdLabel.setFont(profileKeyIdLabel.getFont().deriveFont(profileKeyIdLabel.getFont().getStyle() | java.awt.Font.BOLD, profileKeyIdLabel.getFont().getSize()+1)); + profileKeyIdLabel.setLabelFor(profileKeyIdTextField); + profileKeyIdLabel.setText("Key Id:"); + + profileKeyIdTextField.setFont(profileKeyIdTextField.getFont()); + profileKeyIdTextField.setToolTipText("If set, this profile will sign all requests which were originally signed with this Key Id. The request will be resigned with the configuration below"); + profileKeyIdTextField.setEnabled(false); + + testProfileButton.setFont(testProfileButton.getFont().deriveFont(testProfileButton.getFont().getStyle() | java.awt.Font.BOLD, testProfileButton.getFont().getSize()+1)); + testProfileButton.setText("Test Profile Credentials"); + testProfileButton.setToolTipText("Tests the credential configuration below and updates this profile's status with the results"); + testProfileButton.setEnabled(false); + + credentialCardContainerPanel.setBorder(javax.swing.BorderFactory.createEtchedBorder(EtchedBorder.RAISED)); + credentialCardContainerPanel.setLayout(new java.awt.CardLayout()); + + staticCredentialsPanel.setName(""); // NOI18N + + staticCredentialsConfigurationLabel.setFont(staticCredentialsConfigurationLabel.getFont().deriveFont(staticCredentialsConfigurationLabel.getFont().getStyle() | java.awt.Font.BOLD, 15)); + staticCredentialsConfigurationLabel.setForeground(new java.awt.Color(255, 102, 51)); + staticCredentialsConfigurationLabel.setText("Static Credentials Configuration"); + + staticAccessKeyLabel.setFont(staticAccessKeyLabel.getFont().deriveFont(staticAccessKeyLabel.getFont().getStyle() | java.awt.Font.BOLD, staticAccessKeyLabel.getFont().getSize()+1)); + staticAccessKeyLabel.setLabelFor(staticAccessKeyTextField); + staticAccessKeyLabel.setText("Access Key:"); + staticAccessKeyLabel.setToolTipText("The access key of the credentials"); + + staticAccessKeyTextField.setToolTipText("The access key to sign requests"); + staticAccessKeyTextField.setEnabled(false); + + staticSecretKeyLabel.setFont(staticSecretKeyLabel.getFont().deriveFont(staticSecretKeyLabel.getFont().getStyle() | java.awt.Font.BOLD, staticSecretKeyLabel.getFont().getSize()+1)); + staticSecretKeyLabel.setLabelFor(staticSecretKeyTextField); + staticSecretKeyLabel.setText("Secret Key:"); + staticSecretKeyLabel.setToolTipText("The secret key of the credentials."); + + staticSecretKeyTextField.setToolTipText("The secret key to sign requests"); + staticSecretKeyTextField.setEnabled(false); + + staticSessionTokenLabel.setFont(staticSessionTokenLabel.getFont().deriveFont(staticSessionTokenLabel.getFont().getStyle() | java.awt.Font.BOLD, staticSessionTokenLabel.getFont().getSize()+1)); + staticSessionTokenLabel.setLabelFor(staticSessionTokenTextField); + staticSessionTokenLabel.setText("Session Token:"); + staticSessionTokenLabel.setToolTipText("The optional session token of the credentials."); + + staticSessionTokenTextField.setToolTipText("The optional session token to sign requests"); + staticSessionTokenTextField.setEnabled(false); + + javax.swing.GroupLayout staticCredentialsPanelLayout = new javax.swing.GroupLayout(staticCredentialsPanel); + staticCredentialsPanel.setLayout(staticCredentialsPanelLayout); + staticCredentialsPanelLayout.setHorizontalGroup( + staticCredentialsPanelLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING) + .addGroup(staticCredentialsPanelLayout.createSequentialGroup() + .addContainerGap() + .addGroup(staticCredentialsPanelLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING) + .addComponent(staticCredentialsConfigurationLabel) + .addGroup(staticCredentialsPanelLayout.createSequentialGroup() + .addGap(10, 10, 10) + .addGroup(staticCredentialsPanelLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING) + .addComponent(staticSessionTokenLabel) + .addComponent(staticSecretKeyLabel) + .addComponent(staticAccessKeyLabel)) + .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.UNRELATED) + .addGroup(staticCredentialsPanelLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.TRAILING, false) + .addComponent(staticSecretKeyTextField, javax.swing.GroupLayout.Alignment.LEADING, javax.swing.GroupLayout.DEFAULT_SIZE, 578, Short.MAX_VALUE) + .addComponent(staticSessionTokenTextField) + .addComponent(staticAccessKeyTextField, javax.swing.GroupLayout.Alignment.LEADING)))) + .addContainerGap(761, Short.MAX_VALUE)) + ); + staticCredentialsPanelLayout.setVerticalGroup( + staticCredentialsPanelLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING) + .addGroup(staticCredentialsPanelLayout.createSequentialGroup() + .addComponent(staticCredentialsConfigurationLabel, javax.swing.GroupLayout.PREFERRED_SIZE, 30, javax.swing.GroupLayout.PREFERRED_SIZE) + .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.UNRELATED) + .addGroup(staticCredentialsPanelLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE) + .addComponent(staticAccessKeyLabel) + .addComponent(staticAccessKeyTextField, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)) + .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.UNRELATED) + .addGroup(staticCredentialsPanelLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING) + .addComponent(staticSecretKeyLabel) + .addComponent(staticSecretKeyTextField, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)) + .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.UNRELATED) + .addGroup(staticCredentialsPanelLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE) + .addComponent(staticSessionTokenLabel) + .addComponent(staticSessionTokenTextField, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)) + .addGap(0, 0, Short.MAX_VALUE)) + ); + + credentialCardContainerPanel.add(staticCredentialsPanel, "static_credentials_card"); + + assumeRolePanel.setName(""); // NOI18N + + assumeRoleConfigurationLabel.setFont(assumeRoleConfigurationLabel.getFont().deriveFont(assumeRoleConfigurationLabel.getFont().getStyle() | java.awt.Font.BOLD, 15)); + assumeRoleConfigurationLabel.setForeground(new java.awt.Color(255, 102, 51)); + assumeRoleConfigurationLabel.setText("AssumeRole Configuration"); + + assumeRoleAssumerProfileLabel.setFont(assumeRoleAssumerProfileLabel.getFont().deriveFont(assumeRoleAssumerProfileLabel.getFont().getStyle() | java.awt.Font.BOLD, assumeRoleAssumerProfileLabel.getFont().getSize()+1)); + assumeRoleAssumerProfileLabel.setLabelFor(assumeRoleAssumerProfileComboBox); + assumeRoleAssumerProfileLabel.setText("Assumer Profile:"); + assumeRoleAssumerProfileLabel.setToolTipText("Set the profile which assume the specified role"); + + assumeRoleAssumerProfileComboBox.setFont(assumeRoleAssumerProfileComboBox.getFont()); + assumeRoleAssumerProfileComboBox.setToolTipText("Set the profile which will be used to assume the role specified below"); + + assumeRoleRoleArnLabel.setFont(assumeRoleRoleArnLabel.getFont().deriveFont(assumeRoleRoleArnLabel.getFont().getStyle() | java.awt.Font.BOLD, assumeRoleRoleArnLabel.getFont().getSize()+1)); + assumeRoleRoleArnLabel.setLabelFor(assumeRoleRoleArnTextField); + assumeRoleRoleArnLabel.setText("Role ARN:"); + assumeRoleRoleArnLabel.setToolTipText("The role to be assumed"); + + assumeRoleRoleArnTextField.setFont(assumeRoleRoleArnTextField.getFont()); + assumeRoleRoleArnTextField.setToolTipText("The role to be assumed. This role's trust policy must trust the \"Assumer Profile\" to assume this role"); + + assumeRoleSessionNameLabel.setFont(assumeRoleSessionNameLabel.getFont().deriveFont(assumeRoleSessionNameLabel.getFont().getStyle() | java.awt.Font.BOLD, assumeRoleSessionNameLabel.getFont().getSize()+1)); + assumeRoleSessionNameLabel.setLabelFor(assumeRoleSessionNameTextField); + assumeRoleSessionNameLabel.setText("Session Name:"); + assumeRoleSessionNameLabel.setToolTipText("An identifier for the assumed role session."); + + assumeRoleSessionNameTextField.setFont(assumeRoleSessionNameTextField.getFont()); + assumeRoleSessionNameTextField.setToolTipText("An identifier for the assumed role session."); + + assumeRoleExternalIdLabel.setFont(assumeRoleExternalIdLabel.getFont().deriveFont(assumeRoleExternalIdLabel.getFont().getStyle() | java.awt.Font.BOLD, assumeRoleExternalIdLabel.getFont().getSize()+1)); + assumeRoleExternalIdLabel.setLabelFor(assumeRoleExternalIdTextField); + assumeRoleExternalIdLabel.setText("External Id:"); + assumeRoleExternalIdLabel.setToolTipText("A unique identifier that might be required when you assume a role in another account."); + + assumeRoleExternalIdTextField.setFont(assumeRoleExternalIdTextField.getFont()); + assumeRoleExternalIdTextField.setToolTipText("A unique identifier that may be required when you assume the role."); + + assumeRoleDurationLabel.setFont(assumeRoleDurationLabel.getFont().deriveFont(assumeRoleDurationLabel.getFont().getStyle() | java.awt.Font.BOLD, assumeRoleDurationLabel.getFont().getSize()+1)); + assumeRoleDurationLabel.setLabelFor(assumeRoleDurationTextField); + assumeRoleDurationLabel.setText("Duration (Seconds):"); + assumeRoleDurationLabel.setToolTipText("The lifetime of the session. The credentials will be renewed as required."); + + assumeRoleDurationTextField.setFont(assumeRoleDurationTextField.getFont()); + assumeRoleDurationTextField.setToolTipText("The lifetime of the session. The credentials will be renewed as required."); + + assumeRoleSessionPolicyConfigurationLabel.setFont(assumeRoleSessionPolicyConfigurationLabel.getFont().deriveFont(assumeRoleSessionPolicyConfigurationLabel.getFont().getStyle() | java.awt.Font.BOLD, 15)); + assumeRoleSessionPolicyConfigurationLabel.setForeground(new java.awt.Color(255, 102, 51)); + assumeRoleSessionPolicyConfigurationLabel.setText("Session Policy Configuration"); + + assumeRoleSessionPolicyDescriptionLabel.setFont(assumeRoleSessionPolicyDescriptionLabel.getFont()); + assumeRoleSessionPolicyDescriptionLabel.setText(" The session policy is an optional IAM policy which further restricts the permissions of the assumed role. The permissions for a session are the intersection of the identity-based policies for the IAM role used to create the session and the session policy."); + assumeRoleSessionPolicyDescriptionLabel.setVerticalAlignment(javax.swing.SwingConstants.TOP); + + assumeRoleSessionPolicyTextArea.setColumns(20); + assumeRoleSessionPolicyTextArea.setRows(5); + assumeRoleSessionPolicyScrollPane.setViewportView(assumeRoleSessionPolicyTextArea); + + assumeRoleSessionPolicyPrettifyButton.setFont(assumeRoleSessionPolicyPrettifyButton.getFont()); + assumeRoleSessionPolicyPrettifyButton.setText("Prettify"); + assumeRoleSessionPolicyPrettifyButton.setToolTipText("Attempt to format the session policy."); + + javax.swing.GroupLayout assumeRoleSessionPolicyPanelLayout = new javax.swing.GroupLayout(assumeRoleSessionPolicyPanel); + assumeRoleSessionPolicyPanel.setLayout(assumeRoleSessionPolicyPanelLayout); + assumeRoleSessionPolicyPanelLayout.setHorizontalGroup( + assumeRoleSessionPolicyPanelLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING) + .addGroup(assumeRoleSessionPolicyPanelLayout.createSequentialGroup() + .addGap(20, 20, 20) + .addGroup(assumeRoleSessionPolicyPanelLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING) + .addComponent(assumeRoleSessionPolicyConfigurationLabel) + .addComponent(assumeRoleSessionPolicyDescriptionLabel, javax.swing.GroupLayout.PREFERRED_SIZE, 680, javax.swing.GroupLayout.PREFERRED_SIZE) + .addComponent(assumeRoleSessionPolicyPrettifyButton) + .addComponent(assumeRoleSessionPolicyScrollPane, javax.swing.GroupLayout.PREFERRED_SIZE, 680, javax.swing.GroupLayout.PREFERRED_SIZE)) + .addContainerGap(90, Short.MAX_VALUE)) + ); + assumeRoleSessionPolicyPanelLayout.setVerticalGroup( + assumeRoleSessionPolicyPanelLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING) + .addGroup(assumeRoleSessionPolicyPanelLayout.createSequentialGroup() + .addContainerGap() + .addComponent(assumeRoleSessionPolicyConfigurationLabel, javax.swing.GroupLayout.PREFERRED_SIZE, 30, javax.swing.GroupLayout.PREFERRED_SIZE) + .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED) + .addComponent(assumeRoleSessionPolicyDescriptionLabel, javax.swing.GroupLayout.DEFAULT_SIZE, 47, Short.MAX_VALUE) + .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED) + .addComponent(assumeRoleSessionPolicyScrollPane, javax.swing.GroupLayout.DEFAULT_SIZE, 357, Short.MAX_VALUE) + .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED) + .addComponent(assumeRoleSessionPolicyPrettifyButton)) + ); + + javax.swing.GroupLayout assumeRolePanelLayout = new javax.swing.GroupLayout(assumeRolePanel); + assumeRolePanel.setLayout(assumeRolePanelLayout); + assumeRolePanelLayout.setHorizontalGroup( + assumeRolePanelLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING) + .addGroup(assumeRolePanelLayout.createSequentialGroup() + .addGap(20, 20, 20) + .addGroup(assumeRolePanelLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING) + .addComponent(assumeRoleConfigurationLabel) + .addGroup(assumeRolePanelLayout.createSequentialGroup() + .addGap(10, 10, 10) + .addGroup(assumeRolePanelLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING) + .addGroup(assumeRolePanelLayout.createSequentialGroup() + .addGroup(assumeRolePanelLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING) + .addComponent(assumeRoleDurationLabel) + .addComponent(assumeRoleExternalIdLabel)) + .addGap(10, 10, 10) + .addGroup(assumeRolePanelLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.TRAILING, false) + .addComponent(assumeRoleExternalIdTextField, javax.swing.GroupLayout.Alignment.LEADING) + .addComponent(assumeRoleSessionNameTextField, javax.swing.GroupLayout.Alignment.LEADING) + .addComponent(assumeRoleRoleArnTextField, javax.swing.GroupLayout.Alignment.LEADING) + .addComponent(assumeRoleDurationTextField) + .addComponent(assumeRoleAssumerProfileComboBox, javax.swing.GroupLayout.Alignment.LEADING, javax.swing.GroupLayout.PREFERRED_SIZE, 542, javax.swing.GroupLayout.PREFERRED_SIZE))) + .addComponent(assumeRoleSessionNameLabel) + .addComponent(assumeRoleAssumerProfileLabel) + .addComponent(assumeRoleRoleArnLabel)))) + .addContainerGap(754, Short.MAX_VALUE)) + .addGroup(assumeRolePanelLayout.createSequentialGroup() + .addComponent(assumeRoleSessionPolicyPanel, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE) + .addGap(0, 668, Short.MAX_VALUE)) + ); + assumeRolePanelLayout.setVerticalGroup( + assumeRolePanelLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING) + .addGroup(assumeRolePanelLayout.createSequentialGroup() + .addContainerGap() + .addComponent(assumeRoleConfigurationLabel, javax.swing.GroupLayout.PREFERRED_SIZE, 30, javax.swing.GroupLayout.PREFERRED_SIZE) + .addGap(11, 11, 11) + .addGroup(assumeRolePanelLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE) + .addComponent(assumeRoleAssumerProfileLabel) + .addComponent(assumeRoleAssumerProfileComboBox, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)) + .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.UNRELATED) + .addGroup(assumeRolePanelLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE) + .addComponent(assumeRoleRoleArnLabel) + .addComponent(assumeRoleRoleArnTextField, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)) + .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.UNRELATED) + .addGroup(assumeRolePanelLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE) + .addComponent(assumeRoleSessionNameLabel) + .addComponent(assumeRoleSessionNameTextField, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)) + .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.UNRELATED) + .addGroup(assumeRolePanelLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE) + .addComponent(assumeRoleExternalIdLabel) + .addComponent(assumeRoleExternalIdTextField, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)) + .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.UNRELATED) + .addGroup(assumeRolePanelLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE) + .addComponent(assumeRoleDurationLabel) + .addComponent(assumeRoleDurationTextField, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)) + .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED) + .addComponent(assumeRoleSessionPolicyPanel, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE) + .addContainerGap(javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)) + ); + + credentialCardContainerPanel.add(assumeRolePanel, "assume_role_card"); + + commandPanel.setName(""); // NOI18N + + commandConfigurationLabel.setFont(commandConfigurationLabel.getFont().deriveFont(commandConfigurationLabel.getFont().getStyle() | java.awt.Font.BOLD, 15)); + commandConfigurationLabel.setForeground(new java.awt.Color(255, 102, 51)); + commandConfigurationLabel.setText("Command Configuration"); + + commandConfigurationDescriptionLabel.setText("The provided command will be executed to obtain credentials for request signing, as required. If a Duration value is provided, the credentials will considered valid for that duration. If a Duration value is not provided, the credentials will be cached for 60 minutes. If the Duration value is value is 0, then the command will be executed before each request. The extension will attempt to identify and extract the first valid Access Key, Secret Key and Session Token in the command stdout output."); + commandConfigurationDescriptionLabel.setVerticalAlignment(javax.swing.SwingConstants.TOP); + commandConfigurationDescriptionLabel.setPreferredSize(new java.awt.Dimension(500, 14)); + + commandCommandLabel.setFont(commandCommandLabel.getFont().deriveFont(commandCommandLabel.getFont().getStyle() | java.awt.Font.BOLD, commandCommandLabel.getFont().getSize()+1)); + commandCommandLabel.setText("Command:"); + commandCommandLabel.setToolTipText("The command to be executed to fetch credentials."); + + commandCommandTextField.setToolTipText("The command to be executed to fetch credentials."); + + commandDurationLabel.setFont(commandDurationLabel.getFont().deriveFont(commandDurationLabel.getFont().getStyle() | java.awt.Font.BOLD, commandDurationLabel.getFont().getSize()+1)); + commandDurationLabel.setText("Duration (Seconds):"); + commandDurationLabel.setToolTipText("The lifetime of the session. The credentials will be renewed as required."); + + commandDurationTextField.setToolTipText("The lifetime of the credentials returned by the command. The credentials will be renewed as required."); + + commandExtractedSectionLabel.setFont(commandExtractedSectionLabel.getFont().deriveFont(commandExtractedSectionLabel.getFont().getStyle() | java.awt.Font.BOLD, 15)); + commandExtractedSectionLabel.setForeground(new java.awt.Color(255, 102, 51)); + commandExtractedSectionLabel.setText("Extracted Credentials"); + + commandExtractedSectionDescriptionLabel.setText("Click the Test Profile Credentials button above to test the provided command, credential extraction and the credentials' validity. The most recently extracted credentials are shown below."); + commandExtractedSectionDescriptionLabel.setVerticalAlignment(javax.swing.SwingConstants.TOP); + commandExtractedSectionDescriptionLabel.setPreferredSize(new java.awt.Dimension(500, 14)); + + commandExtractedAccessKeyLabel.setFont(commandExtractedAccessKeyLabel.getFont().deriveFont(commandExtractedAccessKeyLabel.getFont().getStyle() | java.awt.Font.BOLD, commandExtractedAccessKeyLabel.getFont().getSize()+1)); + commandExtractedAccessKeyLabel.setLabelFor(commandExtractedAccessKeyTextField); + commandExtractedAccessKeyLabel.setText("Access Key:"); + commandExtractedAccessKeyLabel.setToolTipText("The most recently extracted access key."); + + commandExtractedAccessKeyTextField.setEditable(false); + commandExtractedAccessKeyTextField.setToolTipText("The most recently extracted access key."); + + commandExtractedSecretKeyLabel.setFont(commandExtractedSecretKeyLabel.getFont().deriveFont(commandExtractedSecretKeyLabel.getFont().getStyle() | java.awt.Font.BOLD, commandExtractedSecretKeyLabel.getFont().getSize()+1)); + commandExtractedSecretKeyLabel.setLabelFor(commandExtractedSecretKeyTextField); + commandExtractedSecretKeyLabel.setText("Secret Key:"); + commandExtractedSecretKeyLabel.setToolTipText("The most recently extracted secret key."); + + commandExtractedSecretKeyTextField.setEditable(false); + commandExtractedSecretKeyTextField.setToolTipText("The most recently extracted secret key."); + + commandExtractedSessionTokenLabel.setFont(commandExtractedSessionTokenLabel.getFont().deriveFont(commandExtractedSessionTokenLabel.getFont().getStyle() | java.awt.Font.BOLD, commandExtractedSessionTokenLabel.getFont().getSize()+1)); + commandExtractedSessionTokenLabel.setLabelFor(commandExtractedSessionTokenTextField); + commandExtractedSessionTokenLabel.setText("Session Token:"); + commandExtractedSessionTokenLabel.setToolTipText("The most recently extracted session token."); + + commandExtractedSessionTokenTextField.setEditable(false); + commandExtractedSessionTokenTextField.setToolTipText("The most recently extracted session token."); + + javax.swing.GroupLayout commandPanelLayout = new javax.swing.GroupLayout(commandPanel); + commandPanel.setLayout(commandPanelLayout); + commandPanelLayout.setHorizontalGroup( + commandPanelLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING) + .addGroup(commandPanelLayout.createSequentialGroup() + .addContainerGap() + .addGroup(commandPanelLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING) + .addComponent(commandConfigurationLabel) + .addGroup(commandPanelLayout.createSequentialGroup() + .addGap(10, 10, 10) + .addGroup(commandPanelLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING) + .addComponent(commandExtractedSectionLabel) + .addGroup(commandPanelLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.TRAILING, false) + .addComponent(commandConfigurationDescriptionLabel, javax.swing.GroupLayout.Alignment.LEADING, javax.swing.GroupLayout.DEFAULT_SIZE, 684, Short.MAX_VALUE) + .addGroup(javax.swing.GroupLayout.Alignment.LEADING, commandPanelLayout.createSequentialGroup() + .addGroup(commandPanelLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING) + .addComponent(commandDurationLabel) + .addComponent(commandCommandLabel)) + .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.UNRELATED) + .addGroup(commandPanelLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.TRAILING, false) + .addComponent(commandCommandTextField, javax.swing.GroupLayout.DEFAULT_SIZE, 548, Short.MAX_VALUE) + .addComponent(commandDurationTextField)))) + .addGroup(commandPanelLayout.createSequentialGroup() + .addGap(10, 10, 10) + .addGroup(commandPanelLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING, false) + .addComponent(commandExtractedSectionDescriptionLabel, javax.swing.GroupLayout.DEFAULT_SIZE, 672, Short.MAX_VALUE) + .addGroup(commandPanelLayout.createSequentialGroup() + .addGroup(commandPanelLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING) + .addComponent(commandExtractedSessionTokenLabel) + .addComponent(commandExtractedSecretKeyLabel) + .addComponent(commandExtractedAccessKeyLabel)) + .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.UNRELATED) + .addGroup(commandPanelLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING, false) + .addComponent(commandExtractedSecretKeyTextField, javax.swing.GroupLayout.DEFAULT_SIZE, 567, Short.MAX_VALUE) + .addComponent(commandExtractedAccessKeyTextField) + .addComponent(commandExtractedSessionTokenTextField)))))))) + .addContainerGap(760, Short.MAX_VALUE)) + ); + commandPanelLayout.setVerticalGroup( + commandPanelLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING) + .addGroup(commandPanelLayout.createSequentialGroup() + .addContainerGap() + .addComponent(commandConfigurationLabel, javax.swing.GroupLayout.PREFERRED_SIZE, 30, javax.swing.GroupLayout.PREFERRED_SIZE) + .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED) + .addComponent(commandConfigurationDescriptionLabel, javax.swing.GroupLayout.DEFAULT_SIZE, 71, Short.MAX_VALUE) + .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED) + .addGroup(commandPanelLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE) + .addComponent(commandCommandLabel) + .addComponent(commandCommandTextField, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)) + .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.UNRELATED) + .addGroup(commandPanelLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE) + .addComponent(commandDurationLabel) + .addComponent(commandDurationTextField, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)) + .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.UNRELATED) + .addComponent(commandExtractedSectionLabel, javax.swing.GroupLayout.PREFERRED_SIZE, 30, javax.swing.GroupLayout.PREFERRED_SIZE) + .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED) + .addComponent(commandExtractedSectionDescriptionLabel, javax.swing.GroupLayout.DEFAULT_SIZE, 36, Short.MAX_VALUE) + .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED) + .addGroup(commandPanelLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE) + .addComponent(commandExtractedAccessKeyLabel) + .addComponent(commandExtractedAccessKeyTextField, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)) + .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.UNRELATED) + .addGroup(commandPanelLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING) + .addComponent(commandExtractedSecretKeyLabel) + .addComponent(commandExtractedSecretKeyTextField, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)) + .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.UNRELATED) + .addGroup(commandPanelLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE) + .addComponent(commandExtractedSessionTokenLabel) + .addComponent(commandExtractedSessionTokenTextField, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)) + .addContainerGap(342, Short.MAX_VALUE)) + ); + + credentialCardContainerPanel.add(commandPanel, "command_card"); + + javax.swing.GroupLayout profileConfigurationPanelLayout = new javax.swing.GroupLayout(profileConfigurationPanel); + profileConfigurationPanel.setLayout(profileConfigurationPanelLayout); + profileConfigurationPanelLayout.setHorizontalGroup( + profileConfigurationPanelLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING) + .addGroup(profileConfigurationPanelLayout.createSequentialGroup() + .addContainerGap() + .addGroup(profileConfigurationPanelLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING) + .addGroup(profileConfigurationPanelLayout.createSequentialGroup() + .addGap(10, 10, 10) + .addGroup(profileConfigurationPanelLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING) + .addGroup(profileConfigurationPanelLayout.createSequentialGroup() + .addComponent(profileStatusLabel) + .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED) + .addComponent(profileStatusTextLabel)) + .addGroup(profileConfigurationPanelLayout.createSequentialGroup() + .addGroup(profileConfigurationPanelLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING) + .addComponent(profileServiceLabel) + .addComponent(profileKeyIdLabel) + .addComponent(profileRegionLabel)) + .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.UNRELATED) + .addGroup(profileConfigurationPanelLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.TRAILING, false) + .addComponent(profileServiceTextField, javax.swing.GroupLayout.Alignment.LEADING, javax.swing.GroupLayout.DEFAULT_SIZE, 625, Short.MAX_VALUE) + .addComponent(profileRegionTextField, javax.swing.GroupLayout.Alignment.LEADING) + .addComponent(profileKeyIdTextField))) + .addGroup(profileConfigurationPanelLayout.createSequentialGroup() + .addComponent(profileEnabledCheckbox) + .addGap(18, 18, 18) + .addComponent(profileInScopeOnlyCheckbox)) + .addComponent(testProfileButton))) + .addGroup(profileConfigurationPanelLayout.createSequentialGroup() + .addComponent(profileConfigurationLabel) + .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED) + .addComponent(profileNameLabel))) + .addContainerGap(javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)) + .addComponent(credentialCardContainerPanel, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE) + ); + profileConfigurationPanelLayout.setVerticalGroup( + profileConfigurationPanelLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING) + .addGroup(profileConfigurationPanelLayout.createSequentialGroup() + .addContainerGap() + .addGroup(profileConfigurationPanelLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE) + .addComponent(profileConfigurationLabel, javax.swing.GroupLayout.PREFERRED_SIZE, 30, javax.swing.GroupLayout.PREFERRED_SIZE) + .addComponent(profileNameLabel, javax.swing.GroupLayout.PREFERRED_SIZE, 30, javax.swing.GroupLayout.PREFERRED_SIZE)) + .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED) + .addGroup(profileConfigurationPanelLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE) + .addComponent(profileStatusLabel) + .addComponent(profileStatusTextLabel)) + .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.UNRELATED) + .addGroup(profileConfigurationPanelLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE) + .addComponent(profileEnabledCheckbox) + .addComponent(profileInScopeOnlyCheckbox)) + .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.UNRELATED) + .addGroup(profileConfigurationPanelLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE) + .addComponent(profileRegionLabel) + .addComponent(profileRegionTextField, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)) + .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED) + .addGroup(profileConfigurationPanelLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE) + .addComponent(profileServiceLabel) + .addComponent(profileServiceTextField, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)) + .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED) + .addGroup(profileConfigurationPanelLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE) + .addComponent(profileKeyIdLabel) + .addComponent(profileKeyIdTextField, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)) + .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.UNRELATED) + .addComponent(testProfileButton) + .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.UNRELATED) + .addComponent(credentialCardContainerPanel, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)) + ); + + profileConfigurationScrollPane.setViewportView(profileConfigurationPanel); + + javax.swing.GroupLayout rightSideParentPanelLayout = new javax.swing.GroupLayout(rightSideParentPanel); + rightSideParentPanel.setLayout(rightSideParentPanelLayout); + rightSideParentPanelLayout.setHorizontalGroup( + rightSideParentPanelLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING) + .addGroup(rightSideParentPanelLayout.createSequentialGroup() + .addContainerGap() + .addComponent(profileConfigurationScrollPane, javax.swing.GroupLayout.PREFERRED_SIZE, 0, Short.MAX_VALUE)) + ); + rightSideParentPanelLayout.setVerticalGroup( + rightSideParentPanelLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING) + .addComponent(profileConfigurationScrollPane) + ); + + javax.swing.GroupLayout layout = new javax.swing.GroupLayout(this); + this.setLayout(layout); + layout.setHorizontalGroup( + layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING) + .addComponent(globalSettingsPanel, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE) + .addGroup(layout.createSequentialGroup() + .addContainerGap() + .addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING) + .addGroup(javax.swing.GroupLayout.Alignment.TRAILING, layout.createSequentialGroup() + .addComponent(profileManagementDescriptionLabel) + .addGap(18, 18, 18)) + .addGroup(layout.createSequentialGroup() + .addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING) + .addComponent(profileManagementLabel) + .addGroup(layout.createSequentialGroup() + .addGap(10, 10, 10) + .addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING, false) + .addComponent(deleteProfileButton, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE) + .addComponent(importProfilesButton, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE) + .addComponent(copyProfileButton, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE) + .addComponent(exportProfilesButton, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE) + .addComponent(addProfileButton, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)) + .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.UNRELATED) + .addComponent(profileListScrollPane, javax.swing.GroupLayout.PREFERRED_SIZE, 153, javax.swing.GroupLayout.PREFERRED_SIZE))) + .addGap(6, 6, 6))) + .addComponent(rightSideParentPanel, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)) + ); + layout.setVerticalGroup( + layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING) + .addGroup(layout.createSequentialGroup() + .addComponent(globalSettingsPanel, javax.swing.GroupLayout.PREFERRED_SIZE, 94, javax.swing.GroupLayout.PREFERRED_SIZE) + .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED) + .addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING) + .addComponent(rightSideParentPanel, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE) + .addGroup(layout.createSequentialGroup() + .addComponent(profileManagementLabel, javax.swing.GroupLayout.PREFERRED_SIZE, 30, javax.swing.GroupLayout.PREFERRED_SIZE) + .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED) + .addComponent(profileManagementDescriptionLabel) + .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.UNRELATED) + .addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING, false) + .addGroup(layout.createSequentialGroup() + .addComponent(addProfileButton) + .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED) + .addComponent(deleteProfileButton) + .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED) + .addComponent(copyProfileButton) + .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED) + .addComponent(importProfilesButton) + .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED) + .addComponent(exportProfilesButton)) + .addComponent(profileListScrollPane)) + .addGap(0, 0, Short.MAX_VALUE)))) + ); + }// //GEN-END:initComponents + + private void formMouseClicked(java.awt.event.MouseEvent evt) {//GEN-FIRST:event_formMouseClicked + LogWriter.logDebug("Grabbing focus for top-level panel."); + this.requestFocusInWindow(); + }//GEN-LAST:event_formMouseClicked + + + // Variables declaration - do not modify//GEN-BEGIN:variables + public javax.swing.JButton addProfileButton; + public javax.swing.JComboBox alwaysSignWithProfileComboBox; + private javax.swing.JLabel alwaysSignWithProfileLabel; + public javax.swing.JComboBox assumeRoleAssumerProfileComboBox; + private javax.swing.JLabel assumeRoleAssumerProfileLabel; + private javax.swing.JLabel assumeRoleConfigurationLabel; + private javax.swing.JLabel assumeRoleDurationLabel; + public javax.swing.JTextField assumeRoleDurationTextField; + private javax.swing.JLabel assumeRoleExternalIdLabel; + public javax.swing.JTextField assumeRoleExternalIdTextField; + public javax.swing.JPanel assumeRolePanel; + private javax.swing.JLabel assumeRoleRoleArnLabel; + public javax.swing.JTextField assumeRoleRoleArnTextField; + private javax.swing.JLabel assumeRoleSessionNameLabel; + public javax.swing.JTextField assumeRoleSessionNameTextField; + private javax.swing.JLabel assumeRoleSessionPolicyConfigurationLabel; + private javax.swing.JLabel assumeRoleSessionPolicyDescriptionLabel; + private javax.swing.JPanel assumeRoleSessionPolicyPanel; + public javax.swing.JButton assumeRoleSessionPolicyPrettifyButton; + private javax.swing.JScrollPane assumeRoleSessionPolicyScrollPane; + public javax.swing.JTextArea assumeRoleSessionPolicyTextArea; + private javax.swing.JLabel commandCommandLabel; + public javax.swing.JTextField commandCommandTextField; + private javax.swing.JLabel commandConfigurationDescriptionLabel; + private javax.swing.JLabel commandConfigurationLabel; + private javax.swing.JLabel commandDurationLabel; + public javax.swing.JTextField commandDurationTextField; + private javax.swing.JLabel commandExtractedAccessKeyLabel; + public javax.swing.JTextField commandExtractedAccessKeyTextField; + private javax.swing.JLabel commandExtractedSecretKeyLabel; + public javax.swing.JTextField commandExtractedSecretKeyTextField; + private javax.swing.JLabel commandExtractedSectionDescriptionLabel; + private javax.swing.JLabel commandExtractedSectionLabel; + private javax.swing.JLabel commandExtractedSessionTokenLabel; + public javax.swing.JTextField commandExtractedSessionTokenTextField; + public javax.swing.JPanel commandPanel; + public javax.swing.JButton copyProfileButton; + public javax.swing.JPanel credentialCardContainerPanel; + public javax.swing.JButton deleteProfileButton; + public javax.swing.JButton exportProfilesButton; + private javax.swing.JLabel globalSettingsDescriptionLabel; + private javax.swing.JLabel globalSettingsLabel; + public javax.swing.JPanel globalSettingsPanel; + private javax.swing.JSeparator globalSettingsSeparator; + public javax.swing.JButton importProfilesButton; + public javax.swing.JComboBox logLevelComboBox; + private javax.swing.JLabel logLevelLabel; + private javax.swing.JLabel profileConfigurationLabel; + public javax.swing.JPanel profileConfigurationPanel; + public javax.swing.JScrollPane profileConfigurationScrollPane; + public javax.swing.JCheckBox profileEnabledCheckbox; + public javax.swing.JCheckBox profileInScopeOnlyCheckbox; + private javax.swing.JLabel profileKeyIdLabel; + public javax.swing.JTextField profileKeyIdTextField; + public javax.swing.JList profileList; + public javax.swing.JScrollPane profileListScrollPane; + private javax.swing.JLabel profileManagementDescriptionLabel; + private javax.swing.JLabel profileManagementLabel; + public javax.swing.JLabel profileNameLabel; + private javax.swing.JLabel profileRegionLabel; + public javax.swing.JTextField profileRegionTextField; + private javax.swing.JLabel profileServiceLabel; + public javax.swing.JTextField profileServiceTextField; + private javax.swing.JLabel profileStatusLabel; + public javax.swing.JLabel profileStatusTextLabel; + public javax.swing.JPanel rightSideParentPanel; + public javax.swing.JCheckBox signingEnabledCheckbox; + private javax.swing.JLabel staticAccessKeyLabel; + public javax.swing.JTextField staticAccessKeyTextField; + private javax.swing.JLabel staticCredentialsConfigurationLabel; + public javax.swing.JPanel staticCredentialsPanel; + private javax.swing.JLabel staticSecretKeyLabel; + public javax.swing.JTextField staticSecretKeyTextField; + private javax.swing.JLabel staticSessionTokenLabel; + public javax.swing.JTextField staticSessionTokenTextField; + public javax.swing.JButton testProfileButton; + // End of variables declaration//GEN-END:variables +} diff --git a/src/main/java/com/netspi/awssigner/view/BurpUIComponentCustomizer.java b/src/main/java/com/netspi/awssigner/view/BurpUIComponentCustomizer.java new file mode 100644 index 0000000..f853914 --- /dev/null +++ b/src/main/java/com/netspi/awssigner/view/BurpUIComponentCustomizer.java @@ -0,0 +1,19 @@ +package com.netspi.awssigner.view; + +import java.awt.Component; +import java.util.function.Consumer; + +/** + * This is a workaround to apply Burp styling when possible without completely destroying the MVC OOP design... + */ +public class BurpUIComponentCustomizer { + + //Default to no-op + private static Consumer styler = ((Component c)->{}); + public static void setBurpStyler(Consumer stylingFunction){ + styler = stylingFunction; + } + public static void applyBurpStyling(Component component){ + styler.accept(component); + } +} diff --git a/src/main/java/com/netspi/awssigner/view/CopyProfileDialog.form b/src/main/java/com/netspi/awssigner/view/CopyProfileDialog.form new file mode 100644 index 0000000..0374f40 --- /dev/null +++ b/src/main/java/com/netspi/awssigner/view/CopyProfileDialog.form @@ -0,0 +1,244 @@ + + +
    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/src/main/java/com/netspi/awssigner/view/CopyProfileDialog.java b/src/main/java/com/netspi/awssigner/view/CopyProfileDialog.java new file mode 100644 index 0000000..e4e3e0f --- /dev/null +++ b/src/main/java/com/netspi/awssigner/view/CopyProfileDialog.java @@ -0,0 +1,295 @@ +/* + * To change this license header, choose License Headers in Project Properties. + * To change this template file, choose Tools | Templates + * and open the template in the editor. + */ +package com.netspi.awssigner.view; + +import com.netspi.awssigner.model.AssumeRoleProfile; +import com.netspi.awssigner.model.CommandProfile; +import com.netspi.awssigner.model.Profile; +import com.netspi.awssigner.model.StaticCredentialsProfile; +import java.util.ArrayList; +import java.util.List; +import java.util.Optional; + +/** + * + * @author jkarnes + */ +public class CopyProfileDialog extends javax.swing.JDialog { + + /** + * This method is called from within the constructor to initialize the form. + * WARNING: Do NOT modify this code. The content of this method is always + * regenerated by the Form Editor. + */ + @SuppressWarnings("unchecked") + // //GEN-BEGIN:initComponents + private void initComponents() { + + profileTypeButtonGroup = new javax.swing.ButtonGroup(); + AddProfileTitleLabel = new javax.swing.JLabel(); + profileNameLabel = new javax.swing.JLabel(); + profileNameTextField = new FormattedHintTextField(true); + profileNameDescriptionLabel = new javax.swing.JLabel(); + profileTypeLabel = new javax.swing.JLabel(); + staticCredentialsRadioButton = new javax.swing.JRadioButton(); + assumeRoleRadioButton = new javax.swing.JRadioButton(); + commandRadioButton = new javax.swing.JRadioButton(); + okButton = new javax.swing.JButton(); + cancelButton = new javax.swing.JButton(); + errorTextLabel = new javax.swing.JLabel(); + + setDefaultCloseOperation(javax.swing.WindowConstants.DISPOSE_ON_CLOSE); + setTitle("Copy Signing Profile"); + + AddProfileTitleLabel.setFont(AddProfileTitleLabel.getFont().deriveFont(AddProfileTitleLabel.getFont().getStyle() | java.awt.Font.BOLD, 15)); + AddProfileTitleLabel.setForeground(new java.awt.Color(255, 102, 51)); + AddProfileTitleLabel.setText("Copy Profile"); + + profileNameLabel.setFont(profileNameLabel.getFont().deriveFont(profileNameLabel.getFont().getStyle() | java.awt.Font.BOLD, profileNameLabel.getFont().getSize()+1)); + profileNameLabel.setLabelFor(profileNameTextField); + profileNameLabel.setText("Profile Name:"); + profileNameLabel.setToolTipText("The name of the new profile."); + + profileNameTextField.setToolTipText("The name of the new profile."); + profileNameTextField.setText(originalProfile.getName() + " - Copy"); + + profileNameDescriptionLabel.setText("The profile name must be unique."); + + profileTypeLabel.setFont(profileTypeLabel.getFont().deriveFont(profileTypeLabel.getFont().getStyle() | java.awt.Font.BOLD, profileTypeLabel.getFont().getSize()+1)); + profileTypeLabel.setText("Profile Type:"); + profileTypeLabel.setToolTipText("The command to be executed to fetch credentials."); + + profileTypeButtonGroup.add(staticCredentialsRadioButton); + staticCredentialsRadioButton.setFont(staticCredentialsRadioButton.getFont()); + staticCredentialsRadioButton.setText("Static Credentials"); + staticCredentialsRadioButton.setEnabled(false); + staticCredentialsRadioButton.setSelected(originalProfile instanceof StaticCredentialsProfile); + + profileTypeButtonGroup.add(assumeRoleRadioButton); + assumeRoleRadioButton.setFont(assumeRoleRadioButton.getFont()); + assumeRoleRadioButton.setText("AssumeRole"); + assumeRoleRadioButton.setEnabled(false); + assumeRoleRadioButton.setSelected(originalProfile instanceof AssumeRoleProfile); + + profileTypeButtonGroup.add(commandRadioButton); + commandRadioButton.setFont(commandRadioButton.getFont()); + commandRadioButton.setText("Command"); + commandRadioButton.setEnabled(false); + commandRadioButton.setSelected(originalProfile instanceof CommandProfile); + + okButton.setText("OK"); + okButton.addActionListener(new java.awt.event.ActionListener() { + public void actionPerformed(java.awt.event.ActionEvent evt) { + okButtonActionPerformed(evt); + } + }); + + cancelButton.setText("Cancel"); + cancelButton.addActionListener(new java.awt.event.ActionListener() { + public void actionPerformed(java.awt.event.ActionEvent evt) { + cancelButtonActionPerformed(evt); + } + }); + + errorTextLabel.setFont(errorTextLabel.getFont().deriveFont(errorTextLabel.getFont().getStyle() | java.awt.Font.BOLD)); + errorTextLabel.setForeground(new java.awt.Color(255, 0, 0)); + errorTextLabel.setText("The profile name already exists"); + errorTextLabel.setVisible(false); + + javax.swing.GroupLayout layout = new javax.swing.GroupLayout(getContentPane()); + getContentPane().setLayout(layout); + layout.setHorizontalGroup( + layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING) + .addGroup(layout.createSequentialGroup() + .addContainerGap() + .addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING) + .addGroup(layout.createSequentialGroup() + .addComponent(AddProfileTitleLabel) + .addGap(0, 0, Short.MAX_VALUE)) + .addGroup(layout.createSequentialGroup() + .addGap(10, 10, 10) + .addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING) + .addGroup(layout.createSequentialGroup() + .addComponent(profileNameLabel) + .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.UNRELATED) + .addComponent(profileNameTextField, javax.swing.GroupLayout.DEFAULT_SIZE, 277, Short.MAX_VALUE)) + .addGroup(layout.createSequentialGroup() + .addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING) + .addComponent(profileTypeLabel) + .addGroup(layout.createSequentialGroup() + .addGap(10, 10, 10) + .addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING) + .addComponent(assumeRoleRadioButton) + .addComponent(staticCredentialsRadioButton) + .addComponent(commandRadioButton) + .addComponent(profileNameDescriptionLabel))) + .addGroup(layout.createSequentialGroup() + .addComponent(okButton) + .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.UNRELATED) + .addComponent(cancelButton) + .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED) + .addComponent(errorTextLabel))) + .addGap(0, 0, Short.MAX_VALUE))))) + .addContainerGap()) + ); + layout.setVerticalGroup( + layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING) + .addGroup(layout.createSequentialGroup() + .addContainerGap() + .addComponent(AddProfileTitleLabel, javax.swing.GroupLayout.PREFERRED_SIZE, 30, javax.swing.GroupLayout.PREFERRED_SIZE) + .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.UNRELATED) + .addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE) + .addComponent(profileNameLabel) + .addComponent(profileNameTextField, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)) + .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED) + .addComponent(profileNameDescriptionLabel) + .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.UNRELATED) + .addComponent(profileTypeLabel) + .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.UNRELATED) + .addComponent(staticCredentialsRadioButton) + .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.UNRELATED) + .addComponent(assumeRoleRadioButton) + .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.UNRELATED) + .addComponent(commandRadioButton) + .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.UNRELATED) + .addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE) + .addComponent(okButton) + .addComponent(cancelButton) + .addComponent(errorTextLabel)) + .addContainerGap(javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)) + ); + + pack(); + }// //GEN-END:initComponents + + private void okButtonActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_okButtonActionPerformed + //Get the user's choice of name + String profileName = profileNameTextField.getText(); + + //Check if profile name was provided + if (profileName == null || profileName.isEmpty()) { + errorTextLabel.setText("The profile name is required"); + errorTextLabel.setVisible(true); + return; + } + + //Check if we already have a profile with this name. If so, bail out. + if (existingProfileNames.contains(profileName)) { + errorTextLabel.setText("The profile name already exists"); + errorTextLabel.setVisible(true); + return; + } + + //Get the type and create copied profle + if (originalProfile instanceof StaticCredentialsProfile) { + StaticCredentialsProfile originalTemp = (StaticCredentialsProfile)originalProfile; + StaticCredentialsProfile temp = new StaticCredentialsProfile(profileName); + temp.setAccessKey(originalTemp.getAccessKey().orElse(null)); + temp.setSecretKey(originalTemp.getSecretKey().orElse(null)); + temp.setSessionToken(originalTemp.getSessionToken().orElse(null)); + result = temp; + } else if (originalProfile instanceof AssumeRoleProfile) { + AssumeRoleProfile originalTemp = (AssumeRoleProfile)originalProfile; + AssumeRoleProfile temp = new AssumeRoleProfile(profileName); + temp.setAssumerProfile(originalTemp.getAssumerProfile().orElse(null)); + temp.setRoleArn(originalTemp.getRoleArn().orElse(null)); + temp.setSessionName(originalTemp.getSessionName().orElse(null)); + temp.setExternalId(originalTemp.getExternalId().orElse(null)); + temp.setDurationSeconds(originalTemp.getDurationSeconds().orElse(null)); + temp.setSessionPolicy(originalTemp.getSessionPolicy().orElse(null)); + result = temp; + } else if (originalProfile instanceof CommandProfile) { + CommandProfile originalTemp = (CommandProfile)originalProfile; + CommandProfile temp = new CommandProfile(profileName); + temp.setCommand(originalTemp.getCommand().orElse(null)); + temp.setDurationSeconds(originalTemp.getDurationSeconds().orElse(null)); + result = temp; + } else { + //No button selected + errorTextLabel.setText("The profile type is required"); + errorTextLabel.setVisible(true); + return; + } + + //Set common profile fields + result.setEnabled(originalProfile.isEnabled()); + result.setInScopeOnly(originalProfile.isInScopeOnly()); + result.setRegion(originalProfile.getRegion().orElse(null)); + result.setService(originalProfile.getService().orElse(null)); + result.setKeyId(originalProfile.getKeyId().orElse(null)); + + //Close the dialog + setVisible(false); + dispose(); + + }//GEN-LAST:event_okButtonActionPerformed + + private void cancelButtonActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_cancelButtonActionPerformed + //Close the dialog + setVisible(false); + dispose(); + }//GEN-LAST:event_cancelButtonActionPerformed + + /** + * @param args the command line arguments + */ + public static void main(String args[]) { + /* Create and display the dialog */ + java.awt.EventQueue.invokeLater(() -> { + CopyProfileDialog dialog = new CopyProfileDialog(new javax.swing.JFrame(), true, new ArrayList<>(), new StaticCredentialsProfile("Example Profile")); + dialog.addWindowListener(new java.awt.event.WindowAdapter() { + @Override + public void windowClosing(java.awt.event.WindowEvent e) { + System.exit(0); + } + }); + dialog.setVisible(true); + }); + } + + // Variables declaration - do not modify//GEN-BEGIN:variables + private javax.swing.JLabel AddProfileTitleLabel; + private javax.swing.JRadioButton assumeRoleRadioButton; + private javax.swing.JButton cancelButton; + private javax.swing.JRadioButton commandRadioButton; + private javax.swing.JLabel errorTextLabel; + private javax.swing.JButton okButton; + private javax.swing.JLabel profileNameDescriptionLabel; + private javax.swing.JLabel profileNameLabel; + public javax.swing.JTextField profileNameTextField; + private javax.swing.ButtonGroup profileTypeButtonGroup; + private javax.swing.JLabel profileTypeLabel; + private javax.swing.JRadioButton staticCredentialsRadioButton; + // End of variables declaration//GEN-END:variables + //START CUSTOM (NON-GENERATED) CODE + + private Profile result = null; + private final List existingProfileNames; + private final Profile originalProfile; + + /** + * Creates new form AddProfileDialog + */ + public CopyProfileDialog(java.awt.Frame parent, boolean modal, List existingProfileNames, Profile originalProfile) { + super(parent, modal); + this.existingProfileNames = existingProfileNames; + this.originalProfile = originalProfile; + initComponents(); + BurpUIComponentCustomizer.applyBurpStyling(this); + } + + /** + * Shows the dialog and gets the user's choice + * + * @return The result object or null if the dialog was closed/cancelled + */ + public Optional showDialog() { + setVisible(true); + return Optional.ofNullable(result); + } +} + + diff --git a/src/main/java/com/netspi/awssigner/view/FormattedHintTextField.java b/src/main/java/com/netspi/awssigner/view/FormattedHintTextField.java new file mode 100644 index 0000000..714c771 --- /dev/null +++ b/src/main/java/com/netspi/awssigner/view/FormattedHintTextField.java @@ -0,0 +1,130 @@ +package com.netspi.awssigner.view; + +import java.awt.Color; +import java.awt.Font; +import java.awt.FontMetrics; +import java.awt.Graphics; +import java.awt.Graphics2D; +import java.awt.Insets; +import java.awt.RenderingHints; +import java.util.regex.Pattern; +import javax.swing.BorderFactory; +import javax.swing.InputVerifier; +import javax.swing.JComponent; +import javax.swing.JTextField; +import javax.swing.border.Border; + +/** + * Hacky workaround to enable a hint message in a format-validated text field. + * + * Cobbled together from here: + * https://stackoverflow.com/questions/1738966/java-jtextfield-with-input-hint + * https://itqna.net/questions/17762/how-validate-text-field-inputverifier + */ +public class FormattedHintTextField extends JTextField { + + private final boolean required; + private Pattern format = null; + private final String additionalHelpText; + + public FormattedHintTextField(boolean required) { + //Pass along required and allow any non-empty input for the pattern + this(required, Pattern.compile(".+")); + } + + public FormattedHintTextField(boolean required, Pattern format) { + //Pass along required and format, no additional help text + this(required, format, null); + } + + public FormattedHintTextField(boolean required, Pattern format, String additionalHelpText) { + super(); + this.required = required; + this.format = format; + this.additionalHelpText = additionalHelpText; + + setInputVerifier(new InputVerifier() { + Border originalBorder; + + @Override + public boolean verify(JComponent input) { + + JTextField comp = (JTextField) input; + String inputText = comp.getText(); + + //Check for null/empty input + if (inputText == null || inputText.isBlank()) { + //Return indication based on whether or not the input is required + return !required; + } else { + //There is some input. Check it against the expected format + return format.matcher(inputText).matches(); + } + } + + @Override + public boolean shouldYieldFocus(JComponent input) { + boolean isValid = verify(input); + + if (!isValid) { + originalBorder = originalBorder == null ? input.getBorder() : originalBorder; + input.setBorder(BorderFactory.createLineBorder(Color.red, 2)); + } else { + if (originalBorder != null) { + input.setBorder(originalBorder); + originalBorder = null; + } + } + + //If we return isValid here, we can keep focus when invalid input is submitted. This feels wrong though. + return true; + } + }); + } + + @Override + public void paintComponent(final Graphics USE_g2d_INSTEAD) { + //Check optional or required + String hint = required ? "Required" : "Optional"; + //Add help text, if we have any + if (additionalHelpText != null && !additionalHelpText.trim().isEmpty()) { + hint = hint + " - " + additionalHelpText; + } + + if (!this.isEnabled() || !this.isEditable()) { + hint = "Input Disabled"; + } + + final Graphics2D g2d = (Graphics2D) USE_g2d_INSTEAD; + super.paintComponent(g2d); + + if (getText().isEmpty()) { + g2d.setRenderingHint(RenderingHints.KEY_TEXT_ANTIALIASING, RenderingHints.VALUE_TEXT_ANTIALIAS_ON); + + final Insets ins = getInsets(); + final FontMetrics fm = g2d.getFontMetrics(); + + final int cB = getBackground().getRGB(); + final int cF = getForeground().getRGB(); + final int m = 0xfefefefe; + final int c2 = ((cB & m) >>> 1) + ((cF & m) >>> 1); + + //Only update the color if it's enabled or editabled. Otherwise leave default + if (this.isEnabled() || this.isEditable()) { + g2d.setColor(new Color(c2, true)); + } + + g2d.setFont(g2d.getFont().deriveFont(Font.ITALIC)); + g2d.drawString(hint, ins.left, getHeight() - fm.getDescent() - ins.bottom); + } + } + + public boolean isRequired() { + return required; + } + + public Pattern getFormat() { + return format; + } + +} diff --git a/src/main/java/com/netspi/awssigner/view/ImportDialog.form b/src/main/java/com/netspi/awssigner/view/ImportDialog.form new file mode 100644 index 0000000..624dbcc --- /dev/null +++ b/src/main/java/com/netspi/awssigner/view/ImportDialog.form @@ -0,0 +1,262 @@ + + +
    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    +
    + + + + + <Editor/> + <Renderer/> + </Column> + <Column maxWidth="-1" minWidth="150" prefWidth="200" resizable="true"> + <Title/> + <Editor/> + <Renderer/> + </Column> + <Column maxWidth="-1" minWidth="220" prefWidth="250" resizable="true"> + <Title/> + <Editor/> + <Renderer/> + </Column> + <Column maxWidth="150" minWidth="25" prefWidth="125" resizable="true"> + <Title/> + <Editor/> + <Renderer/> + </Column> + </TableColumnModel> + </Property> + <Property name="tableHeader" type="javax.swing.table.JTableHeader" editor="org.netbeans.modules.form.editors2.JTableHeaderEditor"> + <TableHeader reorderingAllowed="false" resizingAllowed="true"/> + </Property> + </Properties> + <AuxValues> + <AuxValue name="JavaCodeGenerator_AddingCodePost" type="java.lang.String" value="profileTable.getModel().addTableModelListener(this::onTableModelEvent);"/> + </AuxValues> + </Component> + </SubComponents> + </Container> + <Component class="javax.swing.JButton" name="okButton"> + <Properties> + <Property name="text" type="java.lang.String" value="OK"/> + </Properties> + <Events> + <EventHandler event="actionPerformed" listener="java.awt.event.ActionListener" parameters="java.awt.event.ActionEvent" handler="okButtonActionPerformed"/> + </Events> + </Component> + <Component class="javax.swing.JButton" name="cancelButton"> + <Properties> + <Property name="text" type="java.lang.String" value="Cancel"/> + </Properties> + <Events> + <EventHandler event="actionPerformed" listener="java.awt.event.ActionListener" parameters="java.awt.event.ActionEvent" handler="cancelButtonActionPerformed"/> + </Events> + </Component> + </SubComponents> +</Form> diff --git a/src/main/java/com/netspi/awssigner/view/ImportDialog.java b/src/main/java/com/netspi/awssigner/view/ImportDialog.java new file mode 100644 index 0000000..79b3126 --- /dev/null +++ b/src/main/java/com/netspi/awssigner/view/ImportDialog.java @@ -0,0 +1,508 @@ +/* + * Click nbfs://nbhost/SystemFileSystem/Templates/Licenses/license-default.txt to change this license + * Click nbfs://nbhost/SystemFileSystem/Templates/GUIForms/JDialog.java to edit this template + */ +package com.netspi.awssigner.view; + +import com.netspi.awssigner.log.LogWriter; +import com.netspi.awssigner.model.AssumeRoleProfile; +import com.netspi.awssigner.model.CommandProfile; +import com.netspi.awssigner.model.Profile; +import com.netspi.awssigner.model.StaticCredentialsProfile; +import com.netspi.awssigner.model.persistence.ProfileImporter; +import com.netspi.awssigner.model.persistence.AutoProfileImporter; +import com.netspi.awssigner.model.persistence.ClipboardProfileImporter; +import com.netspi.awssigner.model.persistence.EnvironmentVariableProfileImporter; +import com.netspi.awssigner.model.persistence.FileProfileImporter; +import java.nio.file.Path; +import java.nio.file.Paths; +import java.util.ArrayList; +import java.util.Collection; +import java.util.Collections; +import java.util.HashSet; +import java.util.Iterator; +import java.util.List; +import java.util.Optional; +import java.util.Set; +import java.util.stream.Collectors; +import javax.swing.JFileChooser; +import javax.swing.JOptionPane; +import javax.swing.event.TableModelEvent; +import javax.swing.table.DefaultTableModel; +import javax.swing.table.TableModel; + +/** + * + * @author jkarnes + */ +public class ImportDialog extends javax.swing.JDialog { + + private static final int SELECT_COLUMN_INDEX = 0; + private static final int NAME_COLUMN_INDEX = 1; + private static final int KEYID_COLUMN_INDEX = 2; + private static final int TYPE_COLUMN_INDEX = 3; + + private final List<Profile> profiles = new ArrayList<>(); + private List<Profile> result = null; + private final List<String> existingProfileNames; + + public ImportDialog(java.awt.Frame parent, boolean modal, List<String> existingProfileNames) { + super(parent, modal); + this.existingProfileNames = existingProfileNames; + initComponents(); + BurpUIComponentCustomizer.applyBurpStyling(this); + } + + /** + * Shows the dialog and gets the user's choice + * + * @return The result object or null if the dialog was closed/cancelled + */ + public Optional<List<Profile>> showDialog() { + setVisible(true); + return Optional.ofNullable(result); + } + + /** + * This method is called from within the constructor to initialize the form. + * WARNING: Do NOT modify this code. The content of this method is always + * regenerated by the Form Editor. + */ + @SuppressWarnings("unchecked") + // <editor-fold defaultstate="collapsed" desc="Generated Code">//GEN-BEGIN:initComponents + private void initComponents() { + + jPanel1 = new javax.swing.JPanel(); + autoButton = new javax.swing.JButton(); + fileButton = new javax.swing.JButton(); + envButton = new javax.swing.JButton(); + clipboardButton = new javax.swing.JButton(); + jPanel2 = new javax.swing.JPanel(); + selectAllButton = new javax.swing.JButton(); + selectNoneButton = new javax.swing.JButton(); + jScrollPane2 = new javax.swing.JScrollPane(); + profileTable = new javax.swing.JTable(); + okButton = new javax.swing.JButton(); + cancelButton = new javax.swing.JButton(); + + setDefaultCloseOperation(javax.swing.WindowConstants.DISPOSE_ON_CLOSE); + setTitle("Import Signing Profiles"); + + jPanel1.setBorder(javax.swing.BorderFactory.createTitledBorder(null, "Source", javax.swing.border.TitledBorder.DEFAULT_JUSTIFICATION, javax.swing.border.TitledBorder.DEFAULT_POSITION, new java.awt.Font("Tahoma", 1, 12), new java.awt.Color(255, 102, 51))); // NOI18N + + autoButton.setText("Auto"); + autoButton.addActionListener(new java.awt.event.ActionListener() { + public void actionPerformed(java.awt.event.ActionEvent evt) { + autoButtonActionPerformed(evt); + } + }); + + fileButton.setText("File"); + fileButton.addActionListener(new java.awt.event.ActionListener() { + public void actionPerformed(java.awt.event.ActionEvent evt) { + fileButtonActionPerformed(evt); + } + }); + + envButton.setText("Env"); + envButton.addActionListener(new java.awt.event.ActionListener() { + public void actionPerformed(java.awt.event.ActionEvent evt) { + envButtonActionPerformed(evt); + } + }); + + clipboardButton.setText("Clipboard"); + clipboardButton.addActionListener(new java.awt.event.ActionListener() { + public void actionPerformed(java.awt.event.ActionEvent evt) { + clipboardButtonActionPerformed(evt); + } + }); + + javax.swing.GroupLayout jPanel1Layout = new javax.swing.GroupLayout(jPanel1); + jPanel1.setLayout(jPanel1Layout); + jPanel1Layout.setHorizontalGroup( + jPanel1Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING) + .addGroup(jPanel1Layout.createSequentialGroup() + .addComponent(autoButton) + .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED) + .addComponent(fileButton) + .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED) + .addComponent(envButton) + .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED) + .addComponent(clipboardButton)) + ); + jPanel1Layout.setVerticalGroup( + jPanel1Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING) + .addGroup(jPanel1Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE) + .addComponent(autoButton) + .addComponent(fileButton) + .addComponent(envButton) + .addComponent(clipboardButton)) + ); + + jPanel2.setBorder(javax.swing.BorderFactory.createTitledBorder(null, "Select", javax.swing.border.TitledBorder.DEFAULT_JUSTIFICATION, javax.swing.border.TitledBorder.DEFAULT_POSITION, new java.awt.Font("Tahoma", 1, 12), new java.awt.Color(255, 102, 51))); // NOI18N + + selectAllButton.setText("All"); + selectAllButton.addActionListener(new java.awt.event.ActionListener() { + public void actionPerformed(java.awt.event.ActionEvent evt) { + selectAllButtonActionPerformed(evt); + } + }); + + selectNoneButton.setText("None"); + selectNoneButton.addActionListener(new java.awt.event.ActionListener() { + public void actionPerformed(java.awt.event.ActionEvent evt) { + selectNoneButtonActionPerformed(evt); + } + }); + + javax.swing.GroupLayout jPanel2Layout = new javax.swing.GroupLayout(jPanel2); + jPanel2.setLayout(jPanel2Layout); + jPanel2Layout.setHorizontalGroup( + jPanel2Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING) + .addGroup(jPanel2Layout.createSequentialGroup() + .addComponent(selectAllButton) + .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED) + .addComponent(selectNoneButton)) + ); + jPanel2Layout.setVerticalGroup( + jPanel2Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING) + .addGroup(jPanel2Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE) + .addComponent(selectAllButton) + .addComponent(selectNoneButton)) + ); + + jScrollPane2.setPreferredSize(new java.awt.Dimension(900, 200)); + + profileTable.setModel(new javax.swing.table.DefaultTableModel( + new Object [][] { + + }, + new String [] { + "Import", "Name", "Access Key Id", "Type" + } + ) { + Class[] types = new Class [] { + java.lang.Boolean.class, java.lang.String.class, java.lang.String.class, java.lang.String.class + }; + boolean[] canEdit = new boolean [] { + true, true, false, false + }; + + public Class getColumnClass(int columnIndex) { + return types [columnIndex]; + } + + public boolean isCellEditable(int rowIndex, int columnIndex) { + return canEdit [columnIndex]; + } + }); + profileTable.getTableHeader().setReorderingAllowed(false); + jScrollPane2.setViewportView(profileTable); + if (profileTable.getColumnModel().getColumnCount() > 0) { + profileTable.getColumnModel().getColumn(0).setMinWidth(25); + profileTable.getColumnModel().getColumn(0).setPreferredWidth(60); + profileTable.getColumnModel().getColumn(0).setMaxWidth(75); + profileTable.getColumnModel().getColumn(1).setMinWidth(150); + profileTable.getColumnModel().getColumn(1).setPreferredWidth(200); + profileTable.getColumnModel().getColumn(2).setMinWidth(220); + profileTable.getColumnModel().getColumn(2).setPreferredWidth(250); + profileTable.getColumnModel().getColumn(3).setMinWidth(25); + profileTable.getColumnModel().getColumn(3).setPreferredWidth(125); + profileTable.getColumnModel().getColumn(3).setMaxWidth(150); + } + profileTable.getModel().addTableModelListener(this::onTableModelEvent); + + okButton.setText("OK"); + okButton.addActionListener(new java.awt.event.ActionListener() { + public void actionPerformed(java.awt.event.ActionEvent evt) { + okButtonActionPerformed(evt); + } + }); + + cancelButton.setText("Cancel"); + cancelButton.addActionListener(new java.awt.event.ActionListener() { + public void actionPerformed(java.awt.event.ActionEvent evt) { + cancelButtonActionPerformed(evt); + } + }); + + javax.swing.GroupLayout layout = new javax.swing.GroupLayout(getContentPane()); + getContentPane().setLayout(layout); + layout.setHorizontalGroup( + layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING) + .addGroup(layout.createSequentialGroup() + .addContainerGap() + .addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING) + .addGroup(layout.createSequentialGroup() + .addComponent(jPanel1, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE) + .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED) + .addComponent(jPanel2, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE) + .addGap(0, 520, Short.MAX_VALUE)) + .addComponent(jScrollPane2, javax.swing.GroupLayout.DEFAULT_SIZE, 910, Short.MAX_VALUE)) + .addContainerGap()) + .addGroup(javax.swing.GroupLayout.Alignment.TRAILING, layout.createSequentialGroup() + .addContainerGap(javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE) + .addComponent(okButton) + .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.UNRELATED) + .addComponent(cancelButton) + .addGap(379, 379, 379)) + ); + layout.setVerticalGroup( + layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING) + .addGroup(layout.createSequentialGroup() + .addContainerGap() + .addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING) + .addComponent(jPanel2, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE) + .addComponent(jPanel1, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)) + .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED) + .addComponent(jScrollPane2, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE) + .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED) + .addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE) + .addComponent(okButton) + .addComponent(cancelButton)) + .addContainerGap(javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)) + ); + + pack(); + }// </editor-fold>//GEN-END:initComponents + + private void cancelButtonActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_cancelButtonActionPerformed + //Close the dialog + setVisible(false); + dispose(); + }//GEN-LAST:event_cancelButtonActionPerformed + + private void okButtonActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_okButtonActionPerformed + //Remove all non-selected rows + int index = 0; + for (Iterator<Profile> iterator = profiles.iterator(); iterator.hasNext(); index++) { + iterator.next(); + if (!(boolean) profileTable.getModel().getValueAt(index, SELECT_COLUMN_INDEX)) { + iterator.remove(); + } + } + LogWriter.logDebug(profiles.size() + " profile(s) remaining after removing unselected profiles."); + + Set<String> allProfileNames = profiles.stream().map(Profile::getName).collect(Collectors.toSet()); + + //Check if there are any collisions with existing profiles. + Set<String> existingNameCollisions = allProfileNames.stream().filter(name -> { + return existingProfileNames.contains(name); + }).collect(Collectors.toSet()); + + //Check if there are any collisions within the new profiles to be imported. + Set<String> uniqueNames = new HashSet<>(); + Set<String> duplicateNames = allProfileNames.stream() + .filter(n -> !uniqueNames.add(n)) // Set.add() returns false if the element was already in the set. + .collect(Collectors.toSet()); + + //Check if any assume role profiles to be imported are missing their assumer + Set<String> assumeRoleMissingParent = profiles.stream().filter(profile -> { + return profile instanceof AssumeRoleProfile + && !allProfileNames.contains(((AssumeRoleProfile) profile).getAssumerProfile().get().getName()); + }).map(profile -> { + return "AssumeRole: " + profile.getName() + " - Missing Assumer Profile: " + ((AssumeRoleProfile) profile).getAssumerProfile().get().getName(); + }) + .collect(Collectors.toSet()); + + if (!existingNameCollisions.isEmpty()) { + JOptionPane.showMessageDialog(this, + "Profiles with the following names already exist.\nPlease rename these in the table before importing:\n" + existingNameCollisions.stream().collect(Collectors.joining(", ")), + "Profile Name Collision", + JOptionPane.ERROR_MESSAGE); + } else if (!duplicateNames.isEmpty()) { + JOptionPane.showMessageDialog(this, + "The following profile names appear twice in the table.\nPlease rename one before importing:\n" + duplicateNames.stream().collect(Collectors.joining(", ")), + "Profile Name Collision", + JOptionPane.ERROR_MESSAGE); + } else if (!assumeRoleMissingParent.isEmpty()) { + JOptionPane.showMessageDialog(this, + "The following assume role profile are imported without their parent assumer profile.\nPlease import the parent assumer profile as well:\n" + assumeRoleMissingParent.stream().collect(Collectors.joining(",\n")), + "Profile Name Collision", + JOptionPane.ERROR_MESSAGE); + } else { + //Set the result object + result = profiles; + LogWriter.logInfo("Importing " + result.size() + " profile(s): " + result.stream().map(Profile::getName).collect(Collectors.joining(", "))); + //Close the dialog + setVisible(false); + dispose(); + } + }//GEN-LAST:event_okButtonActionPerformed + + private void selectAllButtonActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_selectAllButtonActionPerformed + DefaultTableModel tableModel = ((DefaultTableModel) profileTable.getModel()); + for (int i = 0; i < tableModel.getRowCount(); i++) { + tableModel.setValueAt(true, i, SELECT_COLUMN_INDEX); + } + }//GEN-LAST:event_selectAllButtonActionPerformed + + private void selectNoneButtonActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_selectNoneButtonActionPerformed + DefaultTableModel tableModel = ((DefaultTableModel) profileTable.getModel()); + for (int i = 0; i < tableModel.getRowCount(); i++) { + tableModel.setValueAt(false, i, SELECT_COLUMN_INDEX); + } + }//GEN-LAST:event_selectNoneButtonActionPerformed + + private void autoButtonActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_autoButtonActionPerformed + ProfileImporter importer = new AutoProfileImporter(); + + List<Profile> newProfiles = importer.importProfiles(); + LogWriter.logDebug("Auto import found " + newProfiles.size() + " profile(s)"); + addProfilesToTable(newProfiles); + }//GEN-LAST:event_autoButtonActionPerformed + + private void envButtonActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_envButtonActionPerformed + ProfileImporter importer = new EnvironmentVariableProfileImporter(); + + List<Profile> newProfiles = importer.importProfiles(); + LogWriter.logDebug("Environment Variable import found " + newProfiles.size() + " profile(s)"); + addProfilesToTable(newProfiles); + + }//GEN-LAST:event_envButtonActionPerformed + + private void clipboardButtonActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_clipboardButtonActionPerformed + ProfileImporter importer = new ClipboardProfileImporter(); + + List<Profile> newProfiles = importer.importProfiles(); + LogWriter.logDebug("Clipboard import found " + newProfiles.size() + " profile(s)"); + addProfilesToTable(newProfiles); + }//GEN-LAST:event_clipboardButtonActionPerformed + + private void fileButtonActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_fileButtonActionPerformed + JFileChooser chooser = new JFileChooser(System.getProperty("user.home")); + chooser.setFileHidingEnabled(false); + if (chooser.showOpenDialog(this) == JFileChooser.APPROVE_OPTION) { + Path fileSelection = Paths.get(chooser.getSelectedFile().getPath()); + LogWriter.logDebug("Selected path from file dialog: " + fileSelection); + FileProfileImporter fileImporter = new FileProfileImporter(fileSelection); + List<Profile> newProfiles = fileImporter.importProfiles(); + LogWriter.logInfo("Imported " + newProfiles.size() + " profile(s) from file: " + fileSelection); + addProfilesToTable(newProfiles); + } else { + LogWriter.logDebug("No file chosen in file prompt"); + } + }//GEN-LAST:event_fileButtonActionPerformed + + private void addProfilesToTable(List<Profile> newProfiles) { + DefaultTableModel tableModel = (DefaultTableModel) profileTable.getModel(); + for (Profile newProfile : newProfiles) { + String typeName = null; + if (newProfile instanceof StaticCredentialsProfile) { + typeName = "Static Credentials"; + } else if (newProfile instanceof AssumeRoleProfile) { + typeName = "Assume Role"; + } else if (newProfile instanceof CommandProfile) { + typeName = "Command"; + } else { + LogWriter.logError("Unexpected profile type: " + newProfile.getClass()); + continue; + } + + //Loop until we have a unique name. Starting with the name as-is, then (1), (2), ... + String originalName = newProfile.getName(); + String name = originalName; + int i = 0; + while (profileNameExistsInCollection(profiles, name)) { + i++; + name = originalName + " (" + i + ")"; + } + //Here, a unique name has been found + newProfile.setName(name); + + //Add to the cumulative list + profiles.add(newProfile); + + //Get a key id to show (if possible) + String keyId = "N/A"; + if (newProfile instanceof StaticCredentialsProfile) { + keyId = ((StaticCredentialsProfile) newProfile).getAccessKey().orElse(""); + } + if (newProfile.getKeyId().isPresent()) { + keyId = newProfile.getKeyId().get(); + } + //Add to our table + tableModel.addRow(new Object[]{true, newProfile.getName(), keyId, typeName}); + } + } + + private boolean profileNameExistsInCollection(Collection<Profile> profiles, String name) { + return profiles.stream().map(Profile::getName).filter(profileName -> profileName.equals(name)).findAny().isPresent(); + } + + private void onTableModelEvent(TableModelEvent event) { + //Too noisey, even for debug + //LogWriter.logDebug("Import Table model event. Type: " + event.getType() + " Column: " + event.getColumn() + " First Row: " + event.getFirstRow() + " Last Row: " + event.getLastRow()); + //We only care about updates to the name column + if (event.getType() == TableModelEvent.UPDATE && event.getColumn() == NAME_COLUMN_INDEX) { + //get the new name of the profile + String newName = (String) ((TableModel) event.getSource()).getValueAt(event.getFirstRow(), NAME_COLUMN_INDEX); + //get the corresponding profile from our list. + Profile profile = profiles.get(event.getFirstRow()); + + LogWriter.logDebug("Updating profile: " + profile + " new name: " + newName); + //Set the new value + profile.setName(newName); + } + + } + + /** + * @param args the command line arguments + */ + public static void main(String args[]) { + /* Set the Nimbus look and feel */ + //<editor-fold defaultstate="collapsed" desc=" Look and feel setting code (optional) "> + /* If Nimbus (introduced in Java SE 6) is not available, stay with the default look and feel. + * For details see http://download.oracle.com/javase/tutorial/uiswing/lookandfeel/plaf.html + */ + try { + for (javax.swing.UIManager.LookAndFeelInfo info : javax.swing.UIManager.getInstalledLookAndFeels()) { + if ("Nimbus".equals(info.getName())) { + javax.swing.UIManager.setLookAndFeel(info.getClassName()); + break; + } + } + } catch (ClassNotFoundException ex) { + java.util.logging.Logger.getLogger(ImportDialog.class.getName()).log(java.util.logging.Level.SEVERE, null, ex); + } catch (InstantiationException ex) { + java.util.logging.Logger.getLogger(ImportDialog.class.getName()).log(java.util.logging.Level.SEVERE, null, ex); + } catch (IllegalAccessException ex) { + java.util.logging.Logger.getLogger(ImportDialog.class.getName()).log(java.util.logging.Level.SEVERE, null, ex); + } catch (javax.swing.UnsupportedLookAndFeelException ex) { + java.util.logging.Logger.getLogger(ImportDialog.class.getName()).log(java.util.logging.Level.SEVERE, null, ex); + } + //</editor-fold> + + /* Create and display the dialog */ + java.awt.EventQueue.invokeLater(new Runnable() { + public void run() { + ImportDialog dialog = new ImportDialog(new javax.swing.JFrame(), true, Collections.emptyList()); + dialog.addWindowListener(new java.awt.event.WindowAdapter() { + @Override + public void windowClosing(java.awt.event.WindowEvent e) { + System.exit(0); + } + }); + dialog.setVisible(true); + } + }); + } + + // Variables declaration - do not modify//GEN-BEGIN:variables + private javax.swing.JButton autoButton; + private javax.swing.JButton cancelButton; + private javax.swing.JButton clipboardButton; + private javax.swing.JButton envButton; + private javax.swing.JButton fileButton; + private javax.swing.JPanel jPanel1; + private javax.swing.JPanel jPanel2; + private javax.swing.JScrollPane jScrollPane2; + private javax.swing.JButton okButton; + private javax.swing.JTable profileTable; + private javax.swing.JButton selectAllButton; + private javax.swing.JButton selectNoneButton; + // End of variables declaration//GEN-END:variables + +} diff --git a/src/main/main.iml b/src/main/main.iml deleted file mode 100644 index b0d96eb..0000000 --- a/src/main/main.iml +++ /dev/null @@ -1,12 +0,0 @@ -<?xml version="1.0" encoding="UTF-8"?> -<module type="JAVA_MODULE" version="4"> - <component name="NewModuleRootManager" inherit-compiler-output="true"> - <exclude-output /> - <content url="file://$MODULE_DIR$"> - <sourceFolder url="file://$MODULE_DIR$/java" isTestSource="false" /> - </content> - <orderEntry type="inheritedJdk" /> - <orderEntry type="sourceFolder" forTests="false" /> - <orderEntry type="library" name="Gradle: com.google.guava:guava:23.2-jre" level="project" /> - </component> -</module> \ No newline at end of file diff --git a/src/test/java/com/netspi/awssigner/model/persistence/CredentialsParserTest.java b/src/test/java/com/netspi/awssigner/model/persistence/CredentialsParserTest.java new file mode 100644 index 0000000..8aa9de7 --- /dev/null +++ b/src/test/java/com/netspi/awssigner/model/persistence/CredentialsParserTest.java @@ -0,0 +1,161 @@ +package com.netspi.awssigner.model.persistence; + +import com.netspi.awssigner.credentials.CredentialsParser; +import com.netspi.awssigner.credentials.SigningCredentials; +import java.io.IOException; +import java.nio.charset.StandardCharsets; +import java.nio.file.Files; +import java.nio.file.Path; +import java.nio.file.Paths; +import java.util.Optional; +import org.junit.jupiter.api.Test; +import static org.junit.jupiter.api.Assertions.*; + +public class CredentialsParserTest { + + private final Path parentTestInputFolder = Paths.get("src", "test", "resources", "CredentialsParserInputs"); + + @Test + public void testSingleSimpleProfile() throws IOException { + Path inputPath = parentTestInputFolder.resolve("single_simple_profile_test.txt"); + byte[] bytes = Files.readAllBytes(inputPath); + String rawText = new String(bytes, StandardCharsets.UTF_8); + Optional<SigningCredentials> result = CredentialsParser.parseCredentialsFromText(rawText); + assertTrue(result.isPresent()); + SigningCredentials creds = result.get(); + assertEquals("AKIAIOSFODNN7EXAMPLE", creds.getAccessKey()); + assertEquals("wJalrXUtnFEMI/K7MDENG/bPxRfiCYEXAMPLEKEY", creds.getSecretKey()); + assertTrue(creds.getSessionToken().isEmpty()); + } + + @Test + public void testSingleSimpleProfileWithSession() throws IOException { + Path inputPath = parentTestInputFolder.resolve("single_simple_profile_test_with_session.txt"); + byte[] bytes = Files.readAllBytes(inputPath); + String rawText = new String(bytes, StandardCharsets.UTF_8); + Optional<SigningCredentials> result = CredentialsParser.parseCredentialsFromText(rawText); + assertTrue(result.isPresent()); + SigningCredentials creds = result.get(); + assertEquals("AKIAIOSFODNN7EXAMPLE", creds.getAccessKey()); + assertEquals("wJalrXUtnFEMI/K7MDENG/bPxRfiCYEXAMPLEKEY", creds.getSecretKey()); + assertEquals("AQoEXAMPLEH4aoAH0gNCAPyJxz4BlCFFxWNE1OPTgk5TthT+FvwqnKwRcOIfrRh3c/LTo6UDdyJwOOvEVPvLXCrrrUtdnniCEXAMPLE/IvU1dYUg2RVAJBanLiHb4IgRmpRV3zrkuWJOgQs8IZZaIv2BXIa2R4Olgk", creds.getSessionToken().get()); + } + + @Test + public void testSettingsText() throws IOException { + Path inputPath = parentTestInputFolder.resolve("settings_text.txt"); + byte[] bytes = Files.readAllBytes(inputPath); + String rawText = new String(bytes, StandardCharsets.UTF_8); + Optional<SigningCredentials> result = CredentialsParser.parseCredentialsFromText(rawText); + assertTrue(result.isPresent()); + SigningCredentials creds = result.get(); + assertEquals("AKIAIOSFODNN7EXAMPLE", creds.getAccessKey()); + assertEquals("wJalrXUtnFEMI/K7MDENG/bPxRfiCYEXAMPLEKEY", creds.getSecretKey()); + assertEquals("AQoEXAMPLEH4aoAH0gNCAPyJxz4BlCFFxWNE1OPTgk5TthT+FvwqnKwRcOIfrRh3c/LTo6UDdyJwOOvEVPvLXCrrrUtdnniCEXAMPLE/IvU1dYUg2RVAJBanLiHb4IgRmpRV3zrkuWJOgQs8IZZaIv2BXIa2R4Olgk", creds.getSessionToken().get()); + } + + @Test + public void testGetSessionTokenOutput() throws IOException { + Path inputPath = parentTestInputFolder.resolve("get-session-token_output.txt"); + byte[] bytes = Files.readAllBytes(inputPath); + String rawText = new String(bytes, StandardCharsets.UTF_8); + Optional<SigningCredentials> result = CredentialsParser.parseCredentialsFromText(rawText); + assertTrue(result.isPresent()); + SigningCredentials creds = result.get(); + assertEquals("AKIAIOSFODNN7EXAMPLE", creds.getAccessKey()); + assertEquals("mgJteE7dZgSLC2eo2vKsAUWRSnchrWzCRnoDpUSJ", creds.getSecretKey()); + assertEquals("AQoEXAMPLEH4aoAH0gNCAPyJxz4BlCFFxWNE1OPTgk5TthT+FvwqnKwRcOIfrRh3c/LTo6UDdyJwOOvEVPvLXCrrrUtdnniCEXAMPLE/IvU1dYUg2RVAJBanLiHb4IgRmpRV3zrkuWJOgQs8IZZaIv2BXIa2R4OlgkBN9bkUDNCJiBeb/AXlzBBko7b15fjrBs2+cTQtpZ3CYWFXG8C5zqx37wnOE49mRl/+OtkIKGO7fAE", creds.getSessionToken().get()); + } + + @Test + public void testExternalCommandOutput() throws IOException { + Path inputPath = parentTestInputFolder.resolve("external_command_example.txt"); + byte[] bytes = Files.readAllBytes(inputPath); + String rawText = new String(bytes, StandardCharsets.UTF_8); + Optional<SigningCredentials> result = CredentialsParser.parseCredentialsFromText(rawText); + assertTrue(result.isPresent()); + SigningCredentials creds = result.get(); + assertEquals("AKIAIOSFODNN7EXAMPLE", creds.getAccessKey()); + assertEquals("wJalrXUtnFEMI/K7MDENG/bPxRfiCYEXAMPLEKEY", creds.getSecretKey()); + assertEquals("AQoEXAMPLEH4aoAH0gNCAPyJxz4BlCFFxWNE1OPTgk5TthT+FvwqnKwRcOIfrRh3c/LTo6UDdyJwOOvEVPvLXCrrrUtdnniCEXAMPLE/IvU1dYUg2RVAJBanLiHb4IgRmpRV3zrkuWJOgQs8IZZaIv2BXIa2R4Olgk", creds.getSessionToken().get()); + } + + @Test + public void testEnvironmentVariablesCommands() throws IOException { + Path inputPath = parentTestInputFolder.resolve("environment_variables.txt"); + byte[] bytes = Files.readAllBytes(inputPath); + String rawText = new String(bytes, StandardCharsets.UTF_8); + Optional<SigningCredentials> result = CredentialsParser.parseCredentialsFromText(rawText); + assertTrue(result.isPresent()); + SigningCredentials creds = result.get(); + assertEquals("AKIAIOSFODNN7EXAMPLE", creds.getAccessKey()); + assertEquals("wJalrXUtnFEMI/K7MDENG/bPxRfiCYEXAMPLEKEY", creds.getSecretKey()); + assertEquals("AQoEXAMPLEH4aoAH0gNCAPyJxz4BlCFFxWNE1OPTgk5TthT+FvwqnKwRcOIfrRh3c/LTo6UDdyJwOOvEVPvLXCrrrUtdnniCEXAMPLE/IvU1dYUg2RVAJBanLiHb4IgRmpRV3zrkuWJOgQs8IZZaIv2BXIa2R4OlgkBN9bkUDNCJiBeb/AXlzBBko7b15fjrBs2+cTQtpZ3CYWFXG8C5zqx37wnOE49mRl/+OtkIKGO7fAE", creds.getSessionToken().get()); + } + + @Test + public void testCLIConfigure() throws IOException { + Path inputPath = parentTestInputFolder.resolve("cli_configure_example.txt"); + byte[] bytes = Files.readAllBytes(inputPath); + String rawText = new String(bytes, StandardCharsets.UTF_8); + Optional<SigningCredentials> result = CredentialsParser.parseCredentialsFromText(rawText); + assertTrue(result.isPresent()); + SigningCredentials creds = result.get(); + assertEquals("AKIAIOSFODNN7EXAMPLE", creds.getAccessKey()); + assertEquals("wJalrXUtnFEMI/K7MDENG/bPxRfiCYEXAMPLEKEY", creds.getSecretKey()); + assertTrue(creds.getSessionToken().isEmpty()); + } + + @Test + public void testAssumeRoleXMLOneLine() throws IOException { + Path inputPath = parentTestInputFolder.resolve("assume-role_output_xml_oneline.txt"); + byte[] bytes = Files.readAllBytes(inputPath); + String rawText = new String(bytes, StandardCharsets.UTF_8); + Optional<SigningCredentials> result = CredentialsParser.parseCredentialsFromText(rawText); + assertTrue(result.isPresent()); + SigningCredentials creds = result.get(); + assertEquals("AKIAIOSFODNN7EXAMPLE", creds.getAccessKey()); + assertEquals("DcCc9H6oCkGUEXAMPLEx8NIfVG8kO2T/3jORxuZY", creds.getSecretKey()); + assertEquals("AQoDYXdzEPT//////////wEXAMPLEtc764bNrC9SAPBSM22wDOk4x4HIZ8j4FZTwdQWLWsKWHGBuFqwAeMicRXmxfpSPfIeoIYRqTflfKD8YUuwthAx7mSEI/qkPpKPi/kMcGdQrmGdeehM4IC1NtBmUpp2wUE8phUZampKsburEDy0KPkyQDYwT7WZ0wq5VSXDvp75YU9HFvlRd8Tx6q6fE8YQcHNVXAkiY9q6d+xo0rKwT38xVqr7ZD0u0iPPkUL64lIZbqBAz+scqKmlzm8FDrypNC9Yjc8fPOLn9FX9KSYvKTr4rvx3iSIlTJabIQwj2ICCR/oLxBA==", creds.getSessionToken().get()); + } + + @Test + public void testAssumeRoleXMLMultiLine() throws IOException { + Path inputPath = parentTestInputFolder.resolve("assume-role_output_xml.txt"); + byte[] bytes = Files.readAllBytes(inputPath); + String rawText = new String(bytes, StandardCharsets.UTF_8); + Optional<SigningCredentials> result = CredentialsParser.parseCredentialsFromText(rawText); + assertTrue(result.isPresent()); + SigningCredentials creds = result.get(); + assertEquals("AKIAIOSFODNN7EXAMPLE", creds.getAccessKey()); + assertEquals("DcCc9H6oCkGUEXAMPLEx8NIfVG8kO2T/3jORxuZY", creds.getSecretKey()); + assertEquals("AQoDYXdzEPT//////////wEXAMPLEtc764bNrC9SAPBSM22wDOk4x4HIZ8j4FZTwdQWLWsKWHGBuFqwAeMicRXmxfpSPfIeoIYRqTflfKD8YUuwthAx7mSEI/qkPpKPi/kMcGdQrmGdeehM4IC1NtBmUpp2wUE8phUZampKsburEDy0KPkyQDYwT7WZ0wq5VSXDvp75YU9HFvlRd8Tx6q6fE8YQcHNVXAkiY9q6d+xo0rKwT38xVqr7ZD0u0iPPkUL64lIZbqBAz+scqKmlzm8FDrypNC9Yjc8fPOLn9FX9KSYvKTr4rvx3iSIlTJabIQwj2ICCR/oLxBA==", creds.getSessionToken().get()); + } + + @Test + public void testAssumeRoleJSONMultiLine() throws IOException { + Path inputPath = parentTestInputFolder.resolve("assume-role_output.txt"); + byte[] bytes = Files.readAllBytes(inputPath); + String rawText = new String(bytes, StandardCharsets.UTF_8); + Optional<SigningCredentials> result = CredentialsParser.parseCredentialsFromText(rawText); + assertTrue(result.isPresent()); + SigningCredentials creds = result.get(); + assertEquals("ASIAJEXAMPLEXEG2JICA", creds.getAccessKey()); + assertEquals("FTNBND5Q6mEXAMPLEe27V0Pce/03EShqVZTTsLzF", creds.getSecretKey()); + assertEquals("AQoXdzELDDY//////////wEaoAK1wvxJY12r2IrDFT2IvAzTCn3zHoZ7YNtpiQLF0MqZye/qwjzP2iEXAMPLEbw/m3hsj8VBTkPORGvr9jM5sgP+w9IZWZnU+LWhmg+a5fDi2oTGUYcdg9uexQ4mtCHIHfi4citgqZTgco40Yqr4lIlo4V2b2Dyauk0eYFNebHtYlFVgAUj+7Indz3LU0aTWk1WKIjHmmMCIoTkyYp/k7kUG7moeEYKSitwQIi6Gjn+nyzM+PtoA3685ixzv0R7i5rjQi0YE0lf1oeie3bDiNHncmzosRM6SFiPzSvp6h/32xQuZsjcypmwsPSDtTPYcs0+YN/8BRi2/IcrxSpnWEXAMPLEXSDFTAQAM6Dl9zR0tXoybnlrZIwMLlMi1Kcgo5OytwU=", creds.getSessionToken().get()); + } + + @Test + public void testAssumeRoleJSONOneLine() throws IOException { + Path inputPath = parentTestInputFolder.resolve("assume-role_output_oneline.txt"); + byte[] bytes = Files.readAllBytes(inputPath); + String rawText = new String(bytes, StandardCharsets.UTF_8); + Optional<SigningCredentials> result = CredentialsParser.parseCredentialsFromText(rawText); + assertTrue(result.isPresent()); + SigningCredentials creds = result.get(); + assertEquals("ASIAJEXAMPLEXEG2JICA", creds.getAccessKey()); + assertEquals("FTNBND5Q6mEXAMPLEe27V0Pce/03EShqVZTTsLzF", creds.getSecretKey()); + assertEquals("AQoXdzELDDY//////////wEaoAK1wvxJY12r2IrDFT2IvAzTCn3zHoZ7YNtpiQLF0MqZye/qwjzP2iEXAMPLEbw/m3hsj8VBTkPORGvr9jM5sgP+w9IZWZnU+LWhmg+a5fDi2oTGUYcdg9uexQ4mtCHIHfi4citgqZTgco40Yqr4lIlo4V2b2Dyauk0eYFNebHtYlFVgAUj+7Indz3LU0aTWk1WKIjHmmMCIoTkyYp/k7kUG7moeEYKSitwQIi6Gjn+nyzM+PtoA3685ixzv0R7i5rjQi0YE0lf1oeie3bDiNHncmzosRM6SFiPzSvp6h/32xQuZsjcypmwsPSDtTPYcs0+YN/8BRi2/IcrxSpnWEXAMPLEXSDFTAQAM6Dl9zR0tXoybnlrZIwMLlMi1Kcgo5OytwU=", creds.getSessionToken().get()); + } + +} diff --git a/src/test/java/com/netspi/awssigner/model/persistence/FileProfileImporterTest.java b/src/test/java/com/netspi/awssigner/model/persistence/FileProfileImporterTest.java new file mode 100644 index 0000000..7a24790 --- /dev/null +++ b/src/test/java/com/netspi/awssigner/model/persistence/FileProfileImporterTest.java @@ -0,0 +1,248 @@ +package com.netspi.awssigner.model.persistence; + +import com.netspi.awssigner.model.AssumeRoleProfile; +import com.netspi.awssigner.model.CommandProfile; +import com.netspi.awssigner.model.Profile; +import com.netspi.awssigner.model.StaticCredentialsProfile; +import java.io.IOException; +import java.nio.file.Path; +import java.nio.file.Paths; +import java.util.List; +import org.junit.jupiter.api.Test; +import static org.junit.jupiter.api.Assertions.*; + +public class FileProfileImporterTest { + + private final Path parentTestInputFolder = Paths.get("src", "test", "resources", "FileProfileImportInputs"); + + @Test + public void testSimpleSingleImport() throws IOException { + Path inputPath = parentTestInputFolder.resolve("single_simple_profile_test.txt"); + FileProfileImporter importer = new FileProfileImporter(inputPath); + List<Profile> importProfiles = importer.importProfiles(); + assertEquals(1, importProfiles.size()); + + Profile profile = importProfiles.get(0); + assertTrue(profile instanceof StaticCredentialsProfile); + StaticCredentialsProfile staticCredentialsProfile = (StaticCredentialsProfile) profile; + assertEquals("default", staticCredentialsProfile.getName()); + assertEquals("AKIAIOSFODNN7EXAMPLE", staticCredentialsProfile.getAccessKey().get()); + assertEquals("wJalrXUtnFEMI/K7MDENG/bPxRfiCYEXAMPLEKEY", staticCredentialsProfile.getSecretKey().get()); + assertTrue(staticCredentialsProfile.getSessionToken().isEmpty()); + } + + @Test + public void testSingleImportWithProfileName() throws IOException { + Path inputPath = parentTestInputFolder.resolve("single_simple_profile_test_profile_name.txt"); + FileProfileImporter importer = new FileProfileImporter(inputPath); + List<Profile> importProfiles = importer.importProfiles(); + assertEquals(1, importProfiles.size()); + + Profile profile = importProfiles.get(0); + assertTrue(profile instanceof StaticCredentialsProfile); + StaticCredentialsProfile staticCredentialsProfile = (StaticCredentialsProfile) profile; + assertEquals("my-profile", staticCredentialsProfile.getName()); + assertEquals("AKIAIOSFODNN7EXAMPLE", staticCredentialsProfile.getAccessKey().get()); + assertEquals("wJalrXUtnFEMI/K7MDENG/bPxRfiCYEXAMPLEKEY", staticCredentialsProfile.getSecretKey().get()); + assertTrue(staticCredentialsProfile.getSessionToken().isEmpty()); + } + + @Test + public void testSingleImportWithConfig() throws IOException { + Path inputPath = parentTestInputFolder.resolve("single_simple_profile_test_with_config.txt"); + FileProfileImporter importer = new FileProfileImporter(inputPath); + List<Profile> importProfiles = importer.importProfiles(); + assertEquals(1, importProfiles.size()); + + Profile profile = importProfiles.get(0); + assertTrue(profile instanceof StaticCredentialsProfile); + StaticCredentialsProfile staticCredentialsProfile = (StaticCredentialsProfile) profile; + assertEquals("default", staticCredentialsProfile.getName()); + assertEquals("AKIAIOSFODNN7EXAMPLE", staticCredentialsProfile.getAccessKey().get()); + assertEquals("wJalrXUtnFEMI/K7MDENG/bPxRfiCYEXAMPLEKEY", staticCredentialsProfile.getSecretKey().get()); + assertTrue(staticCredentialsProfile.getSessionToken().isEmpty()); + } + + @Test + public void testSingleImportWithIgnoredExtraProperties() throws IOException { + Path inputPath = parentTestInputFolder.resolve("single_simple_profile_test_with_ignored_extras.txt"); + FileProfileImporter importer = new FileProfileImporter(inputPath); + List<Profile> importProfiles = importer.importProfiles(); + assertEquals(1, importProfiles.size()); + + Profile profile = importProfiles.get(0); + assertTrue(profile instanceof StaticCredentialsProfile); + StaticCredentialsProfile staticCredentialsProfile = (StaticCredentialsProfile) profile; + assertEquals("default", staticCredentialsProfile.getName()); + assertEquals("AKIAIOSFODNN7EXAMPLE", staticCredentialsProfile.getAccessKey().get()); + assertEquals("wJalrXUtnFEMI/K7MDENG/bPxRfiCYEXAMPLEKEY", staticCredentialsProfile.getSecretKey().get()); + assertTrue(staticCredentialsProfile.getSessionToken().isEmpty()); + } + + @Test + public void testSingleImportWithSession() throws IOException { + Path inputPath = parentTestInputFolder.resolve("single_simple_profile_test_with_session.txt"); + FileProfileImporter importer = new FileProfileImporter(inputPath); + List<Profile> importProfiles = importer.importProfiles(); + assertEquals(1, importProfiles.size()); + + Profile profile = importProfiles.get(0); + assertTrue(profile instanceof StaticCredentialsProfile); + StaticCredentialsProfile staticCredentialsProfile = (StaticCredentialsProfile) profile; + assertEquals("default", staticCredentialsProfile.getName()); + assertEquals("AKIAIOSFODNN7EXAMPLE", staticCredentialsProfile.getAccessKey().get()); + assertEquals("wJalrXUtnFEMI/K7MDENG/bPxRfiCYEXAMPLEKEY", staticCredentialsProfile.getSecretKey().get()); + assertEquals("AQoEXAMPLEH4aoAH0gNCAPyJxz4BlCFFxWNE1OPTgk5TthT+FvwqnKwRcOIfrRh3c/LTo6UDdyJwOOvEVPvLXCrrrUtdnniCEXAMPLE/IvU1dYUg2RVAJBanLiHb4IgRmpRV3zrkuWJOgQs8IZZaIv2BXIa2R4Olgk", staticCredentialsProfile.getSessionToken().get()); + } + + @Test + public void testSingleImportMixedCase() throws IOException { + Path inputPath = parentTestInputFolder.resolve("single_simple_profile_test_mixed_case.txt"); + FileProfileImporter importer = new FileProfileImporter(inputPath); + List<Profile> importProfiles = importer.importProfiles(); + assertEquals(1, importProfiles.size()); + + Profile profile = importProfiles.get(0); + assertTrue(profile instanceof StaticCredentialsProfile); + StaticCredentialsProfile staticCredentialsProfile = (StaticCredentialsProfile) profile; + assertEquals("default", staticCredentialsProfile.getName()); + assertEquals("AKIAIOSFODNN7EXAMPLE", staticCredentialsProfile.getAccessKey().get()); + assertEquals("wJalrXUtnFEMI/K7MDENG/bPxRfiCYEXAMPLEKEY", staticCredentialsProfile.getSecretKey().get()); + assertTrue(staticCredentialsProfile.getSessionToken().isEmpty()); + } + + @Test + public void testMultipleImport() throws IOException { + Path inputPath = parentTestInputFolder.resolve("multiple_profile_test.txt"); + FileProfileImporter importer = new FileProfileImporter(inputPath); + List<Profile> importProfiles = importer.importProfiles(); + assertEquals(2, importProfiles.size()); + + Profile profile = importProfiles.get(0); + assertTrue(profile instanceof StaticCredentialsProfile); + StaticCredentialsProfile staticCredentialsProfile = (StaticCredentialsProfile) profile; + assertEquals("profile1", staticCredentialsProfile.getName()); + assertEquals("AKIAIOSFODAA7EXAMPLE", staticCredentialsProfile.getAccessKey().get()); + assertEquals("AAalrXUtnFEMI/K7MDENG/bPxRfiCYEXAMPLEKEY", staticCredentialsProfile.getSecretKey().get()); + assertTrue(staticCredentialsProfile.getSessionToken().isEmpty()); + + profile = importProfiles.get(1); + assertTrue(profile instanceof StaticCredentialsProfile); + staticCredentialsProfile = (StaticCredentialsProfile) profile; + assertEquals("profile2", staticCredentialsProfile.getName()); + assertEquals("AKIAIOSFODBB7EXAMPLE", staticCredentialsProfile.getAccessKey().get()); + assertEquals("BBalrXUtnFEMI/K7MDENG/bPxRfiCYEXAMPLEKEY", staticCredentialsProfile.getSecretKey().get()); + assertTrue(staticCredentialsProfile.getSessionToken().isEmpty()); + } + + @Test + public void testAssumeRoleSingleImport() throws IOException { + Path inputPath = parentTestInputFolder.resolve("assume_role_profile_test.txt"); + FileProfileImporter importer = new FileProfileImporter(inputPath); + List<Profile> importProfiles = importer.importProfiles(); + assertEquals(2, importProfiles.size()); + + Profile profile = importProfiles.get(0); + assertTrue(profile instanceof StaticCredentialsProfile); + StaticCredentialsProfile staticCredentialsProfile = (StaticCredentialsProfile) profile; + assertEquals("user1", staticCredentialsProfile.getName()); + assertEquals("AKIAIOSFODNN7EXAMPLE", staticCredentialsProfile.getAccessKey().get()); + assertEquals("wJalrXUtnFEMI/K7MDENG/bPxRfiCYEXAMPLEKEY", staticCredentialsProfile.getSecretKey().get()); + assertTrue(staticCredentialsProfile.getSessionToken().isEmpty()); + + profile = importProfiles.get(1); + assertTrue(profile instanceof AssumeRoleProfile); + AssumeRoleProfile assumeRoleCredentialsProfile = (AssumeRoleProfile) profile; + assertEquals("marketingadmin", assumeRoleCredentialsProfile.getName()); + assertEquals(importProfiles.get(0), assumeRoleCredentialsProfile.getAssumerProfile().get()); + assertEquals("arn:aws:iam::123456789012:role/marketingadminrole", assumeRoleCredentialsProfile.getRoleArn().get()); + assertEquals(3600, assumeRoleCredentialsProfile.getDurationSeconds().get()); + assertEquals("123456", assumeRoleCredentialsProfile.getExternalId().get()); + assertEquals("Session_Maria_Garcia", assumeRoleCredentialsProfile.getSessionName().get()); + assertTrue(assumeRoleCredentialsProfile.getSessionPolicy().isEmpty()); + } + + @Test + public void testNestedAssumeRoleImport() throws IOException { + Path inputPath = parentTestInputFolder.resolve("nested_assume_role_profile_test.txt"); + FileProfileImporter importer = new FileProfileImporter(inputPath); + List<Profile> importProfiles = importer.importProfiles(); + assertEquals(4, importProfiles.size()); + + Profile profile = importProfiles.get(0); + assertTrue(profile instanceof StaticCredentialsProfile); + StaticCredentialsProfile staticCredentialsProfile = (StaticCredentialsProfile) profile; + assertEquals("static", staticCredentialsProfile.getName()); + assertEquals("AKIAIOSFODNN7EXAMPLE", staticCredentialsProfile.getAccessKey().get()); + assertEquals("wJalrXUtnFEMI/K7MDENG/bPxRfiCYEXAMPLEKEY", staticCredentialsProfile.getSecretKey().get()); + assertTrue(staticCredentialsProfile.getSessionToken().isEmpty()); + + profile = importProfiles.get(1); + assertTrue(profile instanceof AssumeRoleProfile); + AssumeRoleProfile assumeRoleCredentialsProfile = (AssumeRoleProfile) profile; + assertEquals("assume1", assumeRoleCredentialsProfile.getName()); + assertEquals(importProfiles.get(0), assumeRoleCredentialsProfile.getAssumerProfile().get()); + assertEquals("arn:aws:iam::123456789012:role/marketingadminrole", assumeRoleCredentialsProfile.getRoleArn().get()); + assertEquals(3600, assumeRoleCredentialsProfile.getDurationSeconds().get()); + assertEquals("123456", assumeRoleCredentialsProfile.getExternalId().get()); + assertEquals("Session_Maria_Garcia", assumeRoleCredentialsProfile.getSessionName().get()); + assertTrue(assumeRoleCredentialsProfile.getSessionPolicy().isEmpty()); + + profile = importProfiles.get(2); + assertTrue(profile instanceof AssumeRoleProfile); + assumeRoleCredentialsProfile = (AssumeRoleProfile) profile; + assertEquals("assume2", assumeRoleCredentialsProfile.getName()); + assertEquals(importProfiles.get(1), assumeRoleCredentialsProfile.getAssumerProfile().get()); + assertEquals("arn:aws:iam::123456789012:role/marketingadminrole", assumeRoleCredentialsProfile.getRoleArn().get()); + assertEquals(3600, assumeRoleCredentialsProfile.getDurationSeconds().get().intValue()); + assertEquals("123456", assumeRoleCredentialsProfile.getExternalId().get()); + assertEquals("Session_Maria_Garcia", assumeRoleCredentialsProfile.getSessionName().get()); + assertTrue(assumeRoleCredentialsProfile.getSessionPolicy().isEmpty()); + + profile = importProfiles.get(3); + assertTrue(profile instanceof AssumeRoleProfile); + assumeRoleCredentialsProfile = (AssumeRoleProfile) profile; + assertEquals("assume3", assumeRoleCredentialsProfile.getName()); + assertEquals(importProfiles.get(2), assumeRoleCredentialsProfile.getAssumerProfile().get()); + assertEquals("arn:aws:iam::123456789012:role/marketingadminrole", assumeRoleCredentialsProfile.getRoleArn().get()); + assertEquals(3600, assumeRoleCredentialsProfile.getDurationSeconds().get().intValue()); + assertEquals("123456", assumeRoleCredentialsProfile.getExternalId().get()); + assertEquals("Session_Maria_Garcia", assumeRoleCredentialsProfile.getSessionName().get()); + assertTrue(assumeRoleCredentialsProfile.getSessionPolicy().isEmpty()); + } + + @Test + public void testExternalCommandImport() throws IOException { + Path inputPath = parentTestInputFolder.resolve("external_command_profile_test.txt"); + FileProfileImporter importer = new FileProfileImporter(inputPath); + List<Profile> importProfiles = importer.importProfiles(); + assertEquals(1, importProfiles.size()); + + Profile profile = importProfiles.get(0); + assertTrue(profile instanceof CommandProfile); + CommandProfile commandProfile = (CommandProfile) profile; + assertEquals("developer", commandProfile.getName()); + assertTrue(commandProfile.getKeyId().isEmpty()); + assertEquals("/opt/bin/awscreds-custom --username helen", commandProfile.getCommand().get()); + assertEquals(3600, commandProfile.getDurationSeconds().get().intValue()); + + } + + @Test + public void testExternalCommandNoDurationImport() throws IOException { + Path inputPath = parentTestInputFolder.resolve("external_command_profile_no_duration.txt"); + FileProfileImporter importer = new FileProfileImporter(inputPath); + List<Profile> importProfiles = importer.importProfiles(); + assertEquals(1, importProfiles.size()); + + Profile profile = importProfiles.get(0); + assertTrue(profile instanceof CommandProfile); + CommandProfile commandProfile = (CommandProfile) profile; + assertEquals("developer", commandProfile.getName()); + assertTrue(commandProfile.getKeyId().isEmpty()); + assertEquals("/opt/bin/awscreds-custom --username helen", commandProfile.getCommand().get()); + assertTrue(commandProfile.getDurationSeconds().isEmpty()); + + } + +} diff --git a/src/test/java/com/netspi/awssigner/model/persistence/ProfileExporterTest.java b/src/test/java/com/netspi/awssigner/model/persistence/ProfileExporterTest.java new file mode 100644 index 0000000..37e97df --- /dev/null +++ b/src/test/java/com/netspi/awssigner/model/persistence/ProfileExporterTest.java @@ -0,0 +1,279 @@ +package com.netspi.awssigner.model.persistence; + +import com.google.gson.GsonBuilder; +import com.google.gson.JsonObject; +import com.google.gson.JsonParser; +import com.netspi.awssigner.model.AssumeRoleProfile; +import com.netspi.awssigner.model.CommandProfile; +import com.netspi.awssigner.model.Profile; +import com.netspi.awssigner.model.StaticCredentialsProfile; +import java.nio.file.Files; +import java.nio.file.Path; +import java.util.ArrayList; +import java.util.List; +import org.junit.jupiter.api.AfterEach; +import org.junit.jupiter.api.Test; +import static org.junit.jupiter.api.Assertions.*; +import org.junit.jupiter.api.BeforeAll; +import org.junit.jupiter.api.BeforeEach; + +public class ProfileExporterTest { + + private Path tempFile; + private ProfileExporter exporter; + + @BeforeEach + public void setUp() throws Exception { + tempFile = Files.createTempFile("ProfileExporterTest", null); + exporter = new ProfileExporter(tempFile); + } + + @AfterEach + public void tearDown() throws Exception { + Files.deleteIfExists(tempFile); + } + + @Test + public void testStaticCreds() throws Exception { + List<Profile> exportProfiles = new ArrayList<>(); + + StaticCredentialsProfile exportProfile = new StaticCredentialsProfile("name"); + exportProfile.setAccessKey("AKIAIOSFODNN7EXAMPLE"); + exportProfile.setSecretKey("AAalrXUtnFEMI/K7MDENG/bPxRfiCYEXAMPLEKEY"); + + exportProfiles.add(exportProfile); + + exporter.exportProfiles(exportProfiles); + + FileProfileImporter importer = new FileProfileImporter(tempFile); + List<Profile> importProfiles = importer.importProfiles(); + + assertEquals(exportProfiles.size(), importProfiles.size()); + + StaticCredentialsProfile importProfile = (StaticCredentialsProfile) importProfiles.get(0); + assertEquals(exportProfile.getName(), importProfile.getName()); + assertEquals(exportProfile.getAccessKey().get(), importProfile.getAccessKey().get()); + assertEquals(exportProfile.getSecretKey().get(), importProfile.getSecretKey().get()); + } + + @Test + public void testStaticCredsWithAllFields() throws Exception { + List<Profile> exportProfiles = new ArrayList<>(); + + StaticCredentialsProfile exportProfile = new StaticCredentialsProfile("name"); + exportProfile.setAccessKey("AKIAIOSFODNN7EXAMPLE"); + exportProfile.setSecretKey("AAalrXUtnFEMI/K7MDENG/bPxRfiCYEXAMPLEKEY"); + exportProfile.setSessionToken("AQoXdzELDDY//////////wEaoAK1wvxJY12r2IrDFT2IvAzTCn3zHoZ7YNtpiQLF0MqZye/qwjzP2iEXAMPLEbw/m3hsj8VBTkPORGvr9jM5sgP+w9IZWZnU+LWhmg+a5fDi2oTGUYcdg9uexQ4mtCHIHfi4citgqZTgco40Yqr4lIlo4V2b2Dyauk0eYFNebHtYlFVgAUj+7Indz3LU0aTWk1WKIjHmmMCIoTkyYp/k7kUG7moeEYKSitwQIi6Gjn+nyzM+PtoA3685ixzv0R7i5rjQi0YE0lf1oeie3bDiNHncmzosRM6SFiPzSvp6h/32xQuZsjcypmwsPSDtTPYcs0+YN/8BRi2/IcrxSpnWEXAMPLEXSDFTAQAM6Dl9zR0tXoybnlrZIwMLlMi1Kcgo5OytwU="); + exportProfile.setEnabled(false); + exportProfile.setInScopeOnly(true); + exportProfile.setKeyId("AKIAIOSFODNN8EXAMPLE"); + exportProfile.setRegion("us-west-2"); + exportProfile.setService("some-service"); + + exportProfiles.add(exportProfile); + + exporter.exportProfiles(exportProfiles); + + FileProfileImporter importer = new FileProfileImporter(tempFile); + List<Profile> importProfiles = importer.importProfiles(); + + assertEquals(exportProfiles.size(), importProfiles.size()); + + StaticCredentialsProfile importProfile = (StaticCredentialsProfile) importProfiles.get(0); + assertEquals(exportProfile.getName(), importProfile.getName()); + assertEquals(exportProfile.getAccessKey().get(), importProfile.getAccessKey().get()); + assertEquals(exportProfile.getSecretKey().get(), importProfile.getSecretKey().get()); + assertEquals(exportProfile.getSessionToken().get(), importProfile.getSessionToken().get()); + assertEquals(exportProfile.isEnabled(), importProfile.isEnabled()); + assertEquals(exportProfile.isInScopeOnly(), importProfile.isInScopeOnly()); + assertEquals(exportProfile.getKeyId().get(), importProfile.getKeyId().get()); + assertEquals(exportProfile.getRegion().get(), importProfile.getRegion().get()); + assertEquals(exportProfile.getService().get(), importProfile.getService().get()); + } + + @Test + public void testCommandProfile() throws Exception { + List<Profile> exportProfiles = new ArrayList<>(); + + CommandProfile exportProfile = new CommandProfile("name"); + exportProfile.setCommand("/opt/bin/awscreds-custom --username will"); + + exportProfiles.add(exportProfile); + + exporter.exportProfiles(exportProfiles); + + FileProfileImporter importer = new FileProfileImporter(tempFile); + List<Profile> importProfiles = importer.importProfiles(); + + assertEquals(exportProfiles.size(), importProfiles.size()); + + CommandProfile importProfile = (CommandProfile) importProfiles.get(0); + assertEquals(exportProfile.getName(), importProfile.getName()); + assertEquals(exportProfile.getCommand().get(), importProfile.getCommand().get()); + } + + @Test + public void testCommandProfileWithAllFields() throws Exception { + List<Profile> exportProfiles = new ArrayList<>(); + + CommandProfile exportProfile = new CommandProfile("name"); + exportProfile.setCommand("/opt/bin/awscreds-custom --username will"); + exportProfile.setDurationSeconds(10); + exportProfile.setEnabled(false); + exportProfile.setInScopeOnly(true); + exportProfile.setKeyId("AKIAIOSFODNN8EXAMPLE"); + exportProfile.setRegion("us-west-2"); + exportProfile.setService("some-service"); + + exportProfiles.add(exportProfile); + + exporter.exportProfiles(exportProfiles); + + FileProfileImporter importer = new FileProfileImporter(tempFile); + List<Profile> importProfiles = importer.importProfiles(); + + assertEquals(exportProfiles.size(), importProfiles.size()); + + CommandProfile importProfile = (CommandProfile) importProfiles.get(0); + assertEquals(exportProfile.getName(), importProfile.getName()); + assertEquals(exportProfile.getCommand().get(), importProfile.getCommand().get()); + assertEquals(exportProfile.getDurationSeconds().get(), importProfile.getDurationSeconds().get()); + assertEquals(exportProfile.isEnabled(), importProfile.isEnabled()); + assertEquals(exportProfile.isInScopeOnly(), importProfile.isInScopeOnly()); + assertEquals(exportProfile.getKeyId().get(), importProfile.getKeyId().get()); + assertEquals(exportProfile.getRegion().get(), importProfile.getRegion().get()); + assertEquals(exportProfile.getService().get(), importProfile.getService().get()); + } + + @Test + public void testAssumeProfile() throws Exception { + List<Profile> exportProfiles = new ArrayList<>(); + + StaticCredentialsProfile exportProfile1 = new StaticCredentialsProfile("name"); + exportProfile1.setAccessKey("AKIAIOSFODNN7EXAMPLE"); + exportProfile1.setSecretKey("AAalrXUtnFEMI/K7MDENG/bPxRfiCYEXAMPLEKEY"); + + exportProfiles.add(exportProfile1); + + AssumeRoleProfile exportProfile2 = new AssumeRoleProfile("name2"); + exportProfile2.setAssumerProfile(exportProfile1); + exportProfile2.setRoleArn("arn:aws:iam::123456789012:role/testrole"); + + exportProfiles.add(exportProfile2); + + exporter.exportProfiles(exportProfiles); + + FileProfileImporter importer = new FileProfileImporter(tempFile); + List<Profile> importProfiles = importer.importProfiles(); + + assertEquals(exportProfiles.size(), importProfiles.size()); + + StaticCredentialsProfile importProfile1 = (StaticCredentialsProfile) importProfiles.get(0); + assertEquals(exportProfile1.getName(), importProfile1.getName()); + assertEquals(exportProfile1.getAccessKey().get(), importProfile1.getAccessKey().get()); + assertEquals(exportProfile1.getSecretKey().get(), importProfile1.getSecretKey().get()); + + AssumeRoleProfile importProfile2 = (AssumeRoleProfile) importProfiles.get(1); + assertEquals(exportProfile2.getName(), importProfile2.getName()); + assertEquals(exportProfile2.getAssumerProfile().get(), importProfile2.getAssumerProfile().get()); + assertEquals(exportProfile2.getRoleArn().get(), importProfile2.getRoleArn().get()); + } + + @Test + public void testAssumeProfileWithSessionPolicyWithLineBreaks() throws Exception { + List<Profile> exportProfiles = new ArrayList<>(); + + StaticCredentialsProfile exportProfile1 = new StaticCredentialsProfile("name"); + exportProfile1.setAccessKey("AKIAIOSFODNN7EXAMPLE"); + exportProfile1.setSecretKey("AAalrXUtnFEMI/K7MDENG/bPxRfiCYEXAMPLEKEY"); + + exportProfiles.add(exportProfile1); + + AssumeRoleProfile exportProfile2 = new AssumeRoleProfile("name2"); + exportProfile2.setAssumerProfile(exportProfile1); + exportProfile2.setRoleArn("arn:aws:iam::123456789012:role/testrole"); + + //Set some complex session policy + String sessionPolicy = "{ \"Version\": \"2012-10-17\", \"Statement\": [ { \"Sid\": \"AllowListingOfUserFolder\", \"Action\": [ \"s3:ListBucket\" ], \"Effect\": \"Allow\", \"Resource\": [ \"arn:aws:s3:::${transfer:HomeBucket}\" ], \"Condition\": { \"StringLike\": { \"s3:prefix\": [ \"${transfer:HomeFolder}/*\", \"${transfer:HomeFolder}\" ] } } }, { \"Sid\": \"HomeDirObjectAccess\", \"Effect\": \"Allow\", \"Action\": [ \"s3:PutObject\", \"s3:GetObject\", \"s3:DeleteObject\", \"s3:DeleteObjectVersion\", \"s3:GetObjectVersion\", \"s3:GetObjectACL\", \"s3:PutObjectACL\" ], \"Resource\": \"arn:aws:s3:::${transfer:HomeDirectory}*\" } ]} "; + //Parse the session policy text into JSON + JsonObject json = JsonParser.parseString(sessionPolicy).getAsJsonObject(); + //Back to a string with pretty-printing + String prettyJson = new GsonBuilder().setPrettyPrinting().create().toJson(json); + exportProfile2.setSessionPolicy(prettyJson); + + exportProfiles.add(exportProfile2); + + exporter.exportProfiles(exportProfiles); + + FileProfileImporter importer = new FileProfileImporter(tempFile); + List<Profile> importProfiles = importer.importProfiles(); + + assertEquals(exportProfiles.size(), importProfiles.size()); + + StaticCredentialsProfile importProfile1 = (StaticCredentialsProfile) importProfiles.get(0); + assertEquals(exportProfile1.getName(), importProfile1.getName()); + assertEquals(exportProfile1.getAccessKey().get(), importProfile1.getAccessKey().get()); + assertEquals(exportProfile1.getSecretKey().get(), importProfile1.getSecretKey().get()); + + AssumeRoleProfile importProfile2 = (AssumeRoleProfile) importProfiles.get(1); + assertEquals(exportProfile2.getName(), importProfile2.getName()); + assertEquals(exportProfile2.getAssumerProfile().get(), importProfile2.getAssumerProfile().get()); + assertEquals(exportProfile2.getRoleArn().get(), importProfile2.getRoleArn().get()); + + //Is the session policy stil the same (ignoring whitespace)? + assertEquals(sessionPolicy.replaceAll("\\s+", " ").trim(), importProfile2.getSessionPolicy().get().replaceAll("\\s+", " ").trim()); + } + + @Test + public void testAssumeProfileWithAllFields() throws Exception { + List<Profile> exportProfiles = new ArrayList<>(); + + StaticCredentialsProfile exportProfile1 = new StaticCredentialsProfile("name"); + exportProfile1.setAccessKey("AKIAIOSFODNN7EXAMPLE"); + exportProfile1.setSecretKey("AAalrXUtnFEMI/K7MDENG/bPxRfiCYEXAMPLEKEY"); + + exportProfiles.add(exportProfile1); + + AssumeRoleProfile exportProfile2 = new AssumeRoleProfile("name2"); + exportProfile2.setAssumerProfile(exportProfile1); + exportProfile2.setRoleArn("arn:aws:iam::123456789012:role/testrole"); + exportProfile2.setExternalId("some_ext_id"); + exportProfile2.setSessionName("my_session_name"); + exportProfile2.setSessionPolicy("{ \"Version\": \"2012-10-17\", \"Statement\": [ { \"Sid\": \"AllowListingOfUserFolder\", \"Action\": [ \"s3:ListBucket\" ], \"Effect\": \"Allow\", \"Resource\": [ \"arn:aws:s3:::${transfer:HomeBucket}\" ], \"Condition\": { \"StringLike\": { \"s3:prefix\": [ \"${transfer:HomeFolder}/*\", \"${transfer:HomeFolder}\" ] } } }, { \"Sid\": \"HomeDirObjectAccess\", \"Effect\": \"Allow\", \"Action\": [ \"s3:PutObject\", \"s3:GetObject\", \"s3:DeleteObject\", \"s3:DeleteObjectVersion\", \"s3:GetObjectVersion\", \"s3:GetObjectACL\", \"s3:PutObjectACL\" ], \"Resource\": \"arn:aws:s3:::${transfer:HomeDirectory}*\" } ]} "); + exportProfile2.setDurationSeconds(10); + exportProfile2.setEnabled(false); + exportProfile2.setInScopeOnly(true); + exportProfile2.setKeyId("AKIAIOSFODNN8EXAMPLE"); + exportProfile2.setRegion("us-west-2"); + exportProfile2.setService("some-service"); + + exportProfiles.add(exportProfile2); + + exporter.exportProfiles(exportProfiles); + + FileProfileImporter importer = new FileProfileImporter(tempFile); + List<Profile> importProfiles = importer.importProfiles(); + + assertEquals(exportProfiles.size(), importProfiles.size()); + + StaticCredentialsProfile importProfile1 = (StaticCredentialsProfile) importProfiles.get(0); + assertEquals(exportProfile1.getName(), importProfile1.getName()); + assertEquals(exportProfile1.getAccessKey().get(), importProfile1.getAccessKey().get()); + assertEquals(exportProfile1.getSecretKey().get(), importProfile1.getSecretKey().get()); + + AssumeRoleProfile importProfile2 = (AssumeRoleProfile) importProfiles.get(1); + assertEquals(exportProfile2.getName(), importProfile2.getName()); + assertEquals(exportProfile2.getAssumerProfile().get(), importProfile2.getAssumerProfile().get()); + assertEquals(exportProfile2.getRoleArn().get(), importProfile2.getRoleArn().get()); + assertEquals(exportProfile2.getDurationSeconds().get(), importProfile2.getDurationSeconds().get()); + assertEquals(exportProfile2.getExternalId().get(), importProfile2.getExternalId().get()); + assertEquals(exportProfile2.getSessionName().get(), importProfile2.getSessionName().get()); + assertEquals(exportProfile2.getSessionPolicy().get().replaceAll("\\s+", " ").trim(), importProfile2.getSessionPolicy().get().replaceAll("\\s+", " ").trim()); + assertEquals(exportProfile2.isEnabled(), importProfile2.isEnabled()); + assertEquals(exportProfile2.isInScopeOnly(), importProfile2.isInScopeOnly()); + assertEquals(exportProfile2.getKeyId().get(), importProfile2.getKeyId().get()); + assertEquals(exportProfile2.getRegion().get(), importProfile2.getRegion().get()); + assertEquals(exportProfile2.getService().get(), importProfile2.getService().get()); + } + +} diff --git a/src/test/resources/CredentialsParserInputs/assume-role_output.txt b/src/test/resources/CredentialsParserInputs/assume-role_output.txt new file mode 100644 index 0000000..9c0eac1 --- /dev/null +++ b/src/test/resources/CredentialsParserInputs/assume-role_output.txt @@ -0,0 +1,12 @@ +{ + "AssumedRoleUser": { + "AssumedRoleId": "AROA3XFRBF535PLBIFPI6:s3-access-example", + "Arn": "arn:aws:sts::123456789012:assumed-role/xaccounts3access/s3-access-example" + }, + "Credentials": { + "SecretAccessKey": "FTNBND5Q6mEXAMPLEe27V0Pce/03EShqVZTTsLzF", + "SessionToken": "AQoXdzELDDY//////////wEaoAK1wvxJY12r2IrDFT2IvAzTCn3zHoZ7YNtpiQLF0MqZye/qwjzP2iEXAMPLEbw/m3hsj8VBTkPORGvr9jM5sgP+w9IZWZnU+LWhmg+a5fDi2oTGUYcdg9uexQ4mtCHIHfi4citgqZTgco40Yqr4lIlo4V2b2Dyauk0eYFNebHtYlFVgAUj+7Indz3LU0aTWk1WKIjHmmMCIoTkyYp/k7kUG7moeEYKSitwQIi6Gjn+nyzM+PtoA3685ixzv0R7i5rjQi0YE0lf1oeie3bDiNHncmzosRM6SFiPzSvp6h/32xQuZsjcypmwsPSDtTPYcs0+YN/8BRi2/IcrxSpnWEXAMPLEXSDFTAQAM6Dl9zR0tXoybnlrZIwMLlMi1Kcgo5OytwU=", + "Expiration": "2016-03-15T00:05:07Z", + "AccessKeyId": "ASIAJEXAMPLEXEG2JICA" + } +} \ No newline at end of file diff --git a/src/test/resources/CredentialsParserInputs/assume-role_output_oneline.txt b/src/test/resources/CredentialsParserInputs/assume-role_output_oneline.txt new file mode 100644 index 0000000..f8e06aa --- /dev/null +++ b/src/test/resources/CredentialsParserInputs/assume-role_output_oneline.txt @@ -0,0 +1 @@ +{"AssumedRoleUser":{"AssumedRoleId": "AROA3XFRBF535PLBIFPI4:s3-access-example","Arn": "arn:aws:sts::123456789012:assumed-role/xaccounts3access/s3-access-example"},"Credentials": {"SecretAccessKey": "FTNBND5Q6mEXAMPLEe27V0Pce/03EShqVZTTsLzF","SessionToken": "AQoXdzELDDY//////////wEaoAK1wvxJY12r2IrDFT2IvAzTCn3zHoZ7YNtpiQLF0MqZye/qwjzP2iEXAMPLEbw/m3hsj8VBTkPORGvr9jM5sgP+w9IZWZnU+LWhmg+a5fDi2oTGUYcdg9uexQ4mtCHIHfi4citgqZTgco40Yqr4lIlo4V2b2Dyauk0eYFNebHtYlFVgAUj+7Indz3LU0aTWk1WKIjHmmMCIoTkyYp/k7kUG7moeEYKSitwQIi6Gjn+nyzM+PtoA3685ixzv0R7i5rjQi0YE0lf1oeie3bDiNHncmzosRM6SFiPzSvp6h/32xQuZsjcypmwsPSDtTPYcs0+YN/8BRi2/IcrxSpnWEXAMPLEXSDFTAQAM6Dl9zR0tXoybnlrZIwMLlMi1Kcgo5OytwU=","Expiration": "2016-03-15T00:05:07Z","AccessKeyId": "ASIAJEXAMPLEXEG2JICA"}} \ No newline at end of file diff --git a/src/test/resources/CredentialsParserInputs/assume-role_output_xml.txt b/src/test/resources/CredentialsParserInputs/assume-role_output_xml.txt new file mode 100644 index 0000000..bce1b13 --- /dev/null +++ b/src/test/resources/CredentialsParserInputs/assume-role_output_xml.txt @@ -0,0 +1,23 @@ +<AssumeRoleResponse xmlns="https://sts.amazonaws.com/doc/2011-06-15/"> +<AssumeRoleResult> +<SourceIdentity>DevUser123</SourceIdentity> +<Credentials> + <SessionToken> + AQoDYXdzEPT//////////wEXAMPLEtc764bNrC9SAPBSM22wDOk4x4HIZ8j4FZTwdQWLWsKWHGBuFqwAeMicRXmxfpSPfIeoIYRqTflfKD8YUuwthAx7mSEI/qkPpKPi/kMcGdQrmGdeehM4IC1NtBmUpp2wUE8phUZampKsburEDy0KPkyQDYwT7WZ0wq5VSXDvp75YU9HFvlRd8Tx6q6fE8YQcHNVXAkiY9q6d+xo0rKwT38xVqr7ZD0u0iPPkUL64lIZbqBAz+scqKmlzm8FDrypNC9Yjc8fPOLn9FX9KSYvKTr4rvx3iSIlTJabIQwj2ICCR/oLxBA== + </SessionToken> + <SecretAccessKey> + DcCc9H6oCkGUEXAMPLEx8NIfVG8kO2T/3jORxuZY + </SecretAccessKey> + <Expiration>2019-07-15T23:28:33.359Z</Expiration> + <AccessKeyId>AKIAIOSFODNN7EXAMPLE</AccessKeyId> +</Credentials> +<AssumedRoleUser> + <Arn>arn:aws:sts::123456789012:assumed-role/demo/John</Arn> + <AssumedRoleId>ARO123EXAMPLE123:John</AssumedRoleId> +</AssumedRoleUser> +<PackedPolicySize>8</PackedPolicySize> +</AssumeRoleResult> +<ResponseMetadata> +<RequestId>c6104cbe-af31-11e0-8154-cbc7ccf896c7</RequestId> +</ResponseMetadata> +</AssumeRoleResponse> \ No newline at end of file diff --git a/src/test/resources/CredentialsParserInputs/assume-role_output_xml_oneline.txt b/src/test/resources/CredentialsParserInputs/assume-role_output_xml_oneline.txt new file mode 100644 index 0000000..bcff928 --- /dev/null +++ b/src/test/resources/CredentialsParserInputs/assume-role_output_xml_oneline.txt @@ -0,0 +1 @@ +<AssumeRoleResponse xmlns="https://sts.amazonaws.com/doc/2011-06-15/"><AssumeRoleResult><SourceIdentity>DevUser123</SourceIdentity><Credentials><SessionToken>AQoDYXdzEPT//////////wEXAMPLEtc764bNrC9SAPBSM22wDOk4x4HIZ8j4FZTwdQWLWsKWHGBuFqwAeMicRXmxfpSPfIeoIYRqTflfKD8YUuwthAx7mSEI/qkPpKPi/kMcGdQrmGdeehM4IC1NtBmUpp2wUE8phUZampKsburEDy0KPkyQDYwT7WZ0wq5VSXDvp75YU9HFvlRd8Tx6q6fE8YQcHNVXAkiY9q6d+xo0rKwT38xVqr7ZD0u0iPPkUL64lIZbqBAz+scqKmlzm8FDrypNC9Yjc8fPOLn9FX9KSYvKTr4rvx3iSIlTJabIQwj2ICCR/oLxBA==</SessionToken><SecretAccessKey>DcCc9H6oCkGUEXAMPLEx8NIfVG8kO2T/3jORxuZY</SecretAccessKey><Expiration>2019-07-15T23:28:33.359Z</Expiration><AccessKeyId>AKIAIOSFODNN7EXAMPLE</AccessKeyId></Credentials><AssumedRoleUser><Arn>arn:aws:sts::123456789012:assumed-role/demo/John</Arn><AssumedRoleId>ARO123EXAMPLE123:John</AssumedRoleId></AssumedRoleUser><PackedPolicySize>8</PackedPolicySize></AssumeRoleResult><ResponseMetadata><RequestId>c6104cbe-af31-11e0-8154-cbc7ccf896c7</RequestId></ResponseMetadata></AssumeRoleResponse> \ No newline at end of file diff --git a/src/test/resources/CredentialsParserInputs/cli_configure_example.txt b/src/test/resources/CredentialsParserInputs/cli_configure_example.txt new file mode 100644 index 0000000..5e43229 --- /dev/null +++ b/src/test/resources/CredentialsParserInputs/cli_configure_example.txt @@ -0,0 +1,5 @@ +$ aws configure +AWS Access Key ID [None]: AKIAIOSFODNN7EXAMPLE +AWS Secret Access Key [None]: wJalrXUtnFEMI/K7MDENG/bPxRfiCYEXAMPLEKEY +Default region name [None]: us-west-2 +Default output format [None]: json diff --git a/src/test/resources/CredentialsParserInputs/environment_variables.txt b/src/test/resources/CredentialsParserInputs/environment_variables.txt new file mode 100644 index 0000000..15e731b --- /dev/null +++ b/src/test/resources/CredentialsParserInputs/environment_variables.txt @@ -0,0 +1,4 @@ +export AWS_ACCESS_KEY_ID=AKIAIOSFODNN7EXAMPLE +export AWS_SECRET_ACCESS_KEY=wJalrXUtnFEMI/K7MDENG/bPxRfiCYEXAMPLEKEY +export AWS_SESSION_TOKEN=AQoEXAMPLEH4aoAH0gNCAPyJxz4BlCFFxWNE1OPTgk5TthT+FvwqnKwRcOIfrRh3c/LTo6UDdyJwOOvEVPvLXCrrrUtdnniCEXAMPLE/IvU1dYUg2RVAJBanLiHb4IgRmpRV3zrkuWJOgQs8IZZaIv2BXIa2R4OlgkBN9bkUDNCJiBeb/AXlzBBko7b15fjrBs2+cTQtpZ3CYWFXG8C5zqx37wnOE49mRl/+OtkIKGO7fAE +export AWS_DEFAULT_REGION=us-west-2 \ No newline at end of file diff --git a/src/test/resources/CredentialsParserInputs/external_command_example.txt b/src/test/resources/CredentialsParserInputs/external_command_example.txt new file mode 100644 index 0000000..679ae41 --- /dev/null +++ b/src/test/resources/CredentialsParserInputs/external_command_example.txt @@ -0,0 +1,7 @@ +{ + "Version": 1, + "AccessKeyId": "AKIAIOSFODNN7EXAMPLE", + "SecretAccessKey": "wJalrXUtnFEMI/K7MDENG/bPxRfiCYEXAMPLEKEY", + "SessionToken": "AQoEXAMPLEH4aoAH0gNCAPyJxz4BlCFFxWNE1OPTgk5TthT+FvwqnKwRcOIfrRh3c/LTo6UDdyJwOOvEVPvLXCrrrUtdnniCEXAMPLE/IvU1dYUg2RVAJBanLiHb4IgRmpRV3zrkuWJOgQs8IZZaIv2BXIa2R4Olgk", + "Expiration": "ISO8601 timestamp when the credentials expire" +} diff --git a/src/test/resources/CredentialsParserInputs/get-session-token_output.txt b/src/test/resources/CredentialsParserInputs/get-session-token_output.txt new file mode 100644 index 0000000..132fb61 --- /dev/null +++ b/src/test/resources/CredentialsParserInputs/get-session-token_output.txt @@ -0,0 +1,8 @@ +{ + "Credentials": { + "AccessKeyId": "AKIAIOSFODNN7EXAMPLE", + "SecretAccessKey": "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", + "SessionToken": "AQoEXAMPLEH4aoAH0gNCAPyJxz4BlCFFxWNE1OPTgk5TthT+FvwqnKwRcOIfrRh3c/LTo6UDdyJwOOvEVPvLXCrrrUtdnniCEXAMPLE/IvU1dYUg2RVAJBanLiHb4IgRmpRV3zrkuWJOgQs8IZZaIv2BXIa2R4OlgkBN9bkUDNCJiBeb/AXlzBBko7b15fjrBs2+cTQtpZ3CYWFXG8C5zqx37wnOE49mRl/+OtkIKGO7fAE", + "Expiration": "2020-05-19T18:06:10+00:00" + } +} \ No newline at end of file diff --git a/src/test/resources/CredentialsParserInputs/settings_text.txt b/src/test/resources/CredentialsParserInputs/settings_text.txt new file mode 100644 index 0000000..895ad3b --- /dev/null +++ b/src/test/resources/CredentialsParserInputs/settings_text.txt @@ -0,0 +1,25 @@ +Global settings +aws_access_key_id +Specifies the AWS access key used as part of the credentials to authenticate the command request. Although this can be stored in the config file, we recommend that you store this in the credentials file. + +Can be overridden by the AWS_ACCESS_KEY_ID environment variable. You can't specify the access key ID as a command line option. + +aws_access_key_id = AKIAIOSFODNN7EXAMPLE +aws_secret_access_key +Specifies the AWS secret key used as part of the credentials to authenticate the command request. Although this can be stored in the config file, we recommend that you store this in the credentials file. + +Can be overridden by the AWS_SECRET_ACCESS_KEY environment variable. You can't specify the secret access key as a command line option. + +aws_secret_access_key = wJalrXUtnFEMI/K7MDENG/bPxRfiCYEXAMPLEKEY +aws_session_token +Specifies an AWS session token. A session token is required only if you manually specify temporary security credentials. Although this can be stored in the config file, we recommend that you store this in the credentials file. + +Can be overridden by the AWS_SESSION_TOKEN environment variable. You can't specify the session token as a command line option. + +aws_session_token = AQoEXAMPLEH4aoAH0gNCAPyJxz4BlCFFxWNE1OPTgk5TthT+FvwqnKwRcOIfrRh3c/LTo6UDdyJwOOvEVPvLXCrrrUtdnniCEXAMPLE/IvU1dYUg2RVAJBanLiHb4IgRmpRV3zrkuWJOgQs8IZZaIv2BXIa2R4Olgk +ca_bundle +Specifies a CA certificate bundle (a file with the .pem extension) that is used to verify SSL certificates. + +Can be overridden by the AWS_CA_Bundle environment variable or the --ca-bundle command line option. + +ca_bundle = dev/apps/ca-certs/cabundle-2019mar05.pem \ No newline at end of file diff --git a/src/test/resources/CredentialsParserInputs/single_simple_profile_test.txt b/src/test/resources/CredentialsParserInputs/single_simple_profile_test.txt new file mode 100644 index 0000000..eaf069e --- /dev/null +++ b/src/test/resources/CredentialsParserInputs/single_simple_profile_test.txt @@ -0,0 +1,3 @@ +[default] +aws_access_key_id=AKIAIOSFODNN7EXAMPLE +aws_secret_access_key=wJalrXUtnFEMI/K7MDENG/bPxRfiCYEXAMPLEKEY \ No newline at end of file diff --git a/src/test/resources/CredentialsParserInputs/single_simple_profile_test_with_session.txt b/src/test/resources/CredentialsParserInputs/single_simple_profile_test_with_session.txt new file mode 100644 index 0000000..82d6dfc --- /dev/null +++ b/src/test/resources/CredentialsParserInputs/single_simple_profile_test_with_session.txt @@ -0,0 +1,4 @@ +[default] +aws_access_key_id=AKIAIOSFODNN7EXAMPLE +aws_secret_access_key=wJalrXUtnFEMI/K7MDENG/bPxRfiCYEXAMPLEKEY +aws_session_token = AQoEXAMPLEH4aoAH0gNCAPyJxz4BlCFFxWNE1OPTgk5TthT+FvwqnKwRcOIfrRh3c/LTo6UDdyJwOOvEVPvLXCrrrUtdnniCEXAMPLE/IvU1dYUg2RVAJBanLiHb4IgRmpRV3zrkuWJOgQs8IZZaIv2BXIa2R4Olgk \ No newline at end of file diff --git a/src/test/resources/FileProfileImportInputs/assume_role_profile_test.txt b/src/test/resources/FileProfileImportInputs/assume_role_profile_test.txt new file mode 100644 index 0000000..8606540 --- /dev/null +++ b/src/test/resources/FileProfileImportInputs/assume_role_profile_test.txt @@ -0,0 +1,10 @@ +[profile user1] +aws_access_key_id=AKIAIOSFODNN7EXAMPLE +aws_secret_access_key=wJalrXUtnFEMI/K7MDENG/bPxRfiCYEXAMPLEKEY + +[profile marketingadmin] +role_arn = arn:aws:iam::123456789012:role/marketingadminrole +source_profile = user1 +duration_seconds = 3600 +external_id = 123456 +role_session_name = Session_Maria_Garcia \ No newline at end of file diff --git a/src/test/resources/FileProfileImportInputs/external_command_profile_no_duration.txt b/src/test/resources/FileProfileImportInputs/external_command_profile_no_duration.txt new file mode 100644 index 0000000..76e74f6 --- /dev/null +++ b/src/test/resources/FileProfileImportInputs/external_command_profile_no_duration.txt @@ -0,0 +1,2 @@ +[profile developer] +credential_process = /opt/bin/awscreds-custom --username helen \ No newline at end of file diff --git a/src/test/resources/FileProfileImportInputs/external_command_profile_test.txt b/src/test/resources/FileProfileImportInputs/external_command_profile_test.txt new file mode 100644 index 0000000..7698945 --- /dev/null +++ b/src/test/resources/FileProfileImportInputs/external_command_profile_test.txt @@ -0,0 +1,3 @@ +[profile developer] +credential_process = /opt/bin/awscreds-custom --username helen +duration_seconds = 3600 \ No newline at end of file diff --git a/src/test/resources/FileProfileImportInputs/multiple_profile_test.txt b/src/test/resources/FileProfileImportInputs/multiple_profile_test.txt new file mode 100644 index 0000000..d3e1143 --- /dev/null +++ b/src/test/resources/FileProfileImportInputs/multiple_profile_test.txt @@ -0,0 +1,7 @@ +[profile1] +aws_access_key_id=AKIAIOSFODAA7EXAMPLE +aws_secret_access_key=AAalrXUtnFEMI/K7MDENG/bPxRfiCYEXAMPLEKEY + +[profile2] +aws_access_key_id=AKIAIOSFODBB7EXAMPLE +aws_secret_access_key=BBalrXUtnFEMI/K7MDENG/bPxRfiCYEXAMPLEKEY \ No newline at end of file diff --git a/src/test/resources/FileProfileImportInputs/nested_assume_role_profile_test.txt b/src/test/resources/FileProfileImportInputs/nested_assume_role_profile_test.txt new file mode 100644 index 0000000..b63634d --- /dev/null +++ b/src/test/resources/FileProfileImportInputs/nested_assume_role_profile_test.txt @@ -0,0 +1,24 @@ +[profile assume3] +role_arn = arn:aws:iam::123456789012:role/marketingadminrole +source_profile = assume2 +duration_seconds = 3600 +external_id = 123456 +role_session_name = Session_Maria_Garcia + +[profile assume2] +role_arn = arn:aws:iam::123456789012:role/marketingadminrole +source_profile = assume1 +duration_seconds = 3600 +external_id = 123456 +role_session_name = Session_Maria_Garcia + +[profile assume1] +role_arn = arn:aws:iam::123456789012:role/marketingadminrole +source_profile = static +duration_seconds = 3600 +external_id = 123456 +role_session_name = Session_Maria_Garcia + +[profile static] +aws_access_key_id=AKIAIOSFODNN7EXAMPLE +aws_secret_access_key=wJalrXUtnFEMI/K7MDENG/bPxRfiCYEXAMPLEKEY \ No newline at end of file diff --git a/src/test/resources/FileProfileImportInputs/single_simple_profile_test.txt b/src/test/resources/FileProfileImportInputs/single_simple_profile_test.txt new file mode 100644 index 0000000..eaf069e --- /dev/null +++ b/src/test/resources/FileProfileImportInputs/single_simple_profile_test.txt @@ -0,0 +1,3 @@ +[default] +aws_access_key_id=AKIAIOSFODNN7EXAMPLE +aws_secret_access_key=wJalrXUtnFEMI/K7MDENG/bPxRfiCYEXAMPLEKEY \ No newline at end of file diff --git a/src/test/resources/FileProfileImportInputs/single_simple_profile_test_mixed_case.txt b/src/test/resources/FileProfileImportInputs/single_simple_profile_test_mixed_case.txt new file mode 100644 index 0000000..c47c581 --- /dev/null +++ b/src/test/resources/FileProfileImportInputs/single_simple_profile_test_mixed_case.txt @@ -0,0 +1,3 @@ +[default] +AWS_access_key_id=AKIAIOSFODNN7EXAMPLE +aws_SECRET_access_key=wJalrXUtnFEMI/K7MDENG/bPxRfiCYEXAMPLEKEY \ No newline at end of file diff --git a/src/test/resources/FileProfileImportInputs/single_simple_profile_test_profile_name.txt b/src/test/resources/FileProfileImportInputs/single_simple_profile_test_profile_name.txt new file mode 100644 index 0000000..3e24ebd --- /dev/null +++ b/src/test/resources/FileProfileImportInputs/single_simple_profile_test_profile_name.txt @@ -0,0 +1,3 @@ +[profile my-profile] +aws_access_key_id=AKIAIOSFODNN7EXAMPLE +aws_secret_access_key=wJalrXUtnFEMI/K7MDENG/bPxRfiCYEXAMPLEKEY \ No newline at end of file diff --git a/src/test/resources/FileProfileImportInputs/single_simple_profile_test_with_config.txt b/src/test/resources/FileProfileImportInputs/single_simple_profile_test_with_config.txt new file mode 100644 index 0000000..57c493d --- /dev/null +++ b/src/test/resources/FileProfileImportInputs/single_simple_profile_test_with_config.txt @@ -0,0 +1,5 @@ +[default] +aws_access_key_id=AKIAIOSFODNN7EXAMPLE +aws_secret_access_key=wJalrXUtnFEMI/K7MDENG/bPxRfiCYEXAMPLEKEY +region=us-west-2 +output=json \ No newline at end of file diff --git a/src/test/resources/FileProfileImportInputs/single_simple_profile_test_with_ignored_extras.txt b/src/test/resources/FileProfileImportInputs/single_simple_profile_test_with_ignored_extras.txt new file mode 100644 index 0000000..93be90e --- /dev/null +++ b/src/test/resources/FileProfileImportInputs/single_simple_profile_test_with_ignored_extras.txt @@ -0,0 +1,6 @@ +[default] +aws_access_key_id=AKIAIOSFODNN7EXAMPLE +aws_secret_access_key=wJalrXUtnFEMI/K7MDENG/bPxRfiCYEXAMPLEKEY +ca_bundle = dev/apps/ca-certs/cabundle-2019mar05.pem +cli_auto_prompt = on-partial +cli_binary_format = raw-in-base64-out \ No newline at end of file diff --git a/src/test/resources/FileProfileImportInputs/single_simple_profile_test_with_session.txt b/src/test/resources/FileProfileImportInputs/single_simple_profile_test_with_session.txt new file mode 100644 index 0000000..82d6dfc --- /dev/null +++ b/src/test/resources/FileProfileImportInputs/single_simple_profile_test_with_session.txt @@ -0,0 +1,4 @@ +[default] +aws_access_key_id=AKIAIOSFODNN7EXAMPLE +aws_secret_access_key=wJalrXUtnFEMI/K7MDENG/bPxRfiCYEXAMPLEKEY +aws_session_token = AQoEXAMPLEH4aoAH0gNCAPyJxz4BlCFFxWNE1OPTgk5TthT+FvwqnKwRcOIfrRh3c/LTo6UDdyJwOOvEVPvLXCrrrUtdnniCEXAMPLE/IvU1dYUg2RVAJBanLiHb4IgRmpRV3zrkuWJOgQs8IZZaIv2BXIa2R4Olgk \ No newline at end of file