From 0dc555d5275f35e92b72c24484b8b10fb011b2fd Mon Sep 17 00:00:00 2001 From: Stefano Germano Date: Wed, 14 Oct 2015 16:42:40 +0200 Subject: [PATCH] The agent of 2015 --- INSTALLATION | 123 + LICENSE | 8 + Makefile | 17 + README.md | 6 +- angryhex.sh | 77 + build.xml | 38 + config.properties | 19 + config.properties.tournament | 19 + dev.angryhex.sh | 393 +++ dlv/algorithm-new.dlv | 372 +++ dlv/algorithm-white.dlv | 400 +++ dlv/algorithm.dlv | 211 ++ dlv/asparse.dlv | 1 + dlv/calibrate.dlv | 37 + dlv/strategy.dlv | 35 + framework/Changelist | 37 + framework/LICENSE | 5 + framework/Readme(Server_Client) | 89 + framework/SourceFilesDescription.txt | 32 + framework/doc/ABDoc.pdf | Bin 0 -> 1388546 bytes framework/doc/ServerClientProtocols.pdf | Bin 0 -> 875428 bytes framework/external/jar-in-jar-loader.zip | Bin 0 -> 7269 bytes framework/plugin/jquery-1.7.2.min.js | 4 + framework/plugin/manifest.json | 12 + framework/plugin/script.js | 146 ++ framework/plugin/style.css | 14 + framework/src/ab/demo/ClientNaiveAgent.java | 362 +++ framework/src/ab/demo/LoadLevelAgent.java | 60 + framework/src/ab/demo/MainEntry.java | 144 + framework/src/ab/demo/NaiveAgent.java | 281 ++ framework/src/ab/demo/ShootingAgent.java | 76 + framework/src/ab/demo/abClientExample.cpp | 162 ++ framework/src/ab/demo/abTrajectory.java | 150 ++ framework/src/ab/demo/other/ActionRobot.java | 298 +++ .../src/ab/demo/other/ClientActionRobot.java | 383 +++ .../ab/demo/other/ClientActionRobotJava.java | 149 ++ framework/src/ab/demo/other/Env.java | 72 + .../src/ab/demo/other/LoadLevelSchema.java | 200 ++ .../src/ab/demo/other/RestartLevelSchema.java | 72 + .../src/ab/demo/other/ShootingSchema.java | 120 + framework/src/ab/demo/other/Shot.java | 134 + .../src/ab/planner/TrajectoryPlanner.java | 547 ++++ framework/src/ab/planner/abTrajectory.java | 146 ++ framework/src/ab/server/Proxy.java | 120 + framework/src/ab/server/ProxyMessage.java | 19 + .../proxy/message/ProxyClickMessage.java | 41 + .../proxy/message/ProxyDragMessage.java | 45 + .../proxy/message/ProxyMouseWheelMessage.java | 44 + .../proxy/message/ProxyScreenshotMessage.java | 35 + framework/src/ab/utils/ABUtil.java | 81 + framework/src/ab/utils/GameImageRecorder.java | 241 ++ framework/src/ab/utils/ImageSegFrame.java | 424 +++ framework/src/ab/utils/StateUtil.java | 97 + .../src/ab/utils/VisionPerformanceTest.java | 30 + framework/src/ab/vision/ABObject.java | 66 + framework/src/ab/vision/ABShape.java | 12 + framework/src/ab/vision/ABType.java | 32 + framework/src/ab/vision/BirdType.java | 6 + .../src/ab/vision/GameStateExtractor.java | 347 +++ framework/src/ab/vision/ShowSeg.java | 301 +++ framework/src/ab/vision/TestVision.java | 291 +++ framework/src/ab/vision/Vision.java | 159 ++ framework/src/ab/vision/VisionMBR.java | 1170 +++++++++ framework/src/ab/vision/VisionRealShape.java | 385 +++ framework/src/ab/vision/VisionUtils.java | 618 +++++ .../ab/vision/real/ConnectedComponent.java | 572 ++++ .../src/ab/vision/real/ImageSegmenter.java | 720 +++++ framework/src/ab/vision/real/LineSegment.java | 174 ++ framework/src/ab/vision/real/shape/Body.java | 53 + .../src/ab/vision/real/shape/Circle.java | 90 + framework/src/ab/vision/real/shape/Poly.java | 72 + framework/src/ab/vision/real/shape/Rect.java | 185 ++ .../src/ab/vision/resources/0endScreen.png | Bin 0 -> 1771 bytes .../src/ab/vision/resources/1endScreen.png | Bin 0 -> 1168 bytes .../src/ab/vision/resources/2endScreen.png | Bin 0 -> 1364 bytes .../src/ab/vision/resources/3endScreen.png | Bin 0 -> 1679 bytes .../src/ab/vision/resources/4endScreen.png | Bin 0 -> 1456 bytes .../src/ab/vision/resources/5endScreen.png | Bin 0 -> 1464 bytes .../src/ab/vision/resources/6endScreen.png | Bin 0 -> 1732 bytes .../src/ab/vision/resources/7endScreen.png | Bin 0 -> 1324 bytes .../src/ab/vision/resources/8endScreen.png | Bin 0 -> 1976 bytes .../src/ab/vision/resources/9endScreen.png | Bin 0 -> 1768 bytes .../src/ab/vision/resources/episodemenu.png | Bin 0 -> 3980 bytes .../src/ab/vision/resources/gamelost.png | Bin 0 -> 2585 bytes framework/src/ab/vision/resources/gamewon.png | Bin 0 -> 2778 bytes .../src/ab/vision/resources/gamewon1.png | Bin 0 -> 4793 bytes .../src/ab/vision/resources/gamewon2.png | Bin 0 -> 4834 bytes .../ab/vision/resources/levelselection.png | Bin 0 -> 3615 bytes framework/src/ab/vision/resources/loading.png | Bin 0 -> 3219 bytes .../src/ab/vision/resources/loading2.png | Bin 0 -> 8566 bytes .../src/ab/vision/resources/mainmenu.png | Bin 0 -> 2942 bytes .../src/external/ClientMessageEncoder.java | 152 ++ .../src/external/ClientMessageTable.java | 111 + old.angryhex.sh | 53 + scripts/client.sh | 3 + scripts/initenv.sh | 23 + scripts/install-abirdsplugin.sh | 14 + scripts/install-angryhex.sh | 31 + scripts/install-box2d.sh | 15 + scripts/install-hex.sh | 20 + scripts/install-opencv.sh | 38 + scripts/install-update.sh | 24 + scripts/pkg-agent.sh | 36 + scripts/provide-agent.sh | 11 + scripts/provide-plugin.sh | 9 + scripts/rebuild.sh | 15 + scripts/server.sh | 5 + scripts/update-angryhex-agent.sh | 44 + src/angrybirds-box2dplugin/Makefile | 24 + src/angrybirds-box2dplugin/compile.sh | 12 + src/angrybirds-box2dplugin/config.h | 43 + .../libdlvhexplugin-hexagentplugin.cpp | 2305 +++++++++++++++++ .../libpeerconnection.log | 0 src/angryhexclient/Configuration.java | 157 ++ src/angryhexclient/HexActionRobot.java | 29 + src/angryhexclient/HexAgent.java | 670 +++++ src/angryhexclient/HexMainEntry.java | 72 + src/angryhexclient/Memory.java | 92 + src/angryhexclient/OurVision.java | 1476 +++++++++++ src/angryhexclient/OurVisionFact.java | 151 ++ src/angryhexclient/Reasoner.java | 133 + src/angryhexclient/TargetReasoner.java | 120 + src/angryhexclient/VisionFact.java | 289 +++ .../strategy/BenchmarkStrategy.java | 120 + .../strategy/DeclarativeStrategy.java | 99 + src/angryhexclient/strategy/JavaStrategy.java | 81 + .../strategy/StrategyManager.java | 302 +++ .../strategy/StrategyReasoner.java | 74 + src/angryhexclient/util/DebugUtils.java | 415 +++ src/angryhexclient/util/LogFormatter.java | 48 + .../util/OutConsoleHandler.java | 23 + src/angryhexclient/util/Utils.java | 47 + version_info | 1 + 133 files changed, 19267 insertions(+), 1 deletion(-) create mode 100644 INSTALLATION create mode 100644 LICENSE create mode 100644 Makefile create mode 100644 angryhex.sh create mode 100644 build.xml create mode 100644 config.properties create mode 100644 config.properties.tournament create mode 100644 dev.angryhex.sh create mode 100644 dlv/algorithm-new.dlv create mode 100644 dlv/algorithm-white.dlv create mode 100644 dlv/algorithm.dlv create mode 100644 dlv/asparse.dlv create mode 100644 dlv/calibrate.dlv create mode 100644 dlv/strategy.dlv create mode 100644 framework/Changelist create mode 100644 framework/LICENSE create mode 100644 framework/Readme(Server_Client) create mode 100644 framework/SourceFilesDescription.txt create mode 100644 framework/doc/ABDoc.pdf create mode 100644 framework/doc/ServerClientProtocols.pdf create mode 100644 framework/external/jar-in-jar-loader.zip create mode 100644 framework/plugin/jquery-1.7.2.min.js create mode 100644 framework/plugin/manifest.json create mode 100644 framework/plugin/script.js create mode 100644 framework/plugin/style.css create mode 100644 framework/src/ab/demo/ClientNaiveAgent.java create mode 100644 framework/src/ab/demo/LoadLevelAgent.java create mode 100644 framework/src/ab/demo/MainEntry.java create mode 100644 framework/src/ab/demo/NaiveAgent.java create mode 100644 framework/src/ab/demo/ShootingAgent.java create mode 100644 framework/src/ab/demo/abClientExample.cpp create mode 100644 framework/src/ab/demo/abTrajectory.java create mode 100644 framework/src/ab/demo/other/ActionRobot.java create mode 100644 framework/src/ab/demo/other/ClientActionRobot.java create mode 100644 framework/src/ab/demo/other/ClientActionRobotJava.java create mode 100644 framework/src/ab/demo/other/Env.java create mode 100644 framework/src/ab/demo/other/LoadLevelSchema.java create mode 100644 framework/src/ab/demo/other/RestartLevelSchema.java create mode 100644 framework/src/ab/demo/other/ShootingSchema.java create mode 100644 framework/src/ab/demo/other/Shot.java create mode 100644 framework/src/ab/planner/TrajectoryPlanner.java create mode 100644 framework/src/ab/planner/abTrajectory.java create mode 100644 framework/src/ab/server/Proxy.java create mode 100644 framework/src/ab/server/ProxyMessage.java create mode 100644 framework/src/ab/server/proxy/message/ProxyClickMessage.java create mode 100644 framework/src/ab/server/proxy/message/ProxyDragMessage.java create mode 100644 framework/src/ab/server/proxy/message/ProxyMouseWheelMessage.java create mode 100644 framework/src/ab/server/proxy/message/ProxyScreenshotMessage.java create mode 100644 framework/src/ab/utils/ABUtil.java create mode 100644 framework/src/ab/utils/GameImageRecorder.java create mode 100644 framework/src/ab/utils/ImageSegFrame.java create mode 100644 framework/src/ab/utils/StateUtil.java create mode 100644 framework/src/ab/utils/VisionPerformanceTest.java create mode 100644 framework/src/ab/vision/ABObject.java create mode 100644 framework/src/ab/vision/ABShape.java create mode 100644 framework/src/ab/vision/ABType.java create mode 100644 framework/src/ab/vision/BirdType.java create mode 100644 framework/src/ab/vision/GameStateExtractor.java create mode 100644 framework/src/ab/vision/ShowSeg.java create mode 100644 framework/src/ab/vision/TestVision.java create mode 100644 framework/src/ab/vision/Vision.java create mode 100644 framework/src/ab/vision/VisionMBR.java create mode 100644 framework/src/ab/vision/VisionRealShape.java create mode 100644 framework/src/ab/vision/VisionUtils.java create mode 100644 framework/src/ab/vision/real/ConnectedComponent.java create mode 100644 framework/src/ab/vision/real/ImageSegmenter.java create mode 100644 framework/src/ab/vision/real/LineSegment.java create mode 100644 framework/src/ab/vision/real/shape/Body.java create mode 100644 framework/src/ab/vision/real/shape/Circle.java create mode 100644 framework/src/ab/vision/real/shape/Poly.java create mode 100644 framework/src/ab/vision/real/shape/Rect.java create mode 100644 framework/src/ab/vision/resources/0endScreen.png create mode 100644 framework/src/ab/vision/resources/1endScreen.png create mode 100644 framework/src/ab/vision/resources/2endScreen.png create mode 100644 framework/src/ab/vision/resources/3endScreen.png create mode 100644 framework/src/ab/vision/resources/4endScreen.png create mode 100644 framework/src/ab/vision/resources/5endScreen.png create mode 100644 framework/src/ab/vision/resources/6endScreen.png create mode 100644 framework/src/ab/vision/resources/7endScreen.png create mode 100644 framework/src/ab/vision/resources/8endScreen.png create mode 100644 framework/src/ab/vision/resources/9endScreen.png create mode 100644 framework/src/ab/vision/resources/episodemenu.png create mode 100644 framework/src/ab/vision/resources/gamelost.png create mode 100644 framework/src/ab/vision/resources/gamewon.png create mode 100644 framework/src/ab/vision/resources/gamewon1.png create mode 100644 framework/src/ab/vision/resources/gamewon2.png create mode 100644 framework/src/ab/vision/resources/levelselection.png create mode 100644 framework/src/ab/vision/resources/loading.png create mode 100644 framework/src/ab/vision/resources/loading2.png create mode 100644 framework/src/ab/vision/resources/mainmenu.png create mode 100644 framework/src/external/ClientMessageEncoder.java create mode 100644 framework/src/external/ClientMessageTable.java create mode 100644 old.angryhex.sh create mode 100644 scripts/client.sh create mode 100644 scripts/initenv.sh create mode 100644 scripts/install-abirdsplugin.sh create mode 100644 scripts/install-angryhex.sh create mode 100644 scripts/install-box2d.sh create mode 100644 scripts/install-hex.sh create mode 100644 scripts/install-opencv.sh create mode 100644 scripts/install-update.sh create mode 100644 scripts/pkg-agent.sh create mode 100644 scripts/provide-agent.sh create mode 100644 scripts/provide-plugin.sh create mode 100644 scripts/rebuild.sh create mode 100644 scripts/server.sh create mode 100644 scripts/update-angryhex-agent.sh create mode 100644 src/angrybirds-box2dplugin/Makefile create mode 100644 src/angrybirds-box2dplugin/compile.sh create mode 100644 src/angrybirds-box2dplugin/config.h create mode 100644 src/angrybirds-box2dplugin/libdlvhexplugin-hexagentplugin.cpp create mode 100644 src/angrybirds-box2dplugin/libpeerconnection.log create mode 100644 src/angryhexclient/Configuration.java create mode 100644 src/angryhexclient/HexActionRobot.java create mode 100644 src/angryhexclient/HexAgent.java create mode 100644 src/angryhexclient/HexMainEntry.java create mode 100644 src/angryhexclient/Memory.java create mode 100644 src/angryhexclient/OurVision.java create mode 100644 src/angryhexclient/OurVisionFact.java create mode 100644 src/angryhexclient/Reasoner.java create mode 100644 src/angryhexclient/TargetReasoner.java create mode 100644 src/angryhexclient/VisionFact.java create mode 100644 src/angryhexclient/strategy/BenchmarkStrategy.java create mode 100644 src/angryhexclient/strategy/DeclarativeStrategy.java create mode 100644 src/angryhexclient/strategy/JavaStrategy.java create mode 100644 src/angryhexclient/strategy/StrategyManager.java create mode 100644 src/angryhexclient/strategy/StrategyReasoner.java create mode 100644 src/angryhexclient/util/DebugUtils.java create mode 100644 src/angryhexclient/util/LogFormatter.java create mode 100644 src/angryhexclient/util/OutConsoleHandler.java create mode 100644 src/angryhexclient/util/Utils.java create mode 100644 version_info diff --git a/INSTALLATION b/INSTALLATION new file mode 100644 index 0000000..2de33e0 --- /dev/null +++ b/INSTALLATION @@ -0,0 +1,123 @@ +Installation for Ubuntu 13.04 on a 64-bit machine +------------------------------------------------- + +The included Makefile is intended to work for the latest Ubuntu release (13.04) on a 64-bit machine. + +It provides commands to do a full installation (including the dlvhex solver we rely on) with root privileges: + +make install + +BEFORE issuing: Please check the aptitude install command in file install-hex.sh in order to avoid unintended interference with the exiting machine setup. +Also you might wish to skip install-opencv.sh (but in this case please ensure a compliant path to the java libraries, cf. the end of this file). + +Moreover there are commands that can be used to update our agent software: + +make plugin + +for updating the dlvhex plugin our agent uses. + +make agent + +to install the java agent (without rebuilding class files and Client.jar), + +or + +make rebuild + +to install the java agent rebuilding the class files and Client.jar (using ant). + + +Starting the agent: +------------------- + +For starting the agent please issue + +./client.sh + + +Additional information: +----------------------- + +Find below some further information that may be of use if the installation fails or when installing on a different linux platform. + + +1. Please verify/make sure that the following software packages and libraries are installed: + +autoconf +automake +git-core +cmake +wget +pkg-config +libtool +libcurl4-openssl-dev (libcurl-devel) +libzip-dev(el) +libbz2-dev(el) +libboost-all-dev (boost 1.47) +bmagic (bitmagic) +ant +default-jdk + +on Ubuntu we use: +apt-get install aptitude +aptitude install git-core g++ autoconf automake wget cmake pkg-config libtool libcurl4-openssl-dev libzip-dev libbz2-dev libboost-all-dev bmagic libbox2d-dev libopencv-dev python-opencv + + +2. Install DLV: By copying the appropriate binary (x86-64-linux-elf-static for 64 bit machines) from + +http://www.dlvsystem.com/dlv/#1 + +- to the path (/usr/local/bin), +- making sure that it is executable on the system ("chmod +x" it!), and +- renaming it to `dlv' or creating a corresponding softlink to it. + + +3. Install dlvhex with dlv support: Building the latest version from the github + +github.com/hexhex + +as follows: + + - cd /tmp + - git clone --recursive https://github.com/hexhex/core.git + - cd core + - ./bootstrap.sh + - ./configure + - make + - make install + + +4. Build opencv for java support (if not yet done, otherwise please ensure a compliant path to the java libraries, cf. the end of this file). + + - git clone https://github.com/Itseez/opencv.git + - cd opencv + - git checkout 2.4 + - cmake -DBUILD_SHARED_LIBS=OFF + - make + - make install + + +5. Build Box2D version 2.2.1: + + - wget http://box2d.googlecode.com/files/Box2D_v2.2.1.zip + - unzip Box2D_v2.2.1.zip + - cd Box2D_v2.2.1/Box2D/Build + - cmake -D BOX2D_INSTALL=ON -D BOX2D_BUILD_SHARED=ON -D BOX2D_BUILD_STATIC=OFF .. + - make + - make install + + +6. For installing our agent we use script files (enclosed) that are prepared according to the following assumptions (on paths of the above installations). Please in case let us know any deviations of your installation. + +- python2.7 installed to /usr/lib + (path we use /usr/lib/pymodules/python2.7) +- Box2D installed to /usr + (path we use /usr/lib) +- OpenCV installed to /usr/lib + (paths we use /usr/lib and /usr/local/share/OpenCV/java) +- dlvhex installed to /usr/local + (paths we use /usr/local/include and /usr/local/bin/dlvhex2) +- dlvhex plugin directory exists with write permissions: + /usr/local/lib/dlvhex/plugins + + diff --git a/LICENSE b/LICENSE new file mode 100644 index 0000000..89de80d --- /dev/null +++ b/LICENSE @@ -0,0 +1,8 @@ +Angry-HEX - an artificial player for Angry Birds based on declarative knowledge bases +Copyright (C) 2012-2015 Francesco Calimeri, Michael Fink, Stefano Germano, Andreas Humenberger, Giovambattista Ianni, Christoph Redl, Daria Stepanova, Andrea Tucci, Anton Wimmer. + +This program is free software: you can redistribute it and/or modify it under the terms of the GNU Affero General Public License as published by the Free Software Foundation, either version 3 of the License, or (at your option) any later version. + +This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU Affero General Public License for more details. + +You should have received a copy of the GNU Affero General Public License along with this program. If not, see . diff --git a/Makefile b/Makefile new file mode 100644 index 0000000..654eb87 --- /dev/null +++ b/Makefile @@ -0,0 +1,17 @@ +PYTHONLIBS=/usr/lib/pymodules/python2.7 +OPENCVLIBS=/usr/local/share/OpenCV/java +OPENCVJAR=/usr/local/share/OpenCV/java +BOX2DLIBS=/usr/local/lib + +.PHONY: all java plugin clean + +all: java plugin + +java: + ant -lib framework/external/:${PYTHONLIBS}/:${OPENCVJAR}/opencv-246.jar:${OPENCVLIBS}/:${BOX2DLIBS}/ -f build.xml jar + +plugin: + make -C src/angrybirds-box2dplugin install + +clean: + ant -f build.xml clean diff --git a/README.md b/README.md index b5f53a1..3bc663f 100644 --- a/README.md +++ b/README.md @@ -1,2 +1,6 @@ # Angry-HEX -An artificial player for the popular video game Angry Birds +Angry-HEX is an artificial player for the popular video game Angry Birds; it participated in the 2013, 2014 and 2015 [Angry Birds AI Competition](http://aibirds.org). + +The agent is based on declarative knowledge bases, and features a combination of traditional imperative programming and declarative programming that allows to achieve high flexibility in strategy design and knowledge modelling. In particular, it relies on the use of *Answer Set Programming* (*ASP*) and [*HEX programs*](http://www.kr.tuwien.ac.at/research/systems/dlvhex). + +*Logic programming* is used for decision tasks such as which target to hit at each shot (*tactic gameplay*) or which level to play at each turn, and which way (*strategic gameplay*). diff --git a/angryhex.sh b/angryhex.sh new file mode 100644 index 0000000..7dcb42c --- /dev/null +++ b/angryhex.sh @@ -0,0 +1,77 @@ +#!/bin/bash + +#------------------------------------------------------------------------------- + +SCR_ANGRYHEX=dev.angryhex.sh +ZIP_ANGRYHEX=angryhex.zip +DIR_ANGRYHEX=angryhex +URL_ANGRYHEX=https://www.dropbox.com/s/svg2rofn3m7t03m/angryhex.zip + +#------------------------------------------------------------------------------- + +B=`tput bold` +N=`tput sgr0 tput rmul` +U=`tput smul` + +usage() { + echo + echo "${B}SYNOPSIS${N}" + echo " ${B}./$(basename $0)${N} command [argument]" + echo + echo "${B}COMMANDS${N}" + echo + echo " ${B}install${N} [${U}all${N},dlv,dlvhex,box2d,agent]" + echo + echo " ${B}run${N}" + echo + echo " ${B}update${N}" + echo + + exit $1 +} + +#------------------------------------------------------------------------------- + +downloadAgent() { + rm -rf ${SCR_ANGRYHEX} + rm -rf ${ZIP_ANGRYHEX} + rm -rf ${DIR_ANGRYHEX} + apt-get -y install wget unzip + wget ${URL_ANGRYHEX} -O ${ZIP_ANGRYHEX} + unzip ${ZIP_ANGRYHEX} + chmod +x ${SCR_ANGRYHEX} +} + +ensureAgent() { + if [ ! -e ${SCR_ANGRYHEX} ]; then + downloadAgent + fi +} + +#------------------------------------------------------------------------------- + +CMD=$1 +ARG=$2 + +if [ -z $CMD ]; then + usage 1 +elif [ -z $ARG ]; then + case $CMD in + "install") ARG=all ;; + esac +fi + +case $CMD in + "install") + case $ARG in + "all" | "dlv" | "dlvhex" | "box2d" | "opencv" | "agent") + ensureAgent + ./${SCR_ANGRYHEX} $CMD $ARG + ;; + *) echo "Unknown argument $ARG" && usage 1 + esac + ;; + "update") downloadAgent && ./${SCR_ANGRYHEX} install all ;; + "run") ./${SCR_ANGRYHEX} run client ;; + *) echo "Invalid command: $CMD" && usage 1 +esac diff --git a/build.xml b/build.xml new file mode 100644 index 0000000..e7e8e7c --- /dev/null +++ b/build.xml @@ -0,0 +1,38 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/config.properties b/config.properties new file mode 100644 index 0000000..6b3741e --- /dev/null +++ b/config.properties @@ -0,0 +1,19 @@ +opencvnativepath=/usr/local/share/OpenCV/java/libopencv_java249.so +hexpath=dlvhex2 +usedlv=yes +hexaditionalarguments= +calibrationmode=no +reasoningfilename=algorithm-new.dlv +reasoningWhitefilename=algorithm-white.dlv +speedRatio=1.6 +speedRatio.red=1.9 +speedRatio.yellow=1.4 +speedRatio.blue=1.2 +speedRatio.black=1.35 +speedRatio.white=1.65 +targetyoffset=0.50 +teamID=27008 +tournamentmode=true +debug=true +fastshootthreshold=512 +shotmagnitude=10 diff --git a/config.properties.tournament b/config.properties.tournament new file mode 100644 index 0000000..92acd72 --- /dev/null +++ b/config.properties.tournament @@ -0,0 +1,19 @@ +opencvnativepath=/usr/local/share/OpenCV/java/libopencv_java249.so +hexpath=dlvhex2 +usedlv=yes +hexaditionalarguments= +calibrationmode=no +reasoningfilename=algorithm-new.dlv +reasoningWhitefilename=algorithm-white.dlv +speedRatio=1.6 +speedRatio.red=1.9 +speedRatio.yellow=1.4 +speedRatio.blue=1.2 +speedRatio.black=1.35 +speedRatio.white=1.65 +targetyoffset=0.50 +teamID=27008 +tournamentmode=true +debug=false +fastshootthreshold=512 +shotmagnitude=10 diff --git a/dev.angryhex.sh b/dev.angryhex.sh new file mode 100644 index 0000000..97edc07 --- /dev/null +++ b/dev.angryhex.sh @@ -0,0 +1,393 @@ +#!/bin/bash + +#------------------------------------------------------------------------------- + +UNAME=$(uname -v) +OSTYPE=unknown +if [[ ${UNAME} == *Darwin* ]]; then + OSTYPE=osx +elif [[ ${UNAME} == *Ubuntu* ]]; then + OSTYPE=ubuntu +else + echo "OS type not supported" +fi + +#------------------------------------------------------------------------------- + +if [[ ${OSTYPE} == osx ]]; then + DLV=dlv.i386-apple-darwin.bin +else + DLV=dlv.x86-64-linux-elf-static.bin +fi +DLV_URL=http://www.dlvsystem.com/files/${DLV} + +DLVHEX=core +DLVHEX_URL=https://github.com/hexhex/${DLVHEX}.git + +BOX2D=Box2D_v2.2.1 +BOX2D_URL=http://box2d.googlecode.com/files/${BOX2D}.zip + +OPENCV=opencv-2.4.9 +OPENCV_URL=http://sourceforge.net/projects/opencvlibrary/files/opencv-unix/2.4.9/opencv-2.4.9.zip/download + +ANGRYHEX=angryhex + +#------------------------------------------------------------------------------- + +EMAIL=angryhex@mat.unical.it + +#------------------------------------------------------------------------------- + +B=`tput bold` +N=`tput sgr0 tput rmul` +U=`tput smul` + +F_LOG=$(pwd)/install.log + +usage() { + echo + echo "${B}SYNOPSIS${N}" + echo " ${B}./$(basename $0)${N} command [argument]" + echo + echo "${B}COMMANDS${N}" + echo + echo " ${B}install${N} [${U}all${N},dlv,dlvhex,box2d,agent,agent-java,agent-plugin]" + echo + echo " ${B}run${N} [${U}client${N},server]" + echo + echo " ${B}set${N} [release,develop]" + echo + echo " ${B}archive${N}" + echo + + exit $1 +} + +RUN() { + $@ >> ${F_LOG} 2>&1 && return + echo "FAIL" + echo + echo "Installation FAILED. Please send the file ${F_LOG} to ${EMAIL}." + exit 1 +} + +REQUIRE() { + if [[ ${OSTYPE} == ubuntu ]]; then + apt-get -y install $@ >> ${F_LOG} 2>&1 + fi +} + +pushdir() { + pushd $(pwd) &> /dev/null +} + +popdir() { + popd &> /dev/null +} + +#------------------------------------------------------------------------------- + +F_DEVELOP=.angryhex_dev + +setdevelop() { + touch ${F_DEVELOP} +} + +setrelease() { + rm -f ${F_DEVELOP} +} + +#------------------------------------------------------------------------------- + +runclient() { + cd ${D_AGENT} + java -jar Client.jar $@ +} + +runserver() { + cd ${D_AGENT} + java -jar ABServer.jar $@ +} + +#------------------------------------------------------------------------------- + +installdlv() { + pushdir + echo -n "Installing DLV....." + + # check if reinstall is forced + if [[ $1 != "-f" ]]; then + command -v dlv >> ${F_LOG} 2>&1 && echo "ALREADY INSTALLED" && return + fi + + REQUIRE wget + + RUN cd /tmp + RUN wget ${DLV_URL} -O ${DLV} + RUN chmod +x ${DLV} + RUN cp ${DLV} /usr/local/bin/dlv + + echo "SUCCESS" + popdir +} + +installdlvhex() { + pushdir + echo -n "Installing DLVHEX....." + + # check if reinstall is forced + if [[ $1 != "-f" ]]; then + command -v dlvhex2 >> ${F_LOG} 2>&1 && echo "ALREADY INSTALLED" && return + fi + + REQUIRE git-core g++ autoconf automake pkg-config libtool libltdl-dev libboost-all-dev libcurl4-openssl-dev + + RUN cd /tmp + RUN rm -rf ${DLVHEX} + RUN git clone --recursive ${DLVHEX_URL} + RUN cd ${DLVHEX} + RUN ./bootstrap.sh + RUN ./configure --without-buildclaspgringo + RUN make -j4 + RUN make install + + echo "SUCCESS" + popdir +} + +installbox2d() { + pushdir + echo -n "Installing Box2D....." + + # check if reinstall is forced + if [[ $1 != "-f" ]]; then + ld -lBox2D >> ${F_LOG} 2>&1 && echo "ALREADY INSTALLED" && return + fi + + REQUIRE wget unzip cmake libglu-dev libxi-dev build-essential + + RUN rm -rf /usr/local/include/Box2D/ + RUN cd /tmp + RUN rm -rf ${BOX2D} + RUN wget ${BOX2D_URL} + RUN unzip ${BOX2D} + RUN cd ${BOX2D}/Build + RUN cmake -DBOX2D_INSTALL=ON -DBOX2D_BUILD_SHARED=ON -DBOX2D_BUILD_STATIC=OFF -DBOX2D_BUILD_EXAMPLES=OFF .. + RUN make -j4 + RUN make install + + echo "SUCCESS" + popdir +} + +installopencv() { + pushdir + echo -n "Installing OpenCV....." + + REQUIRE wget unzip cmake ant default-jdk + + RUN cd /tmp + RUN rm -rf opencv* + RUN wget ${OPENCV_URL} -O ${OPENCV}.zip + RUN unzip ${OPENCV}.zip + RUN cd ${OPENCV} + RUN mkdir build + RUN cd build + RUN cmake -DBUILD_SHARED_LIBS=OFF .. + RUN make -j4 + RUN make install + + # install cv2.so + RUN echo "Checking if cv2.so was built" + if [ $(find /tmp/${OPENCV}/build -name cv2.so | wc -l) -ge 1 ]; then + RUN echo "Yes: installing cv2.so" + RUN cp $(find /tmp/${OPENCV}/build -name cv2.so | head) /usr/local/share/OpenCV/java/ + else + RUN echo "No: no installation required" + fi + echo "SUCCESS" + popdir +} + +installagent() { + pushdir + echo -n "Installing AngryHEX agent....." + + REQUIRE ant default-jdk g++-4.4 + + if [ -e ${F_DEVELOP} ]; then + rm -rf ${D_AGENT} + packjava + packplugin + + RUN cd ${D_AGENT} + RUN make all + else + RUN cd ${D_AGENT} + RUN make all + fi + echo "SUCCESS" + popdir +} + +installagentjava() { + pushdir + if [ -e ${F_DEVELOP} ]; then + packjava + else + echo "Individual building of components not possible in REMOTE mode" + return + fi + echo -n "Installing Java client....." + + RUN cd ${D_AGENT} + RUN make java + + echo "SUCCESS" + popdir +} + +installagentplugin() { + pushdir + if [ -e ${F_DEVELOP} ]; then + packplugin + else + echo "Individual building of components not possible in REMOTE mode" + return + fi + echo -n "Installing DLVHEX plugin....." + + RUN cd ${D_AGENT} + RUN make plugin + + echo "SUCCESS" + popdir +} + +#------------------------------------------------------------------------------- + +D_SRC=src # source +D_SCR=scripts # scripts TODO will be obsolete some time soon +D_FWK=framework # framework +D_ENC=dlv # encodings of hex programs +D_AGENT=angryhex # out directory + +F_ARCHIVE=angryhex.zip + +function PKG { + mkdir -p ${D_AGENT} &> /dev/null + rsync -r --cvs-exclude $1 ${D_AGENT}/$2 +} + +function PKGSRC { + mkdir -p ${D_AGENT}/src &> /dev/null + rsync -r --cvs-exclude $1 ${D_AGENT}/src/$2 +} + +packjava() { + rm -rf ${D_AGENT}/${D_SRC}/angryhexclient + PKGSRC ${D_SRC}/angryhexclient + PKGSRC ${D_FWK}/src/ + PKG ${D_FWK}/ABServer.jar + PKG ${D_FWK}/external + PKG ${D_FWK}/plugin + PKG ${D_ENC} + PKG build.xml + PKG ${D_SCR}/client.sh # TODO obsolete??? + PKG Makefile + + if [[ $1 == archive ]]; then + PKG config.properties.tournament config.properties + else + PKG config.properties + fi +} + +# ${DIR_PLUGIN} is the path the hex plugin +# - this path can be changed in order to use another plugin +# - the plugin folder must contain a Makefile with a 'install' target +DIR_PLUGIN=src/angrybirds-box2dplugin + +# DO NOT change ${OUT_PLUGIN} +OUT_PLUGIN=src/angrybirds-box2dplugin + +packplugin() { + rm -rf ${D_AGENT}/${OUT_PLUGIN} + rsync -a --cvs-exclude ${DIR_PLUGIN}/* ${D_AGENT}/${OUT_PLUGIN} + PKG Makefile +} + +archive() { + echo -n "Archiving AngryHEX....." + + REQUIRE zip + + RUN rm -rf ${D_AGENT} + RUN rm -rf ${F_ARCHIVE} + RUN packjava archive + RUN packplugin archive + RUN zip -r ${F_ARCHIVE} ${D_AGENT}/* + RUN zip ${F_ARCHIVE} $(basename $0) + echo "SUCCESS" +} + +#------------------------------------------------------------------------------- + +renewlog() { + rm -rf ${F_LOG} + # print system info to ${F_LOG} + uname -a >> ${F_LOG} 2>&1 + if [[ ${OSTYPE} == osx ]]; then + sw_vers >> ${F_LOG} 2>&1 + elif [[ ${OSTYPE} == ubuntu ]]; then + lsb_release -a >> ${F_LOG} 2>&1 + fi +} + +#------------------------------------------------------------------------------- + +CMD=$1 +ARG=$2 + +if [ -z $CMD ]; then + usage 1 +elif [ -z $ARG ]; then + case $CMD in + "install") ARG=all ;; + "run") ARG=client ;; + esac +fi + +case $CMD in + "install") + renewlog + case $ARG in + "all") installdlv && installdlvhex && installbox2d && installopencv && installagent ;; + "dlv") installdlv -f ;; + "dlvhex") installdlvhex -f ;; + "box2d") installbox2d -f ;; + "opencv") installopencv -f ;; + "agent") installagent ;; + "agent-java") installagentjava ;; + "agent-plugin") installagentplugin ;; + *) echo "Unknown argument $ARG" && usage 1 + esac + ;; + "run") + case $ARG in + "client") runclient ${@:3} ;; + "server") runserver ${@:3} ;; + *) echo "Unknown argument $ARG" && usage 1 + esac + ;; + "set") + case $ARG in + "release") setrelease ;; + "develop") setdevelop ;; + *) echo "Unknown argument $ARG" && usage 1 + esac + ;; + "archive") archive ;; + *) echo "Invalid command: $CMD" && usage 1 +esac + diff --git a/dlv/algorithm-new.dlv b/dlv/algorithm-new.dlv new file mode 100644 index 0000000..5a5c7af --- /dev/null +++ b/dlv/algorithm-new.dlv @@ -0,0 +1,372 @@ +#maxint=10000. +% +% This part sees to it that for every answer set exactly one target is generated. +% +% Trajectories are now, high, low, egg +% +trajectory(low). +trajectory(high). +trajectory(egg) :- birdType(whitebird). + +target(O, T) v not_target(O, T) :- veryShootable(O, T). + +:- target(X, _), target(Y, _), X != Y. +:- target(_, T1), target(_, T2), T1 != T2. +% +% +:- tap(T1), tap(T2), T1 != T2. +target_exists(a) :- target(_,_). +:- not target_exists(a). +% don't give up if no valuable target is found... +%noReasonedTargetFound :- not target_exists(a). + +% +% NEW OUTPUT PREDICATE IS targetData +% +targetData(X,Y,Z,T,0) :- target(X,Y), offset(T), tap(Z), Y != egg. + +% +% In egg mode, we will tap and offset this way +% +targetData(X,low,98,Up_Y,1) :- target(X,egg), highestPixel(Y), Up_Y = Y - 50. + +lowObjValue(T) :- boundingBox(O,_,_,Y,_,H,_), boundingBox(O1,_,_,Y1,_,H1,_), O != O1, T = Y - Hm, T1 = Y1 - H1m, Hm = H/2, H1m = H1/2, T1 < T, shouldCompute. +highestPixel(T) :- boundingBox(O,_,_,Y,_,H,_), T = Y-Hm, Hm = H / 2, not lowObjValue(T), shouldCompute. + +shouldCompute :- birdType(whitebird). + +offset(Upper) :- shootable(O,low,_,Upper), target(O,low), instability(O,I). %, I >= 80. +%offset(Center) :- shootable(O,low,Center,_), target(O,low), instability(O,I), I < 80. +offset(Center) :- shootable(O,high,Center,_), target(O,high). + +% +% Debug check +% +%:- offset(A), offset(B), A != B. + +% +% When targeting X, Z is the Y-th boundingBox hit in the trajectory T (starts from 0). +% +% For performance, this graph is built only for trajectories directed to shootable targets and for trajectories directed to pigs +% When the birdtype is white, next is enriched with egg trajectories. +% +next(X,Y,Z,T,Center) :- shootable(X,T,Center,_), &next[X,Center,T,V,Sx,Sy,Sw,Sh,boundingBox](Y,Z), velocity(V), slingshot(Sx,Sy,Sw,Sh), trajectory(T), T != egg. +next(X,Y,Z,T,Upper) :- shootable(X,T,_,Upper), &next[X,Upper,T,V,Sx,Sy,Sw,Sh,boundingBox](Y,Z), velocity(V), slingshot(Sx,Sy,Sw,Sh), trajectory(T), T != egg. + + +eggShootable(Obj,X) :- &clearsky[Obj,boundingBox](1), shouldCompute, ngobject(Obj,_,X,_,_,_,_). +nextEgg(Obj,0,Obj) :- eggShootable(Obj,Off). +nextEgg(Upmost,X,Down) :- nextEgg(Upmost,Y,Under), X = Y+1, firstbelow(Under,Down), X <= 500, #int(X). + +next(Upmost,Y,Obj,egg,Off) :- nextEgg(Upmost,Y,Obj), eggShootable(Upmost,Off). + +shootable(O, T, Shift, Up) :- &shootable[O,T,V,Sx,Sy,Sw,Sh,B,boundingBox](O,Shift,Up), + birdType(B), + velocity(V), + objectType(O,Type), + slingshot(Sx,Sy,Sw,Sh), + trajectory(T). + +%debugShootable(O, T) :- &next[O,T,V,Sx,Sy,Sw,Sh,boundingBox](0,O), +% velocity(V), +% ngobject(O,_,_,_,_,_,_), +% slingshot(Sx,Sy,Sw,Sh), +% trajectory(T). + +veryShootable(O,T) :- shootable(O,T,_,_). +veryShootable(O,egg) :- eggShootable(O,Off). +%veryShootable(Pig, T) :- +% objectType(Pig,pig), +% trajectory(T), not groundInTrajectory(Pig,T). + +%groundInTrajectory(Pig,T) :- next(Pig,X,Outer,T), objectType(Outer,ground), next(Pig,Y,Pig,T), X < Y. +outerTarget(Outer,Inner,T,Off) :- target(Inner,T), next(Inner,0,Outer,T,Off). + +hasSomeAbove(O) :- ot(O,Y). + +% +% computes probability of direct damage by following trajectory, starts with energy 100 +% +directDamage(Obj,P,E) :- outerTarget(Obj,Inner,Tr,_), objectType(Obj,T), birdType(Bird), + damageProbability(Bird,T,P), energyLoss(Bird,T,E), Tr != egg. + +directDamage(Obj,P,E) :- outerTarget(Obj,Inner,egg,_), objectType(Obj,T), + damageProbability(egg,T,P), energyLoss(egg,T,E). + + +directDamage(ObjB,P,Energy) :- Tr != egg, outerTarget(ObjC,ObjT,Tr,Off), objectType(ObjB,T_B), objectType(ObjA,T_A), birdType(Bird), + directDamage(ObjA,P_A,Energy_A), + energyLoss(Bird,T_A,E_L), + En_temp = E_L * Energy_A, + Energy = En_temp / 100, + Energy_A >= 10, + P_A > 0, + damageProbability(Bird,T_B,P_B), + + P_Temp = P_A * P_B, P = P_Temp / 100, + + next(ObjT,X,ObjA,Tr,Off), + Y = X+1, + next(ObjT,Y,ObjB,Tr,Off). + + +directDamage(ObjB,P,Energy) :- outerTarget(ObjC,ObjT,egg,Off), objectType(ObjB,T_B), objectType(ObjA,T_A), + directDamage(ObjA,P_A,Energy_A), + energyLoss(egg,T_A,E_L), + En_temp = E_L * Energy_A, + Energy = En_temp / 100, + Energy_A >= 10, + damageProbability(egg,T_B,P_B), + P_A > 0, + P_Temp = P_A * P_B, P = P_Temp / 100, + + next(ObjT,X,ObjA,egg,Off), + Y = X+1, + next(ObjT,Y,ObjB,egg,Off). + + +instability(O,I) :- &stability[W,H,A](V), boundingBox(O,_,_,_,W,H,A), I = 100-V. +pushability(O,I) :- instability(O,I), I >= MinPushability, objectType(O,Type), minPushability(Type,MinPushability). + +minPushability(wood,70). +minPushability(stone,90). +minPushability(ice,70). +minPushability(pig,0). +minPushability(tnt,20). + +% +% the pushDamage chain works only for low trajectories +% +% pushDamage(Obj,intrinsicDAMAGELikelihood,NextObjectDamageLikelihood) +% +pushDamage(Obj,P,P) :- pushability(Obj,P), outerTarget(Obj,I,low,_). +pushDamage(ObjB,P_A,P) :- outerTarget(ObjC,ObjT,Tr,Off), objectType(ObjB,T_B), objectType(ObjA,T_A), + maxDirectDamage(ObjA,P_A), + pushability(ObjB,P_B), + P_A > 0, + P_Temp = P_A * P_B, P = P_Temp / 100, + + next(ObjT,X,ObjA,low,Off), + Y = X+1, + next(ObjT,Y,ObjB,low,Off). + +pushDamage(ObjB,P_A,P) :- + pushDamage(ObjA,_,P_A), + P_A > 0, + canPush(ObjA,ObjB), + pushability(ObjB,P_B), + P_Temp = P_A * P_B, P = P_Temp / 100. + +% +% Pushability requires some minimum distance and objects at geometric range +% +canPush(ObjA,ObjB) :- &canpush[ngobject](ObjA,ObjB). + +% +% removal of Y makes X fall in internal simulation +% +ot(Y,X) :- &on_top_all[boundingBox](X,Y). +ot(Y,Z) :- ot(Y,X), ot(X,Z). + +fallDamage(Obj,P_N) :- directDamage(RemovedObj,P_R,E), + E >= 10, + P_R > 0, + ot(RemovedObj,Obj), + objectType(Obj,T), + materialFallImportance(T,P_N), + P_temp = P_R * P_N, P = P_temp / 100. + +fallDamage(Obj,P_N) :- pushDamage(RemovedObj,_,P_R), + P_R >= 50, + ot(RemovedObj,Obj), + objectType(Obj,T), + materialFallImportance(T,P_N), + P_temp = P_R * P_N, P = P_temp / 100. + +fallDamage(Obj,P_N) :- fallDamage(RemovedObj,P_R), + ot(RemovedObj,Obj), + objectType(Obj,T), + materialFallImportance(T,P_N), + P_R > 0, + P_temp = P_R * P_N, P = P_temp / 100. + + +maxFallDamage(Obj,P1) :- fallDamage(Obj,P1), not overFallDamage(Obj,P1). +overFallDamage(Obj,P1) :- fallDamage(Obj,P1), fallDamage(Obj,P2), P2 > P1. + +maxDirectDamage(Obj,P1) :- directDamage(Obj,P1,_), not overDirectDamage(Obj,P1). +overDirectDamage(Obj,P1) :- directDamage(Obj,P1,_), directDamage(Obj,P2,_), P2 > P1. + +maxPushDamage(Obj,P1) :- pushDamage(Obj,P1,_), not overPushDamage(Obj,P1). +overPushDamage(Obj,P1) :- pushDamage(Obj,P1,_), pushDamage(Obj,P2,_), P2 > P1. + +maxPushNDirectDamage(Obj,M) :- maxPushDamage(Obj,M), maxDirectDamage(Obj,M1), M >= M1. +maxPushNDirectDamage(Obj,M1) :- maxPushDamage(Obj,M), maxDirectDamage(Obj,M1), M1 > M. + +maxPushNDirectDamage(Obj,M) :- maxPushDamage(Obj,M), not existsDirectDamage(Obj). +maxPushNDirectDamage(Obj,M1) :- not existsPushDamage(Obj), maxDirectDamage(Obj,M1). + +existsDirectDamage(Obj) :- directDamage(Obj,_,_). +notExistsDirectDamage(Obj) :- not existsDirectDamage(Obj), objectType(Obj,_). + +:~ notExistsDirectDamage(Obj), notExistsPushDamage(Obj), objectType(Obj,tnt). [10:4] +:~ notExistsDirectDamage(Obj), notExistsPushDamage(Obj), objectType(Obj,pig). [10:4] +:~ notExistsDirectDamage(Obj), notExistsPushDamage(Obj). [10:1] + +:~ maxPushNDirectDamage(Obj,P), objectType(Obj,tnt), MalusTemp = 100 - P, Malus = MalusTemp / 10. [Malus:4] +:~ maxPushNDirectDamage(Obj,P), objectType(Obj,pig), MalusTemp = 100 - P, Malus = MalusTemp / 10. [Malus:4] +:~ maxPushNDirectDamage(Obj,P), MalusTemp = 100 - P, Malus = MalusTemp / 10. [Malus:1] + +existsFallDamage(Obj) :- fallDamage(Obj,_). +notExistsFallsDamage(Obj) :- not existsFallDamage(Obj), objectType(Obj,_). + +:~ notExistsFallsDamage(Obj), objectType(Obj,tnt). [10:4] +:~ notExistsFallsDamage(Obj), objectType(Obj,pig). [10:4] +:~ notExistsFallsDamage(Obj). [10:1] + +:~ maxFallDamage(Obj,P), objectType(Obj,tnt), MalusTemp = 100 - P, Malus = MalusTemp / 10. [Malus:4] +:~ maxFallDamage(Obj,P), objectType(Obj,pig), MalusTemp = 100 - P, Malus = MalusTemp / 10. [Malus:4] +:~ maxFallDamage(Obj,P), MalusTemp = 100 - P, Malus = MalusTemp / 10. [Malus:1] + +existsPushDamage(Obj) :- pushDamage(Obj,_,_). +notExistsPushDamage(Obj) :- not existsPushDamage(Obj), objectType(Obj,_). + +%:~ notExistsPushDamage(Obj), objectType(Obj,pig). [10:3] +%:~ notExistsPushDamage(Obj). [10:1] + +%:~ maxPushDamage(Obj,P), objectType(Obj,pig), MalusTemp = 100 - P, Malus = MalusTemp / 10. [Malus:2] +%:~ maxPushDamage(Obj,P), MalusTemp = 100 - P, Malus = MalusTemp / 10. [Malus:1] + + +%pigDistance(O,D) :- boundingBox(O,pig,X,Y,_,_,_), Xquad = X * X, Yquad = Y * Y, D = Xquad + Yquad. +%pigDistance(O,D) :- boundingBox(O,pig,X,Y,_,_,_), D = X + Y. + +%:~ target(Pig,T), pigDistance(Pig,D). [D:2] + +%firstabove(Down,Under) :- &firstabove[Down,boundingBox](Under), objectType(Down,_). +firstbelow(Upper,Down) :- &firstbelow[Upper,boundingBox](Down), objectType(Upper,_). + +abovePig(Under,100) :- firstbelow(Under,Down), objectType(Down,pig). +abovePig(Under,P) :- firstbelow(Under,Down), abovePig(Down,P_D), Ptemp = P_D * 95, P = Ptemp / 100. + +fallsOnPigDamage(Obj,P_B) :- maxFallDamage(Obj,P_N), abovePig(Obj,P_P), Ptemp = P_N * P_P, P_B = Ptemp / 100. + +existsFallsOnPigDamage(Obj) :- fallsOnPigDamage(Obj,_). +notExistsFallsOnPigDamage(Obj) :- not existsFallsOnPigDamage(Obj), objectType(Obj,_). + +%:~ notExistsFallsOnPigDamage(Obj), objectType(Obj,pig). [10:3] +:~ notExistsFallsOnPigDamage(Obj). [10:3] + +%:~ fallsOnPigDamage(Obj,P), objectType(Obj,pig), MalusTemp = 100 - P, Malus = MalusTemp / 10. [Malus:3] +:~ fallsOnPigDamage(Obj,P), MalusTemp = 100 - P, Malus = MalusTemp / 10. [Malus:3] + +aboveTNT(Under,100) :- firstbelow(Under,Down), objectType(Down,tnt). +aboveTNT(Under,P) :- firstbelow(Under,Down), aboveTNT(Down,P_D), Ptemp = P_D * 95, P = Ptemp / 100. + +fallsOnTNTDamage(Obj,P_B) :- maxFallDamage(Obj,P_N), aboveTNT(Obj,P_P), Ptemp = P_N * P_P, P_B = Ptemp / 100. + +existsFallsOnTNTDamage(Obj) :- fallsOnTNTDamage(Obj,_). +notExistsFallsOnTNTDamage(Obj) :- not existsFallsOnTNTDamage(Obj), objectType(Obj,_). + +%:~ notExistsFallsOnTNTDamage(Obj), objectType(Obj,tnt). [10:3] +:~ notExistsFallsOnTNTDamage(Obj). [10:3] + +%:~ fallsOnTNTDamage(Obj,P), objectType(Obj,tnt), MalusTemp = 100 - P, Malus = MalusTemp / 10. [Malus:3] +:~ fallsOnTNTDamage(Obj,P), MalusTemp = 100 - P, Malus = MalusTemp / 10. [Malus:3] + +% +% Data and other background knowledge. Removes ground for streamlining computations +% +ngobject(O,T,A,B,C,D,E) :- boundingBox(O,T,A,B,C,D,E), T != ground. +objectType(O,T) :- ngobject(O,T,_,_,_,_,_). + + + +% +% Percentage perturbations on tap time depending on bird type +% +tap(85) :- birdType(redbird). +tap(90) :- birdType(yellowbird), target(_,high). +tap(88) :- birdType(yellowbird), target(_,low). +tap(85) :- birdType(bluebird). +tap(120) :- birdType(blackbird). +% +% A white not deploying eggs should not tap +% +tap(300) :- birdType(whitebird). + +damageProbability(redbird,pig,100). +damageProbability(bluebird,pig,100). +damageProbability(yellowbird,pig,100). +damageProbability(blackbird,pig,100). +damageProbability(whitebird,pig,100). + +damageProbability(redbird,tnt,100). +damageProbability(bluebird,tnt,100). +damageProbability(yellowbird,tnt,100). +damageProbability(blackbird,tnt,100). +damageProbability(whitebird,tnt,100). + +damageProbability(redbird,wood,95). +damageProbability(redbird,ice,80). + +nogoodForStone(redbird). +nogoodForStone(yellowbird). +nogoodForStone(bluebird). +nogoodForStone(whitebird). + +damageProbability(B,stone,0) :- nogoodForStone(B). +damageProbability(blackbird,stone,100). + +damageProbability(bluebird,wood,10). +damageProbability(bluebird,ice,100). +damageProbability(yellowbird,wood,100). +damageProbability(yellowbird,ice,10). + +damageProbability(blackbird,wood,90). +damageProbability(blackbird,ice,90). + +damageProbability(whitebird,wood,90). +damageProbability(whitebird,ice,80). + +damageProbability(egg,X,Y) :- damageProbability(blackbird,X,Y1), Y = Y1 -10. + +materialFallImportance(wood,90). +materialFallImportance(ice,80). +materialFallImportance(stone,100). + +materialFallImportance(pig,100). +materialFallImportance(tnt,100). + + +energyLoss(redbird,pig,90). +energyLoss(bluebird,pig,90). +energyLoss(yellowbird,pig,90). +energyLoss(blackbird,pig,90). +energyLoss(whitebird,pig,90). + +energyLoss(egg,X,Y) :- energyLoss(blackbird,X,Y1), Y = Y1 - 20. + +energyLoss(redbird,tnt,90). +energyLoss(bluebird,tnt,90). +energyLoss(yellowbird,tnt,90). +energyLoss(blackbird,tnt,90). +energyLoss(whitebird,tnt,90). + +energyLoss(redbird,wood,10). +energyLoss(redbird,ice,10). + +energyLoss(B,stone,0) :- nogoodForStone(B). +energyLoss(blackbird,stone,85). + +energyLoss(bluebird,wood,0). +energyLoss(bluebird,ice,90). +energyLoss(yellowbird,wood,90). +energyLoss(yellowbird,ice,0). + +energyLoss(whitebird,wood,10). +energyLoss(whitebird,ice,10). + +energyLoss(blackbird,wood,80). +energyLoss(blackbird,ice,80). + diff --git a/dlv/algorithm-white.dlv b/dlv/algorithm-white.dlv new file mode 100644 index 0000000..51e716f --- /dev/null +++ b/dlv/algorithm-white.dlv @@ -0,0 +1,400 @@ +#maxint=10000. +% +% This part sees to it that for every answer set exactly one target is generated. +% +% Trajectories are now, high, low, egg +% +trajectory(low). +trajectory(high). +trajectory(egg) :- birdType(whitebird). + +target(O, T) v not_target(O, T) :- veryShootable(O, T). + +:- target(X, _), target(Y, _), X != Y. +:- target(_, T1), target(_, T2), T1 != T2. +% +% +:- tap(T1), tap(T2), T1 != T2. +target_exists(a) :- target(_,_). +:- not target_exists(a). + +% Ensure that we generate targets in 'egg mode' +target_exists(egg) :- targetData(_,_,_,_,1). +:- not target_exists(egg). + +% +% NEW OUTPUT PREDICATE IS targetData +% +% DISABLE this rule because we are looking for targets with 'egg mode' +% targetData(X,Y,Z,T,0) :- target(X,Y), offset(T), tap(Z), Y != egg. + +% +% In egg mode, we will tap and offset this way +% +% +% Last attribute denotes eggmode +% +targetData(O,T,98,Y,1) :- target(O,egg), preferredbirdEggTrajectory(O,X,Y,T). + +preferredbirdEggTrajectory(O,X,Y,low) :- eggShootable(O,X,Y,low), eggShootable(O,X1,Y1,high). +preferredbirdEggTrajectory(O,X,Y,low) :- eggShootable(O,X,Y,low), not hasHighSEggShoot(O). +preferredbirdEggTrajectory(O,X,Y,high) :- eggShootable(O,X,Y,high), not hasLowEggShoot(O). + +hasHighEggShoot(O) :- eggShootable(O,X,Y,high). +hasLowEggShoot(O) :- eggShootable(O,X,Y,low). + +shouldCompute :- birdType(whitebird). + +offset(Upper) :- shootable(O,low,_,Upper), target(O,low), instability(O,I). %, I >= 80. +%offset(Center) :- shootable(O,low,Center,_), target(O,low), instability(O,I), I < 80. +offset(Center) :- shootable(O,high,Center,_), target(O,high). + +% +% Debug check +% +%:- offset(A), offset(B), A != B. + +% +% When targeting X, Z is the Y-th object hit in the trajectory T (starts from 0). +% +% For performance, this graph is built only for trajectories directed to shootable targets and for trajectories directed to pigs +% When the birdtype is whitebird, next is enriched with egg trajectories. +% +next(X,Y,Z,T,Center) :- shootable(X,T,Center,_), &next[X,Center,T,V,Sx,Sy,Sw,Sh,boundingBox](Y,Z), velocity(V), slingshot(Sx,Sy,Sw,Sh), trajectory(T), T != egg. +next(X,Y,Z,T,Upper) :- shootable(X,T,_,Upper), &next[X,Upper,T,V,Sx,Sy,Sw,Sh,boundingBox](Y,Z), velocity(V), slingshot(Sx,Sy,Sw,Sh), trajectory(T), T != egg. + + +trajectoryWhite(low). +trajectoryWhite(high). + +eggShootable_(Obj,X) :- &clearsky[Obj,boundingBox](1), shouldCompute, ngobject(Obj,_,X,_,_,_,_). +eggShootable(Obj,X,Y,T) :- eggShootable_(Obj,X), &bestwhite[Obj,T,V,Sx,Sy,Sw,Sh,boundingBox](Y), + boundingBox(Obj,_,X,_,_,_,_), velocity(V), slingshot(Sx,Sy,Sw,Sh), trajectoryWhite(T). + +% +% Dummy out of screen target. +% +boundingBox(1000, ice, 600, 100, 10, 10,"0.0"). + +madWhiteSlingshot(O,X,Y,W,H) :- slingshot(_,_,W,H), eggShootable(O,X,Y1,_), Y = Y1 - 10. +nextMadWhite(1000,Y,Z) :- &next[1000,Y,high,V,Sx,Sy,Sw,Sh,boundingBox](Y,Z), velocity(V), ngobject(1000,_,_,Y,_,_,_), + madWhiteSlingshot(O,Sx,Sy,Sw,Sh), eggShootable(O,_,_,_). + +nextEgg(Obj,0,Obj) :- eggShootable(Obj,Off,_,_). +nextEgg(Upmost,X,Down) :- nextEgg(Upmost,Y,Under), X = Y+1, firstbelow(Under,Down), X <= 500, #int(X). + +next(Upmost,Y,Obj,egg,Off) :- nextEgg(Upmost,Y,Obj), eggShootable(Upmost,Off,_,_). +next(Upmost,Y,Obj,whitebird,0) :- nextMadWhite(Upmost,Y,Obj). + + +shootable(O, T, Shift, Up) :- &shootable[O,T,V,Sx,Sy,Sw,Sh,B,boundingBox](O,Shift,Up), + birdType(B), + velocity(V), + objectType(O,Type), + slingshot(Sx,Sy,Sw,Sh), + trajectory(T). + +%debugShootable(O, T) :- &next[O,T,V,Sx,Sy,Sw,Sh,boundingBox](0,O), +% velocity(V), +% ngobject(O,_,_,_,_,_,_), +% slingshot(Sx,Sy,Sw,Sh), +% trajectory(T). + +veryShootable(O,T) :- shootable(O,T,_,_). +veryShootable(O,egg) :- eggShootable(O,Off). +%veryShootable(Pig, T) :- +% objectType(Pig,pig), +% trajectory(T), not groundInTrajectory(Pig,T). + +%groundInTrajectory(Pig,T) :- next(Pig,X,Outer,T), objectType(Outer,ground), next(Pig,Y,Pig,T), X < Y. +outerTarget(Outer,Inner,T,Off) :- target(Inner,T), next(Inner,0,Outer,T,Off). +outerTarget(Z,1000,whitebird,0) :- nextMadWhite(1000,0,Z). + +hasSomeAbove(O) :- ot(O,Y). + +% +% computes probability of direct damage by following trajectory, starts with energy 100 +% +directDamage(Obj,P,E) :- outerTarget(Obj,Inner,Tr,_), objectType(Obj,T), birdType(Bird), + damageProbability(Bird,T,P), energyLoss(Bird,T,E), Tr != egg. + +directDamage(Obj,P,E) :- outerTarget(Obj,Inner,egg,_), objectType(Obj,T), + damageProbability(egg,T,P), energyLoss(egg,T,E). + + +directDamage(ObjB,P,Energy) :- Tr != egg, outerTarget(ObjC,ObjT,Tr,Off), objectType(ObjB,T_B), objectType(ObjA,T_A), birdType(Bird), + directDamage(ObjA,P_A,Energy_A), + energyLoss(Bird,T_A,E_L), + En_temp = E_L * Energy_A, + Energy = En_temp / 100, + Energy_A >= 10, + P_A > 0, + damageProbability(Bird,T_B,P_B), + + P_Temp = P_A * P_B, P = P_Temp / 100, + + next(ObjT,X,ObjA,Tr,Off), + Y = X+1, + next(ObjT,Y,ObjB,Tr,Off). + + +directDamage(ObjB,P,Energy) :- outerTarget(ObjC,ObjT,egg,Off), objectType(ObjB,T_B), objectType(ObjA,T_A), + directDamage(ObjA,P_A,Energy_A), + energyLoss(egg,T_A,E_L), + En_temp = E_L * Energy_A, + Energy = En_temp / 100, + Energy_A >= 10, + damageProbability(egg,T_B,P_B), + P_A > 0, + P_Temp = P_A * P_B, P = P_Temp / 100, + + next(ObjT,X,ObjA,egg,Off), + Y = X+1, + next(ObjT,Y,ObjB,egg,Off). + + +instability(O,I) :- &stability[W,H,A](V), boundingBox(O,_,_,_,W,H,A), I = 100-V. +pushability(O,I) :- instability(O,I), I >= MinPushability, objectType(O,Type), minPushability(Type,MinPushability). + +minPushability(wood,70). +minPushability(stone,90). +minPushability(ice,70). +minPushability(pig,0). +minPushability(tnt,20). + +% +% the pushDamage chain works only for low trajectories +% +% pushDamage(Obj,intrinsicDAMAGELikelihood,NextObjectDamageLikelihood) +% +pushDamage(Obj,P,P) :- pushability(Obj,P), outerTarget(Obj,I,low,_). +pushDamage(ObjB,P_A,P) :- outerTarget(ObjC,ObjT,Tr,Off), objectType(ObjB,T_B), objectType(ObjA,T_A), + maxDirectDamage(ObjA,P_A), + pushability(ObjB,P_B), + P_A > 0, + P_Temp = P_A * P_B, P = P_Temp / 100, + + next(ObjT,X,ObjA,low,Off), + Y = X+1, + next(ObjT,Y,ObjB,low,Off). + +pushDamage(ObjB,P_A,P) :- + pushDamage(ObjA,_,P_A), + P_A > 0, + canPush(ObjA,ObjB), + pushability(ObjB,P_B), + P_Temp = P_A * P_B, P = P_Temp / 100. + +% +% Pushability requires some minimum distance and objects at geometric range +% +canPush(ObjA,ObjB) :- &canpush[ngobject](ObjA,ObjB). + +% +% removal of Y makes X fall in internal simulation +% +ot(Y,X) :- &on_top_all[boundingBox](X,Y). +ot(Y,Z) :- ot(Y,X), ot(X,Z). + +fallDamage(Obj,P_N) :- directDamage(RemovedObj,P_R,E), + E >= 10, + P_R > 0, + ot(RemovedObj,Obj), + objectType(Obj,T), + materialFallImportance(T,P_N), + P_temp = P_R * P_N, P = P_temp / 100. + +fallDamage(Obj,P_N) :- pushDamage(RemovedObj,_,P_R), + P_R >= 50, + ot(RemovedObj,Obj), + objectType(Obj,T), + materialFallImportance(T,P_N), + P_temp = P_R * P_N, P = P_temp / 100. + +fallDamage(Obj,P_N) :- fallDamage(RemovedObj,P_R), + ot(RemovedObj,Obj), + objectType(Obj,T), + materialFallImportance(T,P_N), + P_R > 0, + P_temp = P_R * P_N, P = P_temp / 100. + + +maxFallDamage(Obj,P1) :- fallDamage(Obj,P1), not overFallDamage(Obj,P1). +overFallDamage(Obj,P1) :- fallDamage(Obj,P1), fallDamage(Obj,P2), P2 > P1. + +maxDirectDamage(Obj,P1) :- directDamage(Obj,P1,_), not overDirectDamage(Obj,P1). +overDirectDamage(Obj,P1) :- directDamage(Obj,P1,_), directDamage(Obj,P2,_), P2 > P1. + +maxPushDamage(Obj,P1) :- pushDamage(Obj,P1,_), not overPushDamage(Obj,P1). +overPushDamage(Obj,P1) :- pushDamage(Obj,P1,_), pushDamage(Obj,P2,_), P2 > P1. + +maxPushNDirectDamage(Obj,M) :- maxPushDamage(Obj,M), maxDirectDamage(Obj,M1), M >= M1. +maxPushNDirectDamage(Obj,M1) :- maxPushDamage(Obj,M), maxDirectDamage(Obj,M1), M1 > M. + +maxPushNDirectDamage(Obj,M) :- maxPushDamage(Obj,M), not existsDirectDamage(Obj). +maxPushNDirectDamage(Obj,M1) :- not existsPushDamage(Obj), maxDirectDamage(Obj,M1). + +existsDirectDamage(Obj) :- directDamage(Obj,_,_). +notExistsDirectDamage(Obj) :- not existsDirectDamage(Obj), objectType(Obj,_). + +:~ notExistsDirectDamage(Obj), notExistsPushDamage(Obj), objectType(Obj,tnt). [10:4] +:~ notExistsDirectDamage(Obj), notExistsPushDamage(Obj), objectType(Obj,pig). [10:4] +:~ notExistsDirectDamage(Obj), notExistsPushDamage(Obj). [10:1] + +:~ maxPushNDirectDamage(Obj,P), objectType(Obj,tnt), MalusTemp = 100 - P, Malus = MalusTemp / 10. [Malus:4] +:~ maxPushNDirectDamage(Obj,P), objectType(Obj,pig), MalusTemp = 100 - P, Malus = MalusTemp / 10. [Malus:4] +:~ maxPushNDirectDamage(Obj,P), MalusTemp = 100 - P, Malus = MalusTemp / 10. [Malus:1] + +existsFallDamage(Obj) :- fallDamage(Obj,_). +notExistsFallsDamage(Obj) :- not existsFallDamage(Obj), objectType(Obj,_). + +:~ notExistsFallsDamage(Obj), objectType(Obj,tnt). [10:4] +:~ notExistsFallsDamage(Obj), objectType(Obj,pig). [10:4] +:~ notExistsFallsDamage(Obj). [10:1] + +:~ maxFallDamage(Obj,P), objectType(Obj,tnt), MalusTemp = 100 - P, Malus = MalusTemp / 10. [Malus:4] +:~ maxFallDamage(Obj,P), objectType(Obj,pig), MalusTemp = 100 - P, Malus = MalusTemp / 10. [Malus:4] +:~ maxFallDamage(Obj,P), MalusTemp = 100 - P, Malus = MalusTemp / 10. [Malus:1] + +existsPushDamage(Obj) :- pushDamage(Obj,_,_). +notExistsPushDamage(Obj) :- not existsPushDamage(Obj), objectType(Obj,_). + +%:~ notExistsPushDamage(Obj), objectType(Obj,pig). [10:3] +%:~ notExistsPushDamage(Obj). [10:1] + +%:~ maxPushDamage(Obj,P), objectType(Obj,pig), MalusTemp = 100 - P, Malus = MalusTemp / 10. [Malus:2] +%:~ maxPushDamage(Obj,P), MalusTemp = 100 - P, Malus = MalusTemp / 10. [Malus:1] + + +%pigDistance(O,D) :- boundingBox(O,pig,X,Y,_,_,_), Xquad = X * X, Yquad = Y * Y, D = Xquad + Yquad. +%pigDistance(O,D) :- boundingBox(O,pig,X,Y,_,_,_), D = X + Y. + +%:~ target(Pig,T), pigDistance(Pig,D). [D:2] + +%firstabove(Down,Under) :- &firstabove[Down,boundingBox](Under), objectType(Down,_). +firstbelow(Upper,Down) :- &firstbelow[Upper,boundingBox](Down), objectType(Upper,_). + +abovePig(Under,100) :- firstbelow(Under,Down), objectType(Down,pig). +abovePig(Under,P) :- firstbelow(Under,Down), abovePig(Down,P_D), Ptemp = P_D * 95, P = Ptemp / 100. + +fallsOnPigDamage(Obj,P_B) :- maxFallDamage(Obj,P_N), abovePig(Obj,P_P), Ptemp = P_N * P_P, P_B = Ptemp / 100. + +existsFallsOnPigDamage(Obj) :- fallsOnPigDamage(Obj,_). +notExistsFallsOnPigDamage(Obj) :- not existsFallsOnPigDamage(Obj), objectType(Obj,_). + +%:~ notExistsFallsOnPigDamage(Obj), objectType(Obj,pig). [10:3] +:~ notExistsFallsOnPigDamage(Obj). [10:3] + +%:~ fallsOnPigDamage(Obj,P), objectType(Obj,pig), MalusTemp = 100 - P, Malus = MalusTemp / 10. [Malus:3] +:~ fallsOnPigDamage(Obj,P), MalusTemp = 100 - P, Malus = MalusTemp / 10. [Malus:3] + +aboveTNT(Under,100) :- firstbelow(Under,Down), objectType(Down,tnt). +aboveTNT(Under,P) :- firstbelow(Under,Down), aboveTNT(Down,P_D), Ptemp = P_D * 95, P = Ptemp / 100. + +fallsOnTNTDamage(Obj,P_B) :- maxFallDamage(Obj,P_N), aboveTNT(Obj,P_P), Ptemp = P_N * P_P, P_B = Ptemp / 100. + +existsFallsOnTNTDamage(Obj) :- fallsOnTNTDamage(Obj,_). +notExistsFallsOnTNTDamage(Obj) :- not existsFallsOnTNTDamage(Obj), objectType(Obj,_). + +%:~ notExistsFallsOnTNTDamage(Obj), objectType(Obj,tnt). [10:3] +:~ notExistsFallsOnTNTDamage(Obj). [10:3] + +%:~ fallsOnTNTDamage(Obj,P), objectType(Obj,tnt), MalusTemp = 100 - P, Malus = MalusTemp / 10. [Malus:3] +:~ fallsOnTNTDamage(Obj,P), MalusTemp = 100 - P, Malus = MalusTemp / 10. [Malus:3] + +% +% Data and other background knowledge. Removes ground for streamlining computations +% +ngobject(O,T,A,B,C,D,E) :- boundingBox(O,T,A,B,C,D,E), T != ground. +objectType(O,T) :- ngobject(O,T,_,_,_,_,_). + + + +% +% Percentage perturbations on tap time depending on bird type +% +tap(85) :- birdType(redbird). +tap(90) :- birdType(yellowbird), target(_,high). +tap(88) :- birdType(yellowbird), target(_,low). +tap(85) :- birdType(bluebird). +tap(120) :- birdType(blackbird). +% +% A whitebird not deploying eggs should not tap +% +tap(300) :- birdType(whitebird). + +damageProbability(redbird,pig,100). +damageProbability(bluebird,pig,100). +damageProbability(yellowbird,pig,100). +damageProbability(blackbird,pig,100). +damageProbability(whitebird,pig,100). + +damageProbability(redbird,tnt,100). +damageProbability(bluebird,tnt,100). +damageProbability(yellowbird,tnt,100). +damageProbability(blackbird,tnt,100). +damageProbability(whitebird,tnt,100). + +damageProbability(redbird,wood,95). +damageProbability(redbird,ice,80). + +nogoodForStone(redbird). +nogoodForStone(yellowbird). +nogoodForStone(bluebird). +nogoodForStone(whitebird). + +damageProbability(B,stone,0) :- nogoodForStone(B). +damageProbability(blackbird,stone,100). + +damageProbability(bluebird,wood,10). +damageProbability(bluebird,ice,100). +damageProbability(yellowbird,wood,100). +damageProbability(yellowbird,ice,10). + +damageProbability(blackbird,wood,90). +damageProbability(blackbird,ice,90). + +damageProbability(whitebird,wood,90). +damageProbability(whitebird,ice,80). + +damageProbability(egg,X,Y) :- damageProbability(blackbird,X,Y1), Y = Y1 -10. + +materialFallImportance(wood,90). +materialFallImportance(ice,80). +materialFallImportance(stone,100). + +materialFallImportance(pig,100). +materialFallImportance(tnt,100). + + +energyLoss(redbird,pig,90). +energyLoss(bluebird,pig,90). +energyLoss(yellowbird,pig,90). +energyLoss(blackbird,pig,90). +energyLoss(whitebird,pig,90). + +energyLoss(egg,X,Y) :- energyLoss(blackbird,X,Y1), Y = Y1 - 20. + +energyLoss(redbird,tnt,90). +energyLoss(bluebird,tnt,90). +energyLoss(yellowbird,tnt,90). +energyLoss(blackbird,tnt,90). +energyLoss(whitebird,tnt,90). + +energyLoss(redbird,wood,10). +energyLoss(redbird,ice,10). + +energyLoss(B,stone,0) :- nogoodForStone(B). +energyLoss(blackbird,stone,85). + +energyLoss(bluebird,wood,0). +energyLoss(bluebird,ice,90). +energyLoss(yellowbird,wood,90). +energyLoss(yellowbird,ice,0). + +energyLoss(whitebird,wood,10). +energyLoss(whitebird,ice,10). + +energyLoss(blackbird,wood,80). +energyLoss(blackbird,ice,80). + diff --git a/dlv/algorithm.dlv b/dlv/algorithm.dlv new file mode 100644 index 0000000..e64a2d2 --- /dev/null +++ b/dlv/algorithm.dlv @@ -0,0 +1,211 @@ + +#maxint=1000. + +trajectory(low). +trajectory(high). +%trajectory(high) :- not birdType(yellowbird). + +% Changed the likelihood to numbers, so that we can use arithmetic predicates. +likelihood(4). % very likely +likelihood(3). % likely +likelihood(2). % uncertain +likelihood(1). % might happen +likelihood(0). % not likely +type(pig). +type(ground). +type(ice). +type(wood). +type(stone). + +% +% Percentage perturbations on tap time depending on bird type +% +% +% +tap(110) :- birdType(redbird). +tap(95) :- birdType(yellowbird). +tap(85) :- birdType(bluebird). +tap(120) :- birdType(blackbird). +tap(80) :- birdType(whitebird). + + +% likelihoodtable(bird, material, hitorder, value). +likelihoodtable(bluebird,ice,0,4). +likelihoodtable(bluebird,ice,1,4). +likelihoodtable(bluebird,ice,2,1). +likelihoodtable(bluebird,ice,3,1). +likelihoodtable(bluebird,ice,4,1). +% +likelihoodtable(bluebird,wood,0,3). +likelihoodtable(bluebird,wood,1,2). +likelihoodtable(bluebird,wood,2,1). +likelihoodtable(bluebird,wood,3,0). +likelihoodtable(bluebird,wood,4,0). + +likelihoodtable(yellowbird,wood,0,4). +likelihoodtable(yellowbird,wood,1,4). +likelihoodtable(yellowbird,wood,2,4). +likelihoodtable(yellowbird,wood,3,4). +likelihoodtable(yellowbird,wood,4,3). +% +likelihoodtable(redbird,wood,0,4). +likelihoodtable(redbird,wood,1,3). +likelihoodtable(redbird,wood,2,2). +likelihoodtable(redbird,wood,3,1). +likelihoodtable(redbird,wood,4,0). + +% +likelihoodtable(redbird,ice,0,4). +likelihoodtable(redbird,ice,1,2). +likelihoodtable(redbird,ice,2,0). +likelihoodtable(redbird,ice,3,0). +likelihoodtable(redbird,ice,4,0). + +likelihoodtable(blackbird,stone,0,4). +likelihoodtable(blackbird,stone,1,3). +likelihoodtable(blackbird,stone,2,2). +likelihoodtable(blackbird,stone,3,1). +likelihoodtable(blackbird,stone,4,0). + +likelihoodtable(blackbird,wood,0,3). +likelihoodtable(blackbird,wood,1,2). +likelihoodtable(blackbird,wood,2,1). +likelihoodtable(blackbird,wood,3,0). +likelihoodtable(blackbird,wood,4,0). + +likelihoodtable(blackbird,ice,0,4). +likelihoodtable(blackbird,ice,1,4). +likelihoodtable(blackbird,ice,2,4). +likelihoodtable(blackbird,ice,3,4). +likelihoodtable(blackbird,ice,4,4). + + +nogoodForStone(redbird). +nogoodForStone(yellowbird). +nogoodForStone(bluebird). +likelihoodtable(B,stone,X,1) :- nogoodForStone(B), X >= 0, X <= 4, #int(X). + + +% +% Default rules +% +existLikelihoodtable(B,M,Y) :- likelihoodtable(B,M,Y,_). + +stability(V,O) :- &stability[W,H,A](V), object(O,_,_,_,W,H,A). + +stable(O) :- stability(V,O), V > 25. +verystable(O) :- stability(V,O), V > 50. +heavy(O) :- &on_top_mass[O,objects](M), M > 100, object(O,_,_,_,_,_,_). + +% +% When targeting X, Z is the Y-th object hit in the trajectory T (starts from 0). +% +% For performance, this graph is built only for trajectories directed to shootable targets. +% +next(X,Y,Z,T) :- shootable(X,T), &next[X,T,V,Sx,Sy,Sw,Sh,object](Y,Z), velocity(V), slingshot(Sx,Sy,Sw,Sh), trajectory(T). +shootable(O, T) :- &next[O,T,V,Sx,Sy,Sw,Sh,object](0,O), velocity(V), object(O,_,_,_,_,_,_), slingshot(Sx,Sy,Sw,Sh), trajectory(T). + +% This part sees to it that for every answer set exactly one target is generated. + +target(O, T, Time) v not_target(O, T, Time) :- shootable(O, T), tap(Time). +targetDebug(O,T) :- target(O,T,_). + +:- target(X, _, _), target(Y, _, _), X != Y. +:- target(_, T1, _), target(_, T2, _), T1 != T2. +% +% Disabled for performance reasons. We assume there is always ONLY ONE TAP TIME AVAILABLE +% +%:- target(_, _, T1), target(_, _, T2), T1 != T2. +target_exists :- target(_,_,_). +:- not target_exists. + +%reduceLikelihood_next(O, Previous Object, Likelihood, ReducedL) reduces the likelihood of an object falling, based on info about the object and its predecessor in the trajectory. +reduceLikelihood_next(O, Prev, L, RL) :- reduceLikelihood(O,L,RL), object(Prev,pig,_,_,_,_,_). +reduceLikelihood_next(O, Prev, L, RL) :- reduceLikelihood(O,L,R1L), object(Prev,T,_,_,W,H,A), T != pig, T != ice, RL = R1L - 1, not verystable(Prev). + +%reduceLikelihood(O, Likelihood, ReducedL) reduces the likelihood of falling, based on properties of the object O. +reduceLikelihood(O, L, L) :- not stable(O), not heavy(O), object(O,_,_,_,_,_,_), likelihood(L). +reduceLikelihood(O, L, RL) :- not stable(O), heavy(O), object(O,_,_,_,_,_,_), likelihood(L), likelihood(RL), RL = L - 1. +reduceLikelihood(O, L, RL) :- stable(O), not heavy(O), object(O,_,_,_,_,_,_), likelihood(L), likelihood(RL), RL = L - 1. +reduceLikelihood(O, L, RL) :- stable(O), heavy(O), object(O,_,_,_,_,_,_), likelihood(L), likelihood(RL), RL = L - 2. + +% An object, that is hit will fall, +% if it is either a pig (direct destruction), + +fallsnext(O, 4) :- target(O,_,_), object(O,pig,_,_,_,_,_). +fallsnext(O, 4) :- target(O,_,_), object(O,ice,_,_,_,_,_), not birdType(yellowbird). +fallsnext(O, RL) :- target(O,_,_), object(O,Type,_,_,W,H,A), Type != pig, Type != ice, reduceLikelihood(O, 4, RL). + +% +% In the absense of information about the current bird/material likelihood we behave as before. +% +%fallsnext(B, RedL) :- birdType(Bird), not existsLikelihoodtable(Bird,Material,Y), reduceLikelihood_next(B,Prev,Likelihood,RedL), +% object(B,Material,_,_,_,_,_), +% object(Prev,_,_,_,_,_,_), +% fallsnext(A, Likelihood), +% next(T,X,A,Tr), +% Y = X+1, +% next(T,Y,B,Tr), +% target(T, Tr,_). + +% +% Otherwise we use domain knowledge (recall we have hardwired tables up to the 4th consecutive object) +% +fallsnext(B, N) :- birdType(Bird), likelihoodtable(Bird,Material,Y,N), + object(B,Material,_,_,_,_,_), + fallsnext(A, Likelihood), + next(T,X,A,Tr), + Y = X+1, + next(T,Y,B,Tr), + target(T, Tr,_). + + + +%If an object falls, all objects that rest on it, will also fall. +%Does not work: +%falls(X,Likelihood) :- falls(Y,Likelihood), object(X,_,_,_,_,_,_), object(Y,_,_,_,_,_,_), &on_top_of[X,Y,object]. +%Workaround: +%ot(X,Y) :- object(X,_,_,_,_,_,_), object(Y,_,_,_,_,_,_), &on_top_of[X,Y,object]. +% +% Much faster, only one call per program. +% +ot(X,Y) :- &on_top_all[object](X,Y). +fallsontop(X,L) :- fallsnext(Y,L), ot(X,Y). +fallsontop(X,L) :- fallsontop(Y,L), ot(X,Y). + +firstabove(X,A) :- &firstabove[X,object](A), object(X,pig,_,_,_,_,_). + +% An object falls on a pig. +fallsfromabove(X,L) :- object(X,pig,_,_,_,_,_), fallsontop(A,L), firstabove(X,A). +fallsfromabove(X,L) :- object(X,pig,_,_,_,_,_), fallsnext(A,L), firstabove(X,A). +fallsfromabove(X,L) :- object(X,pig,_,_,_,_,_), fallsfromabove(A,L), firstabove(X,A). + +% +% falls(Object,Likelihood) +% +% The following section creates a unified predicate falls(O, L) from the other objects. +% +% Fallsnext: based on trajectory. +% Fallsontop: based on statical analysis (on_top_of and on_top_all simulations) +% Fallsfromabove: graph of falls starting from pigs and above, closes using &firstabove + +falls(O,L) :- fallsnext(O,L), falls(O, L2), not L2 > L. +falls(O,L) :- fallsnext(O,L), not existsOtherLikelihood(O,L). + +falls(O,L) :- fallsontop(O,L), falls(O, L2), not L2 > L. +falls(O,L) :- fallsontop(O,L), not existsOtherLikelihood(O,L). +falls(O,L) :- fallsfromabove(O,L), falls(O, L2), not L2 > L. +falls(O,L) :- fallsfromabove(O,L), not existsOtherLikelihood(O,L). + +existsOtherLikelihood(O,L) :- likelihood(L), falls(O,L1), L1 != L. + + +% Now we give malus points for pigs that have not fallen or are not likely to fall. For each pig that does not fall, the answer set gets 5 malus points, if the pig falls with remote probability it gets 4 malus points and so on. If a pig falls certainly, the answer set gets no malus points for the pig. +hasSomeFallLikelihood(P) :- falls(P,_). +:~ object(P,pig,X,Y,W,H,A), not hasSomeFallLikelihood(P). [5:3] +:~ object(P,pig,X,Y,W,H,A), falls(P,Prob), Malu = 4-Prob. [Malu:3] + +% Tie breaker: If there are multiple equal answer sets, we select the one where most stuff falls. +:~ object(P,Type,X,Y,W,H,A), not hasSomeFallLikelihood(P). [5:2] +:~ object(P,Type,X,Y,W,H,A), falls(P,Prob), Malu = 4-Prob. [Malu:2] + diff --git a/dlv/asparse.dlv b/dlv/asparse.dlv new file mode 100644 index 0000000..500e8ff --- /dev/null +++ b/dlv/asparse.dlv @@ -0,0 +1 @@ +nt(X,Y,Z,T,O) :- next(X,Y,Z,T,O), target(X,T). diff --git a/dlv/calibrate.dlv b/dlv/calibrate.dlv new file mode 100644 index 0000000..d8d1037 --- /dev/null +++ b/dlv/calibrate.dlv @@ -0,0 +1,37 @@ + +#maxint=1000. + +trajectory(low). +trajectory(high). +type(pig). +type(ground). +type(ice). +type(wood). +type(stone). + +% +% Percentage perturbations on tap time depending on bird type +% +% +% Tap on red is used for calibration. +% +tap(50) :- birdType(red). +tap(50) :- birdType(yellow). +tap(50) :- birdType(blue). +tap(50) :- birdType(black). +tap(50) :- birdType(white). +% +% When targeting X, Z is the Y-th object hit in the trajectory T (starts from 0). +% +% For performance, this graph is built only for trajectories directed to shootable targets. +% +shootable(O, T) :- &next[O,T,V,Sx,Sy,Sw,Sh,object](0,O), velocity(V), object(O,_,_,_,_,_,_), slingshot(Sx,Sy,Sw,Sh), trajectory(T). + +% This part sees to it that for every answer set exactly one target is generated. + +target(O, T, Time) v not_target(O, T, Time) :- shootable(O, T), tap(Time). + +:- target(X, _, _), target(Y, _, _), X != Y. +:- target(_, T1, _), target(_, T2, _), T1 != T2. +target_exists :- target(_,_,_). +:- not target_exists. diff --git a/dlv/strategy.dlv b/dlv/strategy.dlv new file mode 100644 index 0000000..c5dfa8a --- /dev/null +++ b/dlv/strategy.dlv @@ -0,0 +1,35 @@ + +%%%%%%% first priority strategic rule (R1): play each level once %%%%%%% +% firstchooselevel(X): the level X was chosen as the next level to be played wrt to R1 (secondchooselevel and thirdchooselevel are defined accordingly) + +firstchooselevel(X):-timeslevelplayed(X,0),myscore(X,0),timeslevelplayed(Y,Z),#succ(Y,X), Z>=1. +firstchooselevel(0):-timeslevelplayed(0,0),myscore(0,0). +firstchosen:-firstchooselevel(X). + +%%%%%%% second priority strategic rule (R2): play level in which our score maximally differs from the best one (unless this level has been played >=3 times); if more then one level satisfy this property then among the candidates choose the smallest level that was played minimal number of times %%%%%%% +% diff(X,Y,Z) states that at level X |ourscore-bestscore|=Y; Z=1 iff ourscore>bestscore, otherwise Z=0. + +notmaxdiff(X):-diff(X,Y,0), diff(X1,Y1,0), X!=X1, Y1>Y. +maxdiff(X):-diff(X,Y,0), not notmaxdiff(X). +secondchooselevelcand(X):-maxdiff(X), timeslevelplayed(X,Z), Z<3, not firstchosen. +drop(X):-secondchooselevelcand(X),secondchooselevelcand(X1),timeslevelplayed(X,Y),timeslevelplayed(X1,Y1),Y>Y1. +notminlevel(X):-secondchooselevelcand(X), secondchooselevelcand(Y), not drop(X), not drop(Y), Y=5 times); if more then one level satisfy this property, then among the candidates choose the smallest level that was played minimal number of times %%%%%%% + +notmindiff(X):-diff(X,Y,1), diff(X1,Y1,1), X1!=X, Y1Y1. +notminlevel(X):-thirdchooselevelcand(X), thirdchooselevelcand(Y), not drop(X), not drop(Y), Y. diff --git a/framework/Readme(Server_Client) b/framework/Readme(Server_Client) new file mode 100644 index 0000000..e10c700 --- /dev/null +++ b/framework/Readme(Server_Client) @@ -0,0 +1,89 @@ +ANGRYBIRDS AI AGENT FRAMEWORK +Copyright © 2014, XiaoYu (Gary) Ge, Stephen Gould, Jochen Renz, Sahan Abeyasinghe, Jim Keys, Andrew Wang, Peng Zhang. All rights reserved. +This software contains a framework for developing AI agents capable of +playing Angry Birds. The framework is composed of a javascript plugin +for the Chrome web browser and Java client/server code for interfacing +to the game and implementing the AI strategy. A sample agent is provided. + +* The details of the server/client protocols can be found in ./doc/ServerClientProtocols.pdf + +* We provide a sample agent communicating with the server by the pre-defined protocols. The implementation can be found in ./src/ab/demo/ClientNaiveAgent.java + +* We provide a wrapper class in java that can encode/decode the communicating messages. The wrapper can be found in ./src/ab/demo/other/{ClientActionRobot.java , ClientActionRobotJava.java} + +* We provide a sample C++ client that demonstrates how to connect to the server and send a doScreenShot message. It can be found in ./src/ab/demo/abClientExample.cpp + +=================== Commands of the server/client version ===================================================== + +* Please start the server first, and then start your client. + +To start the server: java -jar ABServer.jar + +To start the naive agent (server/client version): java -jar ABSoftware.jar -nasc [IP] + +*You do not need to specify the IP when the server is running on localhost + +===================== Commands of the standalone version ======================================================= + + java -jar ABSoftware.jar -na // run the agent from level 1 + + java -jar ABSoftware.jar -na [0-21] // run the agent from the specified level. + + java -jar ABSoftware.jar -na [0-21] -showMBR // run the agent with the real-time vision output (MBR segmentation) + + java -jar ABSoftware.jar -na [0-21] -showReal // run the agent with the real-time vision output (Real shape segmentation) + + java -jar ABSoftware.jar -showMBR // show the real-time MBR segmentation + + java -jar ABSoftware.jar -showReal // show the real-time real shape segmentation + + java -jar ABSoftware.jar -showTraj // show the real-time trajectory prediction + + java -jar ABSoftware.jar -recordImg [directory] // save the current game image to the specified directory + + +================================ Outline of the source files ==================================================== + +The src folder contains all the java source codes of the software. + +The following are the files you may want to modify: + +========= Files under ./src/ab/demo/ ===================== +ClientNaiveAgent.java : A server/client version of the Naive agent that interacts with the server by the pre-defined protocols + +NaiveAgent.java : A standardalone implementation of the Naive agent. You can run this agent without the server. + +======== Files under ./src/ab/demo/other/ ================ + +ActionRobot.java : A java util class for the standalone version. It provides common functions an agent would use. E.g. get the screenshot + +ClientActionRobot.java : A server/client version of the java util class that encodes client messages and decodes the corresponding server messages complying with the protocols. Its subclass is ClientActionRobotJava.java which decodes the received server messages into java objects. + +LoadingLevelSchema.java / RestartLevelSchema.java / ShootingSchema.java : Those files are only for the standalone version. A standalone agent can use the schemas respectively to load levels, restart levels, and launch birds. + +======== Files under ./src/ab/planner/ ==================== + +TrajectoryPlanner.java : Implementation of the trajectory module + +======= Files under ./src/ab/vision ====================== + +Vision.java : the entry of the vision module. + +VisionMBR.java : image segmenting component that outputs a list of MBRs of a screenshot + +VisionRealShape.java: image segmenting component that outputs a list of real shapes of a screenshot + +======= Other Useful methods in /src/ab/utils/ABUtil.java ========================================= + +isSupport(ABObject object, ABObject support): returns true if support directly supports object + +getSupports(ABObject object, List blocksList): returns a list containing the subset of blocksList that support object + +isReachable(Vision vision, Point target, Shot shot): returns true if the target is reachable (without obstruction) by the shot + +====== Files under ./src/external =========================== + +ClientMessageEncoder.java : encode the client messages according to the protocols + +ClientMessageTable.java : a table that maintains all the client messages and its corresponding MIDs. + diff --git a/framework/SourceFilesDescription.txt b/framework/SourceFilesDescription.txt new file mode 100644 index 0000000..c0441d1 --- /dev/null +++ b/framework/SourceFilesDescription.txt @@ -0,0 +1,32 @@ +The src folder contains all the java source codes of the software. + +The following are the files you may want to modify: + +========= Files under /src/ab/demo/ ===================== +ClientNaiveAgent.java : A server/client version of the Naive agent that interacts with the server by the pre-defined protocols +NaiveAgent.java : A standardalone implementation of the Naive agent. You can run this agent without the server. + +======== Files under /src/ab/demo/other/ ================ + +ActionRobot.java : A java util class for the standalone version. It provides common functions an agent would use. E.g. get the screenshot + +ClientActionRobot.java : A server/client version of the java util class that encodes client messages and decodes the corresponding server messages complying with the protocols. Its subclass is ClientActionRobotJava.java which decodes the received server messages into java objects. + +LoadingLevelSchema.java / RestartLevelSchema.java / ShootingSchema.java : Those files are only for the standalone version. A standalone agent can use the schemas respectively to load levels, restart levels, and launch birds. + +======== Files under /src/ab/planner/ ==================== + +TrajectoryPlanner.java : Implementation of the trajectory module + +======= Files under /src/ab/vision ====================== + +All the files under this folder are vision files. + +Vision.java : the primary implementation of the vision module. + +====== Files under /src/external =========================== + +ClientMessageEncoder.java : encode the client messages according to the protocols + +ClientMessageTable.java : a table that maintains all the client messages and its corresponding MIDs. + diff --git a/framework/doc/ABDoc.pdf b/framework/doc/ABDoc.pdf new file mode 100644 index 0000000000000000000000000000000000000000..46cef4cc6aafb0f768ea469864a1fd5b6a06591e GIT binary patch literal 1388546 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 z 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

8dmlSoFky9FbieEBM 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ℑ|W!9SjG#ViBn=4A=ma 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�&_bm^CriL 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%0DrN`aOm^)@p7XvWN@rWp`S8iQ6) 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

y2vY59|5kt3^glJ4C~i9W8zyp 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�*aYTj_J~BQs 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˲ZFT_gDQv+Vs#f7SKrexGyq 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 ~FxF#2&tK_SwfkToXVd`wj{-NkD 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

ap$2G} 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

$Ht1Gi_-7E6ity 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
MImv6%ox*AQSU3~R}E|wS9#X^IZBlN)C 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

NNE6==XJ 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%0Dt4(!*;#>aE@x|w;Qn91F+#bdo8mVg2~ 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 z z%&SQn-Wz)J4X(1T(pS`O2G|+zaa6tpJkNT-qIH3Cyo}YHak(h_896pM!EwfmRMFt6 z+~n2_i1(yz`AJI`RAK3YZo2DFo6ddt?T`1Ye{v;HkHwyNV%DB{yA*3zUVpFZx3?}v zYDE9!%X=F){A$1Sw@2D$qu#wg_?JhEJp4RZJ`0_*i#Q4tG)72(f*MnQNMrM6XgO~V z4h1|eg7OcQcr-)m|7Gu7;F~Ja{y(R=-`dh9CFN2BR4Gsj0@li>5u2uI z6PhL=Nok8*0+hA_VnGT8>TTCWMHaazy2$HRU|C(Ux?ZsBi!2ux)UD;RT3Hu+-rvkQ zNfX-j!~XyO-TnOEPxA0RXU^Q7nP+C6nNw0QX^-ekiD;-asfQP^Z`gZe4_~$D^$)*l zffL}T_Gf=qwlOny*xj9jCk#!{kIBAu$c&<4`qZq>VVT3?)x+m;{qL0&TW8MNw5)S# zz}-y9KWCU3 zKRl~*sBGUCU;NM*(?4?xcV%YQ(3lyzYu~U2(ciZ~8}5gV^pYm-m-hckNxP{3iU_MH@9wKhXFk^KeEI6KsN_Ff z$X?ixzxADYpA*5_l2)|jW^%_~5{J39KWX5*gQ$6vVczIOn3l*AFxONnt&B}D`VXqW zuz{f-75r92uWrBK7&7*)>U&FlcTdb(A2(sbO}TS>_sJO7**|Dc$wRVPQ*Vjxymm)M z@~jDIowoeUe(G==qOFhdf067(TZfZzS@8)5gW_h6keGfN6VA4r^eZ^qq*oFW62FQI zIG{Vb_ABA%lwCj6yOD10^2~+z-*#8! z)A#2#xFzbm`=;a!o{*lJHq$wy@#)c*AATTzYHH@~xAwVX>H~Mobmf|2=)WC44XrPc zX-Hpk+g>@mW!!7hKJ?2Ce8L-OZeOC5Cch$=$%y=Q=}p(a{hIvT(oThuXZh2ACsvcRgvGea0ow|9B+xrhQ-c_rI(kp2f{orasWwmZ#Rm<5M$=(}(ES<#D^= zAazrJjF~ZU7~7s^P8yi^_+#AOX&D3P?+Iq%-Q_G=-RHAa2y!XFZB;zE9q{ErKB2zQD z8*)OP!lXelM6p8gopS!aRG#=xii&>Rs$=SVnH*O0R5bT$ey<&)te~um( zy*>KkzfNLg|3R4_^LgxSChznTK2sq_;(9ZwjO&QMH~w{f^nXm!AlZ8JPsqA|Qg%ip zBL61&_koWo-nLN_(QvZqlU+RA?BL5Cay6uLg7Sh^X zZkopAc`7Dd50YwYpY2d#mzoYpj=|tN3C9~^@sIkH?rxIOMBME$>iGw{!*i(^2 zDuy`{EwPE=C=#vqh+zpyR{O=UG$fCV7}d{-VR=Zrf-F)W62nR|R1znKRb;Yelo(bk z)WQ53GFwwAhP5O`(;|igZI%Sv%!xf1rRfmE98qXf#BdZ*#QaJOOGsSID`Hq0l1E0g zF~`KPJS1L0#>IRnhLyyi`B4n3$e>uA7*|LRhe~5SE7I5$r64T;0}Tsyet@`0IWdtkVkT9%mlH3s;_f3hVn^6Sijl*KXA^SJXE)M4$ZtoS58)!j z6|%Cl3@v*XxsOaI6UDNgkQ6tbTqsdaEUZR5YBrGyrptnB&w7Ptn%6=cC|e|I^&y7| zA)4++iqHcy@)e1?>|zZTu`VmSrXl9~e$#XZ3#AbHZ~dB(w+#IXXzHm|&Tci|xQ)7M zFJd*7AkKqlFLHR8HGH_zx_j=spuKy$#)Vjb_C)B5kLh!>(J-_6g}xRcrh@g{h4_Ee zQ^C&WFq>N0xVprv&?_Najwd&}npkTWvEEpN_0XISlGyLTsQHUW93Dijh_h{j{W+&6`T{BJ__UBkBJ#hR}>| zI!t5|>uJD#fwa8^R9sJ&FB(FC;1VPR3lQ9bJ0y5;cMAkf;H~$ZjHM% zE{$LE|9{`iH|x#3duQ%@Ywfkq?qBWNwd0%sAG+Pky3O$IDBBu!7S(wbyV7C~x?`moku}t_mC*_4`0QUQFzr!sofa2aTIC$BJ zYPa#g(IL8h-;=EQJcf0U1Ph?5)GeG9-GC}&7#LLRB@z{pULPbg6W5eB-Y@$0#hhG~blOSg7&H<=R z@&a%UaGdav4Vrp?Sp4KzjKG>jW2MvU5L4Zgl6#s!k|Qc_@Ews(0dXQ;#r|}x`mO1Y zFHc!sEMM^zVr~Qw?$_(-T@BFew6v|?vy&2*loPW0j*c_i9qw{rTeaQEXIqK$ULC;- zSW#Kc!l>#u?pV!*>(j7-vf%ZGWZRIgo?hK|ae(1Y-gc}EY zXX945Fs-hYY#26a!5pb{js-}$;Kv)AR)!G+BGD79c-f6f=E9@Dg(H5*KxvnSij6B;L+ChEWFvF#w>7o1L&gDBQW(T zp$~GN=;4^aI>I)w{&{;z%0i%mX7!-f6;~s4k}_!siQln$!1y{DsZ6z?sQ;igfvZe3 z-yorH%NFfMlaFoDkR5L!je@eex_`?qiI7pPsHl6JmPKX$*TMCCnm{b`z4QtT>$Ec@ zv}}cK3Y(V zf@sdbwZTh-hpo>?_GOeSme$Sa+ot~}Dtv@iGO%+#kJpqcfQ>f5$QCmDb&1BlLvu%L zXxfxJy(qr?*0c;8S#92f zBWA&$kHR!`MjTb%I3H+lu70Fi0C%Qh6u=lXAKk=kC#7+oOB=cD6Sem}IU&b(zJL9E zlG(;kWxk~nw~T0WtaRhYAp+~5346lC8vw=mZL|GogS4?*Qk)F+A|?H&rnw+)36qK` zO;YKPFLOG8mlvf9kOz-@3soCn>m-Np?ufPP3}H992&(-!DES!-mHWq&WdtG{`ZbNO zV<&gU&ki-uDTvh?QpB{hjjXDtA{v;x0*by}$#iHV(zj_iMh>wdS0#$(>86bB67w2} zh>D78YGf9(O@Ds9txZ8(y`;+Cxk1-Eh%_>oZdQk&z5PCnmS=yQkS!{Id>=_TZoy-k z6I-<^aK&NuGT4G_90Bx7nu14o@4R+iXmBIqYMYt~D@^OhO(T)~M=mrJM!=6~6FTSTpRPB5icbxHc zBOR_;hcg_FP1W(5)PDQ@xsJbQ{g*v`=*}x zdx7UKzc(Ht2u4TX$D(^S-g+Z19P+3wz5&7#XH)47!<8_S50OjvcwqJ9n_K6mxCoy8@_%{@{ ztfh9M(W4X3=F;!VLqicKa8Pv~GXZS&GXCXmSpY`+h0Gyj9lFdz;GQd1qpo-P*rC9?p`_A_79VD0%4bndeb zImfRU4Fm$p?ZzGO8$GvLx0Dt9S%v20_dej1OR*fn+w;HHsU5F{YjpfF2eZe6qQfwL zg>Rqs^1^a%6!~~wKzZwU9K23_&|!2r>ck9QW8l}hAA8BDIz8jt0rBR0i?4J9gUUU| z9p1>1e3{!FzhbxdkgKz?-3tjS$KD(CF2^5d=haR)lKxqql1cZjk=VDKV!W2PF*)-P zb$u>^|VylKepWLB_pn!dPgmAZ@WNTc>3eue1~jHWQ=m1zS72rC6-&*dLgDIgD}s zg`empGPZ2V)ZE)`gL}?^tT-ef4fwBG@kLKHijuLDrKM6oM_H?U%cv80({U_DhK5*^ zVhIak$8~RmS1aN${jh ze=^5W=%Sa*4npz&k-b#2X%1JQ8ZoB(jZQs@U$<;$dXaU+*h?U0U;6ihNwS&1Os$1` z{J2=LQEDv*__5Woa^@Uy*iDt zgnIOy-VFD%NZs+?UCyC=m#CR9Wq^z!jz~#Z$bqp+nXjfw0R;~OAKAp`{q2+ONXyph zg=q^~YHE=Ew}K7(j1#g1#nJFuvVs(h670nbqcUuZ2YX z*`>2;W6aZ5pInbne3WmdHW?3Gfl@e=02q8UIzG6~-bYu2ryRj#o}ZD8qN?q)NfF1Z zFcOs+`wQq9=c|+jtujm-83~Y1xT{gGk9piGlxn>>%uSV5mH*Pe|9agnxaUo}I?BZw zWI3cbHdT_p75erOJF-AC4wC)_b8(HLFEYLSsQwtL5{_b5o4Ho}%amY%wi!c}2mneh zoc0Q!V~f!mpeEe8!{n)OP%xFRKFt!I1A{|9{6tG*vuBMSucNQgh?7Uir3l$@^HK0u|61R(xKc?Ew@03tfnT!7u#z1Uy zvo_1;=M{X)Xbw8B6RYcy2>AC^;mV6MOWbul#ZT3fGZnpxkhQoyvKz zH40#T?J4B;DaWe>y+mJJ_~i4)N);4~No4-;f)-x~S8>S)C5lhoKc^fso=fEQqQCB} zFPkB11Wg?=+WsV@qWVVA&}-J;zdC9~>E@!(?N0kzxdJ>5M@KHYT_3*;Mmd(%F8df9-# zJ{DlPeyeleIfb_qSfKWZk>2WT=jzb->#!qh@!B2m(`0jjH ztrt{qqD_+iq}X8#E$H$y!EifJ#Z02^mdza?$aEVwUj5Ni_9`QwNE2!&KH~hn*T?PhCU-X?*@egJhX3wi z?m})$FFA&LHxxmZk1aZ15WGvwpUz6c=`9)WxE0&sCwKdX}bu~PlCk8@HCB#JG4VJC+dbWBZ z#3LAz>e&W7+!wH{DP=USzq@Ro558;L^oD3DTMVKFBtgt8Ht{cU8Jl8VFKN z`B-1t3I|L-sF@*GBPmT%smAA~nma0H%%)+#FXo()Bn8$!nj_5S&*smK7BiHWm6jEi zRV=ICYeQNWcNPt6^``6QbW4=xdS)qR@@B(}hYGb+Z(Jh}c`JK`DJ+&}iHZ)Sz%{by!${9kU0ByaEglx9@OGufV(`2kPu#d_Y_BeBX( z#(0Da+wlbbf#sTDC7M2Bq$zqwN*1<^Fqb}sCc69ki@2}6`!&OD>C+KKyrP>VEePB- z*<+A%PZ&)1Q<$9~xj>g8x?h0jb}2X_bIb2gbadIRv2Cn3K(A#N#IQ|f9qFQpbvN+|Gb{k*0$L3Usn zMEU+ctzdD^L;+ReyQS2qj$pz_)I(pJe^6Q^#>4kV<%#DB7ZH<~H5D^~54==dU4=~i zge*%tLtM_hVGRoIely2R$D^w{YC@a{B+>P-cr9ta`bI&5uIQqX&~<*QFdi|krS zSFRhH^ZDliue3T+<;Da|_qrL}7q!=8H3;9&IkpDnkolek$wvwBjy`=So3E34LwECu zUnB9D+A4!{s^wJ^YD|b}edICsh9_(m5T;|)KJ{3z)L#qZNESo0oXmB~N0iF!+YPXB zj9#$k`XeP>n6qtY)31pP1~6teuQErIqQ*D4rgtOD`zP9YmhzMQ2yXJpAQEN`%TBv+ z5c${Q0tDfhp0pwIK}uS-XLBWCwzQcNnQW%^{cO^PtN_=vKx;Gbj#1}_RWi%eRrR*o zu~`Q#t-2nolqSgJbs=OBGO;8hm->YoiB4mg?RJ1^4bEMzD1*hy5|Q7F;uC-EP7!5? z-%kPZ**!Pck*SnKxdG=p{k2?EWkC-_-L4zyyXr|3enF=Pp~q0+F@~qS>x4c>XuR5; zn(O}P$dRu=<%+UM#piO4^|GUP0)8>)MBvw+2u|tN+l;4fpIr1Q+xkEWVVuXX;{8w& zPJGd9(7s4yDxS^xlYg7UCu$dsuqNqg!oK>CJJfi7u2!PXJm1!h$t=D)!+6DCYu{Z#DRRhuZ4B33w<>AP3Na}z{uO8-bS7x zoz3717fjsSNtvf6`jily8o}@r*7c5;{sCt)#hO&?3Hw{O`X$UGG_qel7ZtWhpGyMP zu!HL}vGl7OpM^Eg&j@_4c6<>!_)akr(TU-4_h??L%A-hnqq;)$VW*1uKumXr^uV}y_NrpUx(wWTxeb_7>!JaL}FLU}=fAd;_CYs{0u?^6Wc z=d@ND3C^=1Uh8~k>eW7beP`cF* z6fi8AuUe|mtYG)`3Hvw449YXY-GT*i>X9Fij^LU6`1P6Q5w0&tdRkuV!kIvGfF>Q> zPo~Yjf&>+BXfxqIWWw=apni_rFudhIYx%;rierGKBA9o`bMiG=BF1DA8a~Y+Z(rb-BYAVJ-Fw9)08#NO#J46yNIY>$lU2FAk+d}VwU^#E5TS^at^tNrzgErVza`(8^ z@4qfgP%CR;>NwhG;pZ1^SV3@MLasb*6E;-GDj=pmPe7k$GQns2l|X0Z>(Z?hl#(y( zZGDv=rnA6?{Y}K{eYZrtB@YVZJGKUxJCHYI+Zj|Wt>M((ScTs3reE29!c=AA{X~HO z_3HCf8I7M|Eu%9ALH}utME^* zwsgli?WUjM!SItEkdLrn7?zH-kI2$*7WA?DVVryh)~tRZ=X;y!^CZF?!@M-yegr|- z>Mt;#{e<*kMB9-lgo$H!kNR`B)S9UtLPV1%oX(O^xWuaA*WO~zqb zcadMGe=Lvi5;#_BcP5U_wDF4}LqY%SXlJZH@{Y40T!{tz(r$?y6PcM{Ggh)TvN|?-wGr6@D@8*;a z-0`<{zLpY8Xvxlc4^#aY$ftz!FzE$=`P<61rvrLT&$I-Nea`D^{U7U(4T_<(Rq3VrYXTGm_cD;<;^it@n8 zg(!ef&~9b}p9;6zj<+_p#s~WM+O+SJw-RZ;NoY5+fqTGlM}C6$eC35O*B+Vq?$n*2 z+4NtDuG#e82%*{ZUkSO{^o3rKpjN!q!bsS&2ga6kFFos5h?(dIhsbv@P#k{y51C`H zbl?%arZZtQGdE2L))G(>=>l7wj}a7M_^Q9t_rtJDl)znGrUqAMMd~2WU(rYXx&fZ& zRIRQF#JdZna#7U+^`g_jdi|r+5nL4H9n_zbk7BoclG@>l+ZDT+V23(rPo*kh`66rZ zY`icDVcTG>{hTnK-N37GeI0I@aLsb5cgiekdS56vQ5<#kL}{<22B^D`*KkrbQu=>v z#^g>yv1wQYB6sm#g?r%;ezGQ5{g@IS)K9&saLSRs+Hn!oe~)P@nl5;r@u5w8k)7}P z?O2&GQ`_vS(D|j`xAgB+NyhWxF{?uo%QE@+dhl)oJgL!h>#@y@6G9>LE_yIh6Lwoc zmp>v1W1{5rk+`z*3@2|!!(KAIdNUK3u&5yzus z$UOT}6+pMQ+y%eM_yro8e>t<%jo5rl7~(SDuvlfM(>ppN%XX<936$vM`h@Rz!4Q}* zAqWn?Y{fg;)WTwTDCkVWftZroR!Jib=E^r62zoPI=Zvszqqy4P&hjAvhy!XPIyD`R zlpncen8#xemGZJFRtioC_dJkf`_#>xdAUPdHVCfaf0Hmz?FT2b{xWYSDhq@&|H9ym z?J~F4id)*nc=rDIuwyfm*y0sI)Gi{Jb7FN)%o+J{8E|Pvw_;mYbz%0-N1T$0%mWXK zGmokZ&&3)w*M7K$y5)02%EgPBn)Y^7X6rqa$eG}Qxc%Ub3Dr5VDGZ6Xpm$_P!J3^7 z(welWtRL$dp*I!j>8D&G%ci%CK0|*74k)fW0#EzR8tvjgM&VBtZb^>K`Nu) zPKjwYnKp)(d|9oLN1GYAF6!1&mwcDY;F`3MM;jP`iR?gAH^N2YAXYuXMS?k`r+&Sk z_y5*(GTQN55qH6qsdgzFSEt60%$w2=qK~gWW1w_ijJ)(iJ_wy|VZhT;Q~(3vbgp+jMr+(L%VE8m=;(dy^wW*Dfg^&Na-+zmr6K zA+3k-x&AUy?k@b*#ka`YT)Aq)S1chK|>(vH9D}7ixn?m}ui{Cq30$lQ|`*X~1vpIq4`~%@Opi zK2>luwwfdn#y<+XtMA|~MCT>v>m*LiNx7WIyn1iQ->V)ugTOSA`%Lb&P?^?d`XvR` zv>L{eBeM*?X66)&t6h)d8s_lT%ki0qLvIP*Pk52vSzBx|z0ZK(E5LkY%TC4gV9Sma zJGvIT?D^UHemyHpomH$9pL{kH({A)9w~0Ht8N-@~ciNIO77*{%4u7-iyXIM9a>w!R zZw~?8gii(=I;RF)QIs3l$y^9y&Z{!rO;%(p4)4y&Q+_u5`a>~h*-0+V`66_qM=yGd zr(rHpKV70g7yz1Ji0ZRXT8NgY>e<4n3I5-diw3y$qHef=f(~4tH>s4UwfrY#jpr@O zuq}ca#ua~l(eRyoWrQda4=)@brmr6IiT>;4>xm`bSPE(t!Z_+)3MYI#>^`^zWk}1S zHX%Dcu$wa0>|;c!<$|l{SW>zW?8^2*h^Ea#e1Z}=XPJcN`&u_0I;naxFzamrZ zS?!G7ec7&UUBd&a*7qFf)#vqbbCI)lb<&eywWABl*t&a14s9J9-au%bLq99jcnn@W zRf3G2+Fcqlc&^_uc|29r9Hu@eZ1$aMZJqKy!1$%}=8kMeIum*cbzBKFyYeGBX57I9-gDjxWA5NGx*2;D=(hh6SDCTyB&=KeR?zXQFS{M}EJ#L$z)W;KPw! zJfl>sogo+;T0bwItEmVYGOV&uu%MDg!IOEiQWv~+`)+S2Rg{ zKe~ghFs&y_1ZsXSo@pfOwR5WXJB7%brYD%xuz>YcXFoSNhZ8d{{-Ze7gAJ2L$M`3) z)NniSoIkqjaRb*_?FGM9&yraazha_5?a~|I%6%V|}od(g=l=ulmSs$d)=n7%vC@AW4H}rbuP95A~H?+#l5&(*}GPF-5$77~# z`@EjWt7vLHZGJ&SUUMf6uGGhs2qy1hEH^<^O z4JND+dD@TnQjB}JAZT-GS!MR_BYalP;6!wxra*tu<>4-rMJtZ+JNSnvIUwk8E|>P8 zMD;xV4{?g|xn@X^=9Y@$-=WsAwg9`WOo~5+{6_;Xwi>rHt+)%d&<<91nYnl6%JDkz zwz6XRVxxoN`-LI4^2@EEo!sa0^?cI|2s4l-b)2PAOGKq}Imsup1TV!u*KY%YQr9hP zr3wG=%WAd6ujpLkx}&To+PN;UnJ=XD%H735T&6n~|U_tOk{5m7g4mMY(L#Sz(@ zghjYHHOn~r%}cd3zBMR(K&#xWpqNY>f@E(ws<5k*~VNF zbOG6(G#3Z2FBY4vU#Of+%Jww@KN_!nBn-RJr!-#2Xw?nHIc^Xo@+fiiE8q_fpATbL zKi#70s*T~?puw&}%yIrOrjOz!is*$r*QL2azqdac1x{5%s`*LWnU=P>6B4v`tEe(;A6yK7dIX zVhx9GGwf56?@FGiy1+D)99OC_@SiXZE7f>4qIDPX&G)H4V{B+;yY{(YO*ZIXT96GR zW3OWD+%}T7#=?SE)&Y-pBth!xPc*Q9-Z3L=*udZsw=EIu9Xkv^^=BYb5{ZD`N_1>Z>!ngb>W%2i;a|@aD|zB6eNvGIpU7*7M?kGVzhK@|M*z1j3B4 z04})Mg5JAndSCY9Dh~GWN)C1s|EnTy5IFMmcpC3?aGSX+m%JUe%t?r{`LuZ8?WZrlRe9UNXgQC(^4W69kGa>bgbf}M{ zrPpgd>wvUY`Fq_5YvndQOPP0kY?LbPj#@KmuD2^0t|by9uM9u`gsYmz|7v-3lv#I> zrC)Fw`PDb((@gMvas3Ul7ts;P3K3x@rKbr8S&4EFZOQ| zoM#nlHpoHP2`<;$66-u;ZN!{wV)oF~lv8Ff3N3mepSlkMwTr>Fwc+C?83%*Gea_EE z6DLqL8Hd)b)F}=K%ZtS5F}qYR_A2!E)0qP9rc{+#B5}SU9}5RnDiJT=gUHd_K9e_n zDFd5^Qbc+oL*Z?jZu~r9Z5nR%E+@b-;q~PzYu@LmO;X6L4a9%>3{9icj;aFbnd{aO z{8#7Ms{L&WP(D82Di8wyT5_GQ6=tKxc#C?CnE>78~ z&gb(UBQ4W?46H-f@DLn-ng(T<%{7{&IksHDSiZmRgH&0eQNOhb32*VQ#xZhrU3R!9{^gz@)J70xt8L!TFEFWV%5*pmg9!E`B z9iL4^SRq*X*5XAyK7YKM%w}S^yL%SDEOTt-KffDl>WDK{`ZnE6AKBuorlV9e-Ar6J zYk`b6>%ab61OpdKYq#wDLT&JOYlDQ(Y4hwyaz{JvHGv^j)u^KHt~*-4s~NP}C>T83eBJQ2k=aOFkM34}oVsj5 zp6XKGSnee>9Y!%kL%NY7v;ez>r5J%pTg4ex0AP#F9sjFf;VzfpuCSC6uXGbapWD00 zX|LGbX_wLaOOmqZ_a1$nP2V=S9{Uajzdi@w9eRv@6WIOH_C1Rkm5bs?D%E`0te4*Q z(cW;>W;JPa%(g|r?YeH2ViedylN!av*Mr z)bBhlhVvOmHl9lJ$q(wF&n|W#`USIL+d0+ucF0!jI~=<@z3$*dx%bs9+G*O`PfI}Y zL`hGUBgqx~St_-li)g2Sdy10@uL`#&V8)Z&{u|e$Fq$?-}9du(SL2!R- zBXf>?*S7bBa7OW{=XfFv4SCXi)SG!`zo|erp+Y!aIz8UPwLm>tp?Yg_67zQM*bXJ4 z$3>km|3M#9+N^{CE%50fCYq87jZWXctT*uJNNi0tdb1wjc0E zGu9vcQU$wi-MGC%E=)kKfh9M#SJ>hw+bj6TY3u(rD*@fm9=C+R-iUc65N@=$5P}k5 zD>mAN3Aws_SpTplZks?@6RuMXgi)I{l|P8vAEY8#(X$#HTz!m!)@A9|_n3gt1$Ina z$_H77ER}E634GjYX|g!@x%hRyd3|0w?x z^Z;A1|E+0(`?BAyF$7$ik%9x#@JYF{sh$CshNjfoRcnAP_&MopUo0PP{+pR<(1Pn9 zv!YhBeIu%N)mB!sJtM}zYErA&(UCxqMpOz;!$KFhG$q9WSpAywaQ#nCyuZo{uI66n zJ~rF%-@OgHSayQJy$>_qWMVrO?ya@S4h_@VcnW=tf7$Ysm-bIK{=d8sx2j8jvG`*4 z3Rq42_Z?Yy9TB}w%^jh*MhzDcy-giy8_O6mIjWG%Eg6`z#U&Y)gH0~(5}RXh_Xi(V zxZ{@e$-(B5L>Jc>QE23nUd8k<<+h{>)$ znr>UvhunYcaZ8ej@2^uY6Xv}r*~aQdL~l?R{cxco!x&Sks#%lm zv52^6>I$y9?=+vW7P$V&?6*FsK5?cxr-!UXsT@Q{MMy|U(#8yGGX{LF-Pv9%OjbM9 z{M@wT0O7DSMfF{47g4FSHrUlSH!!eKHo!Z=9hN;RUl!J~98SNxwiQ5((Mib;2lObD ztv}^ncvMyZ?#*uIh`pU$k6$`EZ8y9X$fD08{-Ph)t@4_`cbH`dV-CQ)RLi|6TpNVX zse0s~h}+lT*nIs45`1@1OXYGs&`WRM0#g8TEWT!gkfoMC zqd=0lhOWdQ3&;H8OSva}H|ZyLaHftBAxKaSL$7wOj=^wGulB~BqI-9(RBeJ86Xy<+ zhZ;{C(vWtO*u4Uzc3u9wQQ!RhZmn<&b?>b)mGz{jv|DxS_MIwM8(e+EY~Ca2`rVx> zJOZT}cNZown8r^I#y- zkiz`%b7ZG+Yxv(NHphh}c6?4{l66icm@8o9L6DZ7Q}#RSs@V4iFQM<;NGZ1*NJEcI zNJA~6-|hNn=x^Gn>Bav}e-`~K9UVti^xIWO@w|NmM^NkW=8woXGgWiGpDfu`SguNb zUjP<4S?whQiHn=9rDJg%JIY5_hkJG6q?_xHcs1^g;bjNf8}|4O+;=SFTaM!M zO75gufVMGFw1!sBjsIDagJ!ITmeFi#SaOs?Q?JpqnSz)OWlnjFLMV&5f*2(3Z;-`Y zmU5&&S7(!DpAEl;+7H)gJPWu`T@uZ09milj)tbbt#InPKUrlX@Yc#BjU+tmYoBGLc z=f|M5vfD|2?9`7z2NolReEPxI78av9kTkbU{_wyreEi=4@j#ST#Uh1W|Iq1zh54&> z_}dfU;_aiqUl*$KWI_6&;#giGg$%>XdUA1w>cYGTP2&7`Ms{!)_LM9$O~|*Bb=SiD z2y^N^u7+9K)djiU3_u< z)+h2SlDsywlPRy7C&NpkP`JCuDX-?%cQ)Biu8&l=sWDw>S6VrDWl@94MHU7dY#CMk zS5wP&@T2ygxF43CuIri#O9dvjpnSCpw>#^vZy556jR%{4xeACt7}D*co+$1ZXLYl6 z4p{#=+H0tbTD~i?ti5B%^91BK8Y$07I!qN>Va>=WH}OlmKw=ZJn`;)!g6<9qt#Pkr z6!bD0%cPd$vpd;vuI0ZI;f!W?^3ZCF1RxjLkm8JHb>3~IE!BNevtEjA256-trOa4{ zAJmDNrwWH(4agm~kpM2eREci9nKPy`u8nV9tdsOIJDCDirn#a%sFf@!9@H5ZYm3E| zDRYO@Qo)TVHzbiE6jn8hD|)`XeY5&`8;82W?>rG%7ODJM6 zkf!v@cOqq#H7PjrL3#NIU!>;3_D~*bDq#lU>F7=Vu4bw}w|E7K2q7fCf_6I|YBF(5 zI9;VRcB0r{Rd;Ytisg%}sx9qWNbY&t)XUGGTALNW@0Lzis?e(Eq0zDaFtUC4o+!8l?P4j3 zs{R1iD!+zIWbD;{v^)G%xiFUWXk^T1(u-`|gyBA5k>EsyFbqXvZJiAhq(8pz_E-gh zKSIS0gaB6JmeFF-d<>&B*; zcV~)cu26$KLv?&#y2w&8OB>3j+2BgY$-Ee#i476D`gu=G*U&9lr#TQX!8qM*idQTL zzR{R5Qms|tFsu1}rRr$#kKE@hC1BbTHqCukI{rVoKmBnl19Vb-PPEZFaWEHp-%8z7 zqxhxeXi@_1YD0kOSWT&u9=Q5aa<>PGioJqp5Xd?|OjIF$KPN&JxJrKP*6o3wXRjcM zkjJJd$)6{Ub>p$o`ck}t4Bm|W&wJxR4dnrjrOiK3Sm?bm?aR9I$F9FL!b9(|McKuH zdMhvom^b{>wf>EoMS$-$ux!kWFb6L;BepJVQqw3)%)F$aE_kC=9DMUq(ZR#)X0$;- zZnNuP%0Io&>13om!nhfU1yMs?RcN*KRs;+B`?4R;A#R&O8012qs9YaaLWT^F9+D=v`n5KcjinScS2hx*(Z*LTq^8g z;uxKWboY}@oz}soe?Gprs`8hsY72i{tEcSO+1yEA(|@o#hZiB>&8GDAlG7p9%p%@Rk$PMFOA(7jfKB7c0c5FGfQf}Q&}2X z{XNDm7Hl{nFqd3-peq}EvGM{)2X{T|X8?3-{ypvPPg=G|IkO~T=yk)ahzitJGL_RR zqvT7lVJw$eaHQA_^xQO~Bob>*e&f9GgB~MbR%FIG1S^Od7>3pNlC!mtR!_hx1At0V zUeNtrk}$u!wf@L1E{;p&j|E(a-IeIf?YTtoHh=j`YJ}s+TzJW(Ru0j{Uq#l>iq72G zN?L?p*S}N^N^)d95_(H6V?}n{k4BwyY&lR`$Hf(!U?=K%G z&a-x`zx-HBM4a;L0zC19yfUoerTqMQ!?~I#FU%`zC{cDO9Z};ci)-BgfSRdV1hdr= zeraC4djZI6Nbq8H)jTk?PQ|U^+8k25Vrz{OPiZ~7QvB$DjRw(KysrV&m_hs&D@@yn zhf!BZct2VM%XD>cy_N#fl=qH+2qNDM%vW@}A2C0aKX95htkFR7E3pYsrGnMxqZ7T; zPSL{FE2!74opHz3U7Ee|&agNPk?S`8gr(0u==O2=f0ttUg5xebx%$I&IeC|b*Ce>Zc09)9lzw_g3gZfHivRo zvG^1s>0Kr|!=T&RAcWegh6uUSLqQCy@H7Ke*%;I@G&jRt^D$O}Is7geL(YRk8~3Se zFIFN#ty1sP<+&PaC#c zjxbs)H(}YW6lkW|n(c&O3Hx)-j@R@j!MkhBIZZiACiVbZU@V3_|C)r=D|7 zxS3M3yZM^laV*H)7@5(wRpdDc$jk_AWh>=4oT(b}sHfXXEFsd<^5jI1h+JM<3~%k~ z3u{`q($Z-gsbzHM)8<}JT>G8e*QF=}oK;5|2vz4a4eKRJrca@|{#RUR z^mL`$930RDL_byub^x4owZSJ)JTY)_pPei|f1ylFf*RX6Y-mNa5v9gK(TE)%`1v|R zTPsG+^GKYp(a*>q-bZdwL1{b#Gjd1(k1PM2l{nLbvU~bny>Iv0WPZTqen4xx2@}-E z5bpnbz6Hjs_Z<|OL;pRwGuABC8Ft9LzXD&l$!A>E(0ua=WrpNpQKeebVqBS->>^Dz zmH#<7KIXIoxh}HQ2v!@)Q6citUT)J) z1R&!mvKnQNh@$i-yc~SI4PjHCc?rgjmnYUOW=o@ahN&GgWW%ipdabrWs~v6xf+y*z z&D3bt7{pWfdCyz_h3YSHBm#GM;ISG9sE=H_^hjD887gd-p z6hlLU4Mv~p#yM&37ijKeXVQsxp!2UtwCGlI4R_x!DGzYBJkXDgi5cKEn)LDM{CL1J z6bK6i1~Zp+l+GJTtRvm%7PTM^*`Ss?l*ueb9JybYI{Jp|YD=?qfJKMydb8r7U;J3@O z0WVebRrYI!DT4IQqGhY7YG8YD`4F+1T+vj)HHgC<(bccHh2}8PUxONPPBih{w zgLCAAZq`i+{S2#K^{qRnVxXNizzA@*@4`dDuQCYM>|oukJ}&4F({z;Tr_&nx{Y`@g zelJ8zRuR%)Lac1L9$Fk=i>eYk68hU&p_g&6(M5xk>2SwrnJdS6YLH5V7QcY^b{T{!mUondviNdqOn=x|0^y*7m>TcWN*#O-{W zITvB!hmM#C&W$1)$J=MMoYy5PJ~PP$k0Vo0gcb@jLpXQ@Yx<$Zx)q@LR|qL19lr@J zI1q+xD;EgqON0*HbA)(*ZCX@}iaFn07V^-k4GaKhG*V776w>kxsc!R6=IVdt92HK> zqT}_A+CZcqO|m9xtJ5<4D0g3a-7)o2%a@qLP3yi*sEWlm94*D3_$?bV02l*s^~f}% zn=iADbm5qHO{)#LV}Y=PX0JFbdCPBfti6jvmShSd1Jw%->1il7?wf1WRED3*y3)cbrInWk* zNtd{O5CmCl{`zl#w9Pe0Ol6%?C8v{r#0tHD1l9GtcNs|0!GGp4I!sPA{zT}*$2O6n zWW*xqt^Q1#r0#GnP}n1+jiDBg;2u#4H&=r*k_ zvy<*{8lK&557>p-N%pU66)j6yh;#{AOmTlMElW{|bn*XAwB2V*khS}tFfX$;Ce(*K zpEkDB1o)@PcD)Z!DcJuTFxt&#_A4bp-`#T#tLZYsCUVWO;ks9f$qi>^CRCA-~4H}fOuyeVrBf?Gv{ znSxbCqp-k$r9}3b{Ej8ty5%RADjP~@V6{kBTCg?u%9+3wf8SD$zBvVwCzkQnRKo;s zN0sreI;*X!k#$z`oZ7{m`HJqyQpxS*s|;fK!}yCeZ`XRYo}@^kg9O6kdH22upnJ$> zUi0JRAc0l&VWT~&Tj1tKeR7*>$nmlsqI8;!uC`y&@8Gz( zk+%<|cM-r`UVjrRB9xWy8i+QXrmxi!tXr5cE{A<4Jd=7mJrIn^~>@CUTw zmQ9v%!x#EJmU+ZVeUCCI;AegUTI4Oij-WE=xa@v&|vyW87xkG<{m>FdVRioPd--#ui zzPG_`+5Ru9T>fRkWmU!5uf$G)iF-6;zOjOdn|S(Y6u!8+TCEzCqGJ?{Nf!9AuuGaVWO1VFmu zb`Ocoj+e+c-C_lT($MoZV*>9S!H@_ojmneGVp4hP2*8su{k~=92%EQqw-Y~(GfvT^ zfDhzbELo1Ge9T?8QABa@A&c?meA6zKGwY~g7r<0_WNCjsFB?L4Hjfp_@WQU*3d@@1 zG_%XG9O4Q~M06+)Xcg3g8zrYz{?DKl!@aGvwC3s?*#nUZjQMfI-1J*i~v;D|-d& z{|PB(^Lfc-{gk18R@pVHS*pOyxRgk)*afQuc80w&bq5Ld( zJPOAba`5nMGWw<)<4ZMbl8pSPLT@oZIBItJM!>4(2_SU7T&T>7E?bN)Gqh1Rn`7F5 zK~;&VDm-Bl2|L@Mb07KJp1eHnUS6@- z?Mg~ZO5@(;Ke_iHDVCnvEO~xYhrJNby6s|awi)Ujt`~H9}c`L3M$;N3Q8Ko`0>^sj5KcO4GEy?66FC zNf#V*Q57TnzgYX~n7X3o!P4RsclYA%UfkW?rMSD4;_mM5?p~bY_HZ8V?(pEj^5wVL zY_fl>WRp3QIdjiVZgOm9?g&7gifM!>O-WTx0^eloz#1@d)?7nitDfDU&eG~!pAz)h zIWVGw(dAhg@7F;3KW2TtO*^77yi$pyi)mVAVyhlq6K;9l0sEfAnNcs2>cJ5fYYY|tCc5I75hK63fngxwPz)L^gfrQrT(Oe;JHC3zYvGrc=-RdE@I# zz#-ctr>lL~d{^xZ6Hlp7U-11=S|xlWOJaI=AWPc9rBCA`{nekY)ikd}3gRI?z(R3# znRqnsNV)0%FZ9S%ll*UH8hJYmCA4bW8V6=?NAj=tn6bcqJ&|*55bPVIKm76_WIM!< zffz^hjqeAJ2pjN1LF-0|-ZGUnk(wtnr(CBzN{?wki6vKj?HN0>m=q&{lvyE3zrHjh zzvTad{2vNRpFwL8=!-*e*1M1#PJc4Fh2^vJ4LbU5QdHAx)_;|G%a7YMx#V&!IIb@L zP~cn(F?X%+39?(#)9;9HIg(q-W;J2)mTjhnpkCx4C71Yu*RR%XeMX`Je&WwJA%CTqU+VB5(r+FM1vtf#M`bc1p z_QH(m19p3lP;DLlVAYYHSrRFjaViWkaa#Bv8k>$-?txrH9&n9ygvcf}Ac>U&LP-AP zQ9Lc6*bzQf^;yS*KTAcX4Jjr*OW%GGh+tkvwcs1Dl}x{YZ6Y*oC7*N;UXA^KXFl7Y z1;~Hq=6&Oc==*WAO!1yMWSI0334~pcYCP=L*Dcb>4%w_~@Zfl?9T@?vw0H7ll`Fcc zODN}^0t;-*a!Y_`nL|iY(+Hn{IWdk{q(Z4Qt&T};aJuU0g4iUgL$m54)#+O5 zDNT|}{tx~NI7RD$q)d3V4ZCmrk?C|aN<=M$yhbqRpN_-my`dPs-@3N1>hT{xgP+oc zA)uw0NnyN&9k?Mue+%LfEPdoX714nU!B6Zv0{?@I;H&>BoeCxMiJxZdJAlIySst}> z!d*eBL?#JnyG#i$&2$Mb#Wr?_NwqB*ik(ZPLMOMi34Q%!it%>2p_V;}jnKJwv) znwH*s2eMiZ=AI$ox%;?+K!R0~F5K3i_@lht zJQfahgZvoIJsF2T*9w}=fgNgfN12wM%jJ2bE?96U^f$CQ=0IpFg|19LV(+~ij`~>B zGvjaTHOeLGxF0K_{EW8U9#V?Ro1Fc-iI}Lz@wYz zofQYd@)ktT9p*A!gg9@oDlsE7}-D9$b zvQ@gLJiq6S?ERzg>DYY3I|O&DU3rb?34t(G><3kDaZpA!Gh`_DHZ&Oo!Hg16faYHA z`T2zqiS>wjpFu#>k5A}c{&`0rLL9{M$dAwSVkk6#RjCCO0r#P=L?aU^h&C*4vtw!% zs`#akY2YgAx{|EB@)*Cz*=uo~LKTR$vmnG);a_$S)%}an;E^{a9JDz0dJvq*KC9*oL?(UOfk*jILs}?5u;AVJK4q`X~>a~5VqhIPnoU;B$AeX|N z+zl!sG9}%+yH%!t#`paCIeT+`cuIYm;KJ5g@}mK|jIAbvzmFzM#nl|wnmWqlywh@?ee)U-_JC zPQqx88!M&=X}l6{v0t1}Z?S*4(g~vgH!tP6n%#vI8TzLnM*mNo%Azh@+2M#wi^6rv zPW?|*sZWnFD&joYg* zvZ5FA_Mo&ccf{6@mT6Avyb}F`ma-NA-9l$)23R+_udxSF@8=*P+43q9;WfvVbUzVr z&)DfC#qERrRv8HC+KL-vCwNSiIJ2|j)hxV5*G(aqF+`R0Y=#yfS15)?nMj==7C|9H z;RAxR@MVvP`*AZzA(%NNnN*n8x>N;J!0g}bRGxiEBE=ofEbj4OY}I_!lS0yqrmcBA zZP=v1pbIpa`s@GXoU&KHiBqFRbJcZ-I(eO7kWEKyiREJ>Ca5XqM&eh(T1(NP!lBt2 zUxne4qO4aU*LorU&;7D@-Q`%-MR_Aj>z>QOY|hfaZI08S7*=I3rf>vbJccV0&jEu2 zNL_0%1)v(Ey3U|YDbm&y8hyMw4@eN~9eSL&wr+D63LoIrp1BF>)_9)_1zk#{%rQ&5 znPisRGlBq`lBJ?%yoW63_%eLaUi$lh9c)^ev+!A7UsGshoukjiU7e@Jjdw z*#|J~e*C+RhYPBDDq@Y-m#p+5yfY2fJ=`GdSl&ius0xtjN;j&7`%?5gtJaQAw7bF{ zD%%F(c13K=`o2mt z@V+2E8xRMJfF2-ymJEvGm#z0`c;h&l`aP;9Xe>co24>)gQ>=L2I2*ULs&b31NbV~F z3oO=y37)(RwtN!bzP-M~2K-68{;l2Iv@=7C?Bq*i$Iw05py_#KWBUR14qv(DR{z_l zNBR|OxjL+E)gauGV_W)aaJOfw(aAxCv!UldLLrml$S=*mGO;y<`iR7h@`xoLw}Yb_ zbr~0KdS{5X)=A18 zldDYV_rra+-K^+#BztjOQC8}l+!Es7E|{(PM-ICY5O(~GfZ3F4{KT`I{VF+zbUECw z8cjOj@a3uNi17v={Ug=2zE7hdlrNmF+jI>@ky@fM?OYw&eHA2_*2&%ZoG!)3>&hS} zfDWv7>EE&ZkOlPoAdN@xDawbFNd}0adtDOvzV0@Ukz}UuU*;Ah?rEKjW44j`U)4Mjx%#Nb0od zE+&F)CHXD;zK=!D31MCahjFL=3mr-nm8hm5*GNRA`xl;KHZ)!+?}IKrX{StQ8_HA= zM$Z$^P2?HDWe^QeUs_O;)7L)b!8r9|{m~#MpRe`{t&;th;mGbr8+Tc*%Tj*rzBz3b z_gr|{&$hB{Og}gN!;EiZ%`XP2pi;Je12ZdW^Lvv;whNRf6F@Yrq5b63_1(v zQ^$xJ@brbQ1HToqrKq~c(S5-5fH*T~ge_#^GtjK+K`#rCt2BW+ozzBO4`jE$)$msJ zO7W>`uEHI5r*s%h=+&9qFK2?w`9r;JGWs;gc>3R367_Yustyo&bZ0br9ag7!=}hp~nCC9Ba@l~5D?@#D1k(>|h6m9-J-;F=ZtuYH^OM#t(nU(tCE-ZjjtK$w6T+NX3h7HE*aR2Me;77K<1LDxcroJE=cz-!FyXQo4_qyCqHTf;Bd{UwgLzR11E zrX)QIb`NouucMBH|Ir4x`t6wE8kZY9?s%bv!tOI$Q@pE^{wHWEdpP?EBC&ldg7~od zD};9)1MMrS-eNPB>qMKnc5fZUsh>bGrc_B5Bdab@EBW%2uZ9*o4=AYoo>kH1FKVDh zdq>bRiC_k5Zk+t7ZDF?LAfsNXjB1TH2C!knK9I^MU>x5m#G_nU9p0Nfjp=5OeonU1kr41IUPTOV44a+F)0L(-mJ#KqE^RmNp2a2lJXBZVlUjszR1V!(eiW=JbZ&Sy)i(G%sCoMpAORnIgRe% zM8K=lTjomH=H69kmn`hVva)YZHe|NiXF)PRqF`wXA>(CuGQnH3s!g0QW!()^0h)77 z3(;-%Qt3UvPJ=4V@er>C6snlf!&)~_AdGb$^Z@dro#0F|&zd{2_((XX3uIeC`fKG| z()Lbs8?sVb)mBMX4BP`rS4xf0d*LS1XosP@I3@qq*B+KBM~0X_Q#oO_r+<;iY=oJw}?40yc3cq+GJ?L z2*siPY7x_6NYIci24GcO^*Pq7F{E0LsI+KRYU|3FPserK@jkeQUznwq%xlOPQEFPU z3E7c;4^(Yw(W@@Wg{B;8D|e*CtSuf$QEN*))lk`#snnG=r>n4~RIe$nOi^n{q}5Ov zmZ8;>hN7!5q6AbGd#9+?Bvz`cw8+qENVm{dsFW0WVjuGWvWqj5)SMG#6jc66S8_=| z{HOp@q+}I4C#l&dj?1fbNYipjhy19Rr2u493Knx?Y+n9_zBqP+F;$z-d%-)L3(VN!HC`xhBFr^lwfvooTD1Ct&@I6U%!gV7VtvgLHhH|;x`am9T{h%L&d?zrUrFDrs@4UC@_;gbQ_?LR!^gE3^({TYw>64HVA^^_YwEQU*N|hc%FH(<<3^n|Rz@K97lDtK&wi0l zg|Ifbt@5gnIbhq*%;3Nd6Z#{d)R1Zgq~g$WOdghQ+Ff&~Pk620r*OG#iRvSovpI;6+AD7r z_Ai;VE@hqKs{yKbn>N-hDzDTzJX>Pk<+fwF9ET(HJ|rB1yx7K_qqw3x;(J!srk9X_ zK5R!DyHh&=3j_IWfIQGn@50=V(j=Yk+{6amlG5ve&!Iy*NK%L@^s|@<&=mAx;na?a zc~?_GW;Q%TViST>+~?!;gWxSEO8p&*?9`!HUnJ{2c9<8u83}%H=ynC$e)MiRM__eN zzw;`eCP(D6iKuati;wXjPGd;&6)m&$;5Jdgj zxU_+oB@$WTIE2l7Vng&nsM!pwRgcN=+Ma>$ha=&~uUr0IFC*0s+*|gYyEaDHLWzqH`dnC z27w6oMp)gx(wwOdm;8_?d-MzUpK7a3-}?lXag1kzmc>FooV;%nsUK!I-rl{gS+N43 zj>7^9%1webcFf6?JY%RCx~FlJJ<-W~#e;DlDhJk;oMgKh{_N^|B4Z7ZS^cIYOaBOj z)q!aLIx>JvTHP1aH13_~PULRcJn0hb6^oI2*ZVhc3oWvzs@?Wiywm^z|sx`GemxL*^Y* z>zERuZcr3?hY(^K-bsV{6<>@853L93Sz#gmeMu#$$M`XH6@TgI`!0aQ0CATf%H^v` zzGvvuRcOz4gwngjGXYw3Ksk;AQw_K9#D?#a>&_UEJYFn#Vni=6GxC+T^s2rHJN2a$Rw zbs2uIe9rpY%SS@!Lu#V#$K27?UiZZ@?TY6O7`^{?0XExLtS6+YLedmv-rC!iZ91v!{jwS0?-uGMa5iZ_X+@^y3dnHu6>o!nR3!qKiMQ zaXWl%sMFtbe4zv0$PEx6=CD2rc@4i?BrRVh#3Y~swlzLZqhUeX}k%}03>x=sNZol%) zrym_6?+dzfKK6ZJZ#)cmo0*$nW(GBebMyit9vRB9IDAF2A%Gd<&KuSjLE(?X;J?r1 zoqTtV_3FbMy1X*ni)#P%ocv9z>#L2X(FJ_9eqak-y*t!W?cX&_Es8(lmCYh;Q7Bk& z#;7$*S`@+JBA-l3GA)sq);~m=vt97snxwHT-ahCt{Yu|Ox2?FLV?zppa-_dUzvAD+OsBdy}z|*<&K# zehgmAVtDZK4?NZxrQ%Rn4B{)nI5gA|0WH|C9D!ZUSN$SdkciiUulRv_WP;lpCH3D^ zKYs;$%S$Tba#BF>s=^km&v2)60UjXW6945rYnb+~ZtCTu#S>GnGZm+45oYg`P6ovm zi{M6UU=E_-AdL>fm7hvCiwSXvVb~xwmbcYg&@2&%$)lE(hO4NGRnQbJdBzsxE+IB6 z)8*m5utE4h>O(2rB^mMzc+2(B=h>oz}+jP5TKb@=pO{??qB?u4ff2i1IfO$}HR7mGQN;x;3W%DNkZHMC z=wtzM3d2uDEf`+VU zcq=rxy28t~adW;GCJDQ;hD$)tjgjEtijfCdnW6Z7FNzbsX9*XCo*N|r;fN6j9T(|L zgvB8{dXQ!Hm zI9DshV$$OH4GZ50QJ~vk!g!0P3PB@>SGf+q&zM-}S-P6(U-TBWjE6f?sUttGRAYRAI=0@j(ags?#K{dz1q z%VBi$;iA)OcZ=4X6h)r1x_l0WI;5iNzHx1rl&0GV)*^;Se)7>;b9cjq+;X+X%@5Yq zE6l;8fFM5y;je?~%GCpF;{vkeQs zKxrT(YZV=G4{t|8T_)Y-71Ij~Kb!q%?j>0g9r6y>LPk9!b@CgLfvD7|wDb(VFznY= zLUu6S^H}*{yzr?_!c`geSFa?cx7&36)P0*5Q5ZPH zWTzlx_~>lFoCql~N+mjK6-y9JC`MRchwQv8u)b2;2WPbJau^lz*!s(^I}Qp&4m>RV&3B$2WHWI;rq`6^@w?!h-7WIb?dymvQ`mm2%%E z)qZEdn_190DnYsbjy0Q-`<(%oKcEJ+idRT0>P^5e#V6Mg${{oIF^no;erS(4Jw2kW zNaOP#sYo_elpA`raEi3k8_OC(QubZG==F)az6@2`cxi?cd64!+LR4H`5{w3uNQ zxgk&udyePa+2oi66@No9Gs>KT#DpyN1TFS@13+q0La4XEC0qr8O+h{W7;GfWg@=W@ z5L>4CnUqqO5N*93a) z^*5_N%kT3#UYL71Iev3>_3z|J*5ZjBzr|>s7;@|$8;GK3?;}uboCQ0(2Jm(Y5jr$h zuV(YX;Cc2W6HT*%)?JipIzsdGwrBSLIM?Vgoq!y$1-8T$aD@K@)KpaY2P3e~1Ck-j zMnPxMq@F-p{suk3D?y<&ZEY^yb|>rE+j6Ds3|P^%#r zi=6(}VncA`DsHNUckdb@_t67!w z(piWXIts})6Bgttg@O#n+L?J?Nqg7L9X<+)t4&UBGi37zlyL)lK`IR1@Z`K8kP;F? zVikILW>){&aY{+Z_i*2xo7=W<=kC28`&eGqXpLE)OSCl0SNMmgQ+^VS$}E>W>_k8P zGZ%w?dhSJ`W!Ld4qc>KmrSX3d!+ka7-5YoGrls-vm(MuR~kd{ex!TFc1IEQiNxgHEiPv=m) zn`L~@^8DUYDnvpp)k%Zi`&}B(;frajzMe#`z(C6rr**V#Dpp?BO;1YhP;DZpQV%d5Y@8N5(xtRIXTtG|&KQxE z5Hc;AvnH^&-O1Zpv8IR-8RXzM%}>5X*%MpUeB@9_0GkQz@j3q{FiQS6c(5}9dy*u$ zr}j&B9fyYS1gGpDxmkl#C%+DnT{c5pifD|>zN1&SQ!c-7DxUBQp|*t{ndCTI^u)gQ zE&bl>t*uuqi$pHf4BN=~-2v1{$}O2!0%~g7SiDopTP}g=n^bIy5OZyc<^+Cp-WdKt z%m{^76Ft|D3Ecy`kqhU@Y-_m`kBM}rxNbv1qYWzJ6!npBw=^%wH?l9)zDwzh0Zbo8 z{A3>#hO9(sO$T`~v^Bhsnfy@HVZ`b8==%W(`KqOtHEI z&soQ^jN;_Uh*Wx=a>&8un$;KIvNa z$jd&gx)z`&epCmQ{*&}w@QWLh^m|KU^JVjm`#0(v_ezu&_nP}CK$Umhv;7+6yTmo| zWU0MZ_0U6Wcn^31rUl$G-1w0g-Z4B39~k;o`Qh(>HLP;Tvc2~+CnVd`5UP^$w!NMr?>p<*PBRF>YMo1@apBo90;MP5}gg*%Z5l{?f73vCIt9I?^_s z6kJNtSfOtm(cYU9UW%)+nd;XV$}~c1uy3^I4AXAYYReqeR;@1AHW{u?_eylDd-(lg zcZR*>+B6ADc?kB(d`NzX_KHk9h*<8!1~)puFVWvU;WW~T?WG=)uZL1#Vf)q!a|GgIabpY(8Pgd{i5bk z!=#VnCLqHRGLcz7r-CT)C-=9&FQoln$Z+Cc zQBcIh#2}58=hPR~c{GIk)zwh+HJ!vYm5ueaJph<)0$(tdl%`3j%TO>;QK0ybKiYtD zmqB{l@9*k)wH5yQnjXtO54`|~N_I%uAx&NpNeSN?o6}6xtTqrbRz zVRG`($rMhZJC%nNJ3|yAxJ%Ygkpv6a+^`MhH|0I<#Lo;m>zE{-mPP$qd$kPDtLh|A zCwy-}@B&NAN^uM5zA^Uz5S}5MUrsMDt-9=(&zIprPhdH%f_N7BnfFxk!L(Na1P4y8 zi}IHcI-8iEIiu_)0*Qkg>(bua{D--I_LUmmAhRc-Ric8NY>n+zO9goH<#wYKmr{2~6hyI6NpFdeax_$xh{=v(0Qk;?~r!615F(|TzoGW!ah2) zD_pt>4Uqif)LKI*lf9Vtd3v{!V{{%fo)AwpF=?pYvbH#fO9&B^Z+-BDN`e6M&yF$I zKC`C+9S$q6y{s+y7)eK?&ZV`7UDQRXS9IBQd~dq@`ui$>_aq084!RMpMicX7jd`bI z2P}QM9LGn>pCQb$M+5{&ou()#LBV_+TF z*_grfn5}RaoEw;6noa(CuUKmxtDCIq|1#sZz#sMotdx;T$|1hvyv-q~)!{=(>7`nP zj>QMAhqd{A8I3FR>x7}>_l}@tzmMkIxXW!K6_}~M>%9X$X?Sjdmo8v=it5xmq7@@^ z4^(94lw`IG*bcg1xUsNFD2g80-%3CAXhtDKvt?cfr|>^pfbBlOPUCody%(k3J?CK# zMXCswCEbogh`V=H8?zi+cW=8VgVhwqSZYYw(b2$00#gG^sjY}r>`noBw#oa+RT=9v zew?W_s!l?yPlmD3VRK2yL3SGos}bTBz?X@m?*hQKYf7MJDKU7xs=Qdgfsdqa0RY14N?*0lIlmkz6-(|zY&X~m3*3`=Gm(|ChwuM z;`b;gi5wTF$gxsq8FO$gt)&?C{E4W7+0E>kIHn03y88{j)kP%Og-E2Zr%GB3X=xZ? zurvzApuNa528$^&*5Hn{@Mr(RyxS75rDQKXh^g8J>KQoR z75lvdXe2a3?m-`X(^2%!f@h0N2ILM{qkS~42U&&5BAQJTyNFk8S8PRX7yvyH*H}Ut z>9a?F!~Hi$16%X{o3}+K^F{rEl?%TsLWDhg7hjyut-yxXls?HIentIGkKo+)gt^ws zAr@%wGP{lK*gVpyD zFUXeIgD+SU=%_i`;}CqEe;o)eY56RyG81)BZ!0)x6`ZGeaCnhe*+F9o@Y>Us2%)f( z_EoOdeB)&7W4h6{PN=HV$}&_hK#S8*oS?mmJW)RDIROel9W731Pvd$?0w=_$JyH^D zrF?p-x`}@5Kl6pucAFwO2ApK)X`QB6du*7d9^`QBbWZhyg3`QbM-jXicm#>(Z3}Mr zxwwaYB4(C$vfK4!F9T_OjOwgUVr2SJ70U)b-p?^%-r!LM>OThiS# zxa1gT9HB(-?%3lW_$|F4LZ!(g?$-CEi|470c59lF##>|Q{%k1Vuy&fVUO>xajc^vI z@w_7(&822is8TE7A=(?NS3!eB6R5A&ff*xPQ==$~tO}0r2 z-pQu-G1;<6)0mO5W-XQNV~3WLq@lU9M-*6q_CQ^#8B|s3h2Vf5 zz$2(Pu1+*Odp6K%0CWHzYxoL+*&ocYGu09N`pR#6f{z|$`w@Zf^@OIEZHGZnCj_sx zv{=cc8{V9jiIt-%#B*4_yocIee1lp>EW3HkMCn)hs@qlIbd{G~$A5k`%!Ft*Om9&@ zU2cQPqN$ry@1`CA@GivJ!e=6Z^P{RbLz+A9mOd#^H`4cpTEpYLtxe!~24IUB{dlmi zEktCpk5N0U<&)ABZBXWaW8%`MaJ!6R%9TE8`Rdt9`Q#%>T7!ON?DUWFR-LV^eKczT zq+o^Q%=4O%-#2x%(2-LB(r~u2fRs#A0rIw19Xp)kz3^*ouQ@X^(0M47UAOs+WaG!w zSXIObWZgAO1n8%Fq(*dN3gykRod%qiW8=2w=>4045`1ISxUJT2EeJb;678&yn4(z- zUGO!YhQ`i#awAn0xiXPC#%JxTapPCC>6KtQG%%`8W!&`wd~FGt$cppmi#|%oJMz$S z%ylO<(J`_8@(7;kjv6pDZj7AF*gA*mX(jc`>HD}aR**epyTjsSWv~rH zY3$v0bkb(4c*Dx5qV|~PAA+!m|*9b|1m{*2Kras5bUcdAbYmz5QTA zSW+*(Z@A{E?YY3Z4)@d@cS8wy1EgX6UJNG7AMAM@|PVjqI>CFMb_r2T8eWH zMA*vklsns==`dXy70}5$Jt2Ew_(Oz;8s}dz#z6X`0884_TlVLTEwYdAbR1hh?)k~H zxQ^B`lH-3o35hn%DTdvxPhTm|XXT{Xd-OA@r#JzTisXY|c6S`FbT0jrEOJGzs(l|} zI`&LyH0jySp1p7qVtdfg7}MB%Q;jy~SI#yra2VS3SXX_v8|D;*6I5+7M; z>Ffj}KNwWr5Uk((q(lr^$Augw$R&Rjbrk=?5VokslL{(FMl9tkC!Q+SW>2{+ePPeR zn!R&n0tYS4k%5w(kM%)#{`iE!AJIr~((56Li}{0vspXzRu?V`wvx zEK2OGXF1^(CgtrC6jA?7O2^O?BTGzzR~ULR_PoTCq`M3MsTs`eD;Ug~{iw5IjnZWA z_)p8yWY1vGometKsvB{N3yA$_Z(sgM(pP-5U2i3~5BWL{(hn7&#c>sUfJRjpNY1X!yNYQM zTf?wL_M#P30k-br_<2xHU_(+D%p&Dig`|yLIe1#n5xhKzQ>jpyw8Z>SWvV?$n77x) zxCdaWb^oJK$gwKzoT2( zsq?>~{%q+kDK2#n$!yEoMt*;7^s7BS?@Jy0Z1HI_o20wuyXKZvuYPT7J0}A-gO*mF z^_+_(%ju)(qa}C0yj+_LW*dGj!{e}r!6k*J`JfhAp$cqmp9eM&&zUUvkAaC_iQyuX z&erkM!|Rf8k3?NVFM#+gu13^C9OjI#N8F(yHXW0&y68XMbnUr*(A>r4V|{Fwz-Hi* zv`07}g-9p)#-{;=Z=4Vv^(5A9R6?v{Z?lT*G#(?&%Pn7FKd6lwP4JKPUp_T-!9?r+ z<>IyTBG0R>&hsKKO47YEWqMx>|FZ;ne@~b`&W@kW@J@SYssz54tbFP@vUt6uwOy`6 zP&-{a-hShSp3f4=UmWP)GmF&!Eq=ALlCH2)$G473TvL`*;#J0OKH@)(@qSe@Y%U}A z{qET&q+{IPM%4a9)@*_kBT+lCL;mY~jJSa2JY=&OnY@T>Z7Ge_Klyu@<{b@3FLJ5h zxaHuuYtHr$r2QPYJa}AY1cr8e!4Qie>~wykP~3x-KvK9O(UVE{4JwLCx^6VF>W8za_;;|u;#+)2sI6tS-neN$bF zPS&-eT5Ce+#l0x)u>uH6HGfaFs?jcV%NKPeI8mIPu>vsd&++^r+2a)%c`1(x$4H{93vKk5wN7PNMI=sY68F`)=ixs6OSTjUr02S#MD%CCu za`+dh5UkAI5IQ{>3}Mt_=)&G|MSZdE@UmJmVT#!oGGz*tL@N?JCDS>j=AZaFA_E{# zeHzNOsOj)5K#8^R+N0#fx1leKf=b`TE-Xqaw4{JLRzcbhG7)q`m{LL-=_wndQCkI% z(z|$zg4!F=YYwPw1;F)T*F|p8jX=CB3=gs^ITm!UJdCJof?PC3WtW@gXZ(^#%b})Z zGOVbh@(@ph?w<_9Xbl+2nNXkMtInS}s;e*?Q@4MmLBHxCU zoiOgNhM)3@(MNxN2)}&+#qDxC=b%uPmvPf5s5smtJx6#)Fs61}BlbzB3Z<59z3i;-`na3eeswZAzhki@b;e{#Z2 zqYEI}MrKK(S&)^fKE8hJVVoEq2mC2~3wRI`js4L6K!bly1AQnUf|)>u5^sj@n&k-} z>K|RnrvWp4nVB!k&&w*2ALJj<)_YsWGo`KXcJDJkS1-3hp6x#jct`tYJ_zAHj6a-i zjVZ`gj#(2hESKwTRK9hk62^E&>&GQB53IV@+CA!=81c1=M&MkaQ4cFLqgSNh-i@)E z67k^N)k;45yh2AdIy5_o`9=zakX>Y*XO)-YBAoC?hqUdU+CAD~m~PoCiu+~?Akvhr zFQDcb&yZk~ALJw(%`{sU7(}NnLhc>-!5*!-R22F3`3V6yY*dsHUWH$UhmKb7Q1TpR z$`l?&A4RDx1AD%h3)+5!;H|~2#s&4x8ic3v8-Ju&uPd%87CwqUs!H8)y*g08;J)G} zzg2_jYkQ6Qezx`u8AR#@v>A%k2COg@OqxFmCA^!z8meu*w}Ihh`~m)$Pw$yvyxRBC zcVwO0PB1U^#Ki&i9pWou@^vZrhm7ZhKaAH_%T|fRqtByHeqFt$QgF|_f%L<<`XlYe z3CttR*lPipRK~!rP9l@z5pN&7@{Yq%+q6u2?_AV_N@?5JqQekR z@cwnitE>mzqhSIVr$JcXH<06R7Z9a`v>GPNV?sQ*2{y|6S)25z=(#4eUZ&JrMt@pO zriRF?2~cw@FQ}|4JmJSIGO5U_EPG21VKh=DFHs}lP=+X}$aTh)z`;}#uB_Xpkr}S? zj8uk$-;0t_i`d7p3thvpgEmG71gog20x)hYDsefuG7(#XEs|sy)bIh&uE$)9{htjL zB>!U|wi3P8T_cA^J>wxpb<)~M$}4wVq`T`h))UzcqV`cupd#b6#9OuTvI$o?ZqXv2WEgDDS{O3N#pq?#{KZJLKa*k0q zMI|o#K{6%Akuc4&hPlgCm6h<0<%U4bw)nmHrKl7AUfUW;rd@I~?6$yRM}b%kxe(}e zYFy0n8e5XCJ~lfLawxmzRtj55z#1)>cF%Htp^jZ^3iDRM#nBSsD0rj*W;{|i7CcgMQS!Ic zH;WK?=h8>I;Plo%*hK{9#v-$`&)4q>$Ytb73v zkA6<=7+~-O0tBVNRD8bo{pYW5IsH;>i?}iz*-_b1vjfW0R?TnDmh>{c<1d6deE&MI zXsGy>6WnV(?8SbmW(z5GyHv4ZJ}9_c{*3Y9Wvhr{o9Kw@Mb%aav|ki_DlHz=@Dsi_h0SbiNsDs!WRMV@6md3ym5sF$K#75 z$K$XCbgDkb<4j7CO+(ru71Jt~G{>`9!ht|JI0=VR$m6Le`KLx%RW_QekR?$R2sfr&FM!V}0U6zQUfk4Vl_+(?9w0(c@J$l~YT7#E^c@f_y}+Jo-e zgRz!~U0gORST-vx)#{@pZF6N|!ltpt`W?t;<9^zj?pm5eW1XKKfX@79qj1&4T*Y1a zxR#9;+2ff`_)F0X+HCftnNB{(!%soCUwonOcVP<5r-NpK-J@9&iT=!(G4KSn>@!wV zdYChG;M@Gu{-i7!yy$KI324b)!ZEzSZ2$~+(2u3Pv2KQE)6tKip5=5zWGgVigx)Sc z?hnmpoj&05q?s0~!uz1*dC@cPo%5r)@)g^R{dfsM_v^_LSAW~Str>H z@`v3*>TK24^h5OJWxs664}cWl%MlDz3~L3`P~%&XH^0bVhjad=DB7kxNl$z&m?KuGWKGy7Zk(j(Px{fo$@uhNgmt<5Y z8J?5XIc!WX(GTcmXUE+F-mtcl=L`_`k!{ zmcclI&WxyOq=I7Xw$jJSE6hh@L$Zf~t?#Eh=w4p(=GG@I5 z^RhtQWc?<*$`w{CVb z57I))e3ChmWl%gCSAxZ&J(^|k;FDsrz!^;6VIBFN_DM~p8-F(qRgT7Gw3u{+GYv)k z9KdSPp3X8z`AIQb;QUKB#xV`uiN+0OvA~)BuTEoZwP=ocb9AYTd3Ch-1`{}(t^y@4 z$tfJh>^I(+C$3^bW1#Kt`V8C9`WRbLhz!OB)GK;EazT;UeA$DPTbba!eeT~(2j?GZ?IWA#%8JZ zWP38Se}lwg7=zWdZ?K|nJQT&L;r4}T2Lp(C+WZ^t)Yvj0;Oa! zN@>U_rK@VM+EWk4Dm@viWCE*nMEXuZEFBoJBr;-2W5m)Ch~+$>sjk2+=L50y#MNG^ z7xe7jKrC$;v7|F%$z;URo)JqXBbK&6EEl58!N4tvj9XeWZb@U@(vfjX8snDp8MmaX z%hlz`YtTziMlT8KN_8bD2E%k@40D0{o%$V8PEwO_cUP;caYxsv$w+gZx(@pN_3C=$ zy+Pdo%1!Dfga++oFxu(CXeWWuPD3?Q%|v?)=E-Et(^}0{a}hVlCzX*;TSh+VKt7L9 zJN0MvXO#0OP*56B(37AqQcr{OH=v*nKtW5;!ll4Moq&b@0s2eoC8S&iT$BM^^fKD^ zFZFMr(^r6zx-drS3XJq7p6y#eO6N0D%3`F{osrU5MoK*xDfMKel+H-0Dt6X7%4$*P#chDBQR1rW2Bypk+Re_wGA!Vp>_cA?o>O0f_AB0R7>qs`w%~% z4j?obsUKscD0NUB1UfpTz60H$BU>F;$3Z!vP5>_%q*NbB=~txmlt)oe0R+MjUW#xc zfSn9#ie=QK3ZNzl)D#W9KL*$-ma$W9V5fSZ_<^8efuI!1F$gNw2{_Ot7)M3r;iv?v z=_CS8ML7+ehN#70s#wNUwHZ?>C)r6xyoJ*OX$+>SAI4Ozoz|cjWEIQEN{5kEx|5FD z4YINeps6UQi_-;kgQj!=G!^Cac6y@(gQ=o`sRp4v7Xn#DIYXQwh#Pzr#rP`L8RkHX za4vQ(Mtep$BM~3vj6(b}V67;|TCu=dHzICORy{^pHlr-XD61c%tO1O&1~JOgjI!!G z_c`|=m%&;#W32&Y@i{5je(8SD6k{2gPH^m1`grs@xTete+~Q!iWl&xnSmgbtfiLJMAy@PYN_LN z91Yb$9Rw0f)<7P*t!|63ole8mblm|st+PHCX}ak1K*?Kl8bMzdf|C9a`CidBkGxb9n zC%2$9 zO47|X>vzXbO1cK9r8@q-RW%o&@INXl^R2(QHD<_?r+_`rG;bdKO}Q&%=eZ23;~n*O zdb3ZzK3}mq4i~dIO7XVx_vgKNHDAOw_*voOMCo6`&%8s;D*Rg+mr_X!wv!cEn*Mp36nPwF>gL~a*`rp!^KLpTwG^`= z^JeC*f>!BOFt!zcYN2ig8Xg!s86}A{uklM$>Rzo2R;9QGGncFkVa21yfDS0+gGJFIoTt)#`Zfm*} z$lcjq62GNw=8Rji*Gr**x6Qn{5@kh7VHv{XBj0n_qOZIzV4idC$V_>8Lo3@Cv!}0E z*~MLMetxnQ{BLM!>%f)gEy-}IB+~-#P~Ly!QoL#5wk$WCQ0%{RN#XJXCG@9q^svx+ zm<3yUcK8kbW*Uy%f35|7^V(w}?muK~!*TBmy^;7W zYVFQ%0=-h2|G9AQ?2i~fSFe7dvP*93p~An_;wGLx3F-?;jz9^0wtT&~cpogke8y9* zaIR9@Rlae7-)Nx{O48|zt|(d7jy2`_$B22a`AuGUfcbk8|=rASEW5>tA+OMVtr?$05;R_19#<;z#K{#@?8z^dEf?HXOr ztglt3)*2rD%$wk`FT6@e13JxESgtmlwRP6cq?|6l+^Ar=Mfx*z@!TubemD8!NY(mt zxm`8POqHz{mzrx?r7JXT?g~7()%(<296rk}mDi~&V<)!4v%jM-1 zC$E&_C?F@uiR7C7uc0JoJI}h9dZ^mk@MtyN|p=c z0%~dY!lo3q@o6O&$)~Bcd`3P?ZOx9@lxB9srgZs|e2LDHugF&@Q!bZpQb+k;`CmF$ zu8=FJi+o?cPv^-G^ey>c%N zlsWPn8YB~u`mo1Kp7_hzSKy20#pOgEaHj%kW> zBCZboAucX1f#$~bjQbru9Cu^fz4UtAg19BLA?}U1mGo8I=76B@&929yVW3-Jl1MiD z9gCrXM+1w*D6`+O7;pAF78A^V$6}({?^s-K_B$3gnEj5$&1S!2@dvZtv6yD|I~Fs| ze#c^-+3#4)*EMyFc-ZW8ES}JDIzjx^>~Sm>>!!MuSYq}#7B8DUj>YR{cVqFk+1*&I zFkfZGTC=;c_{i*TEIu*28;cEQUt_Vw>}xEtgIj`I#eVa>QRD=V29Jt^=6j>~7Cmw^ z_ejYWVp29lzl`91S(E#vvY3SJ&diEVid8eF-G_%mledy)$zytHq*JHV_*W!)t*@S zdf=!;<|sdNR2*|uUAC{&RuuRuo~`Ust!Qvp5ZqM{p|QAA;4y{J0jI?=r^SHN8l#*h z;5Wtm7SH@v6a4lC!kyr{I?Qz`%ylWubv2mlYJls$MR*9j*NS;hGVeuz_XbeSxPfs4 zDJpJI+;FNBcQLpzlDV-pb7MNV@jXh3TLGTzz_t?^aRPnJfxv;l0nl>-IVkgB z;5$$b2aZzP!1sagk@8sJ7)t&j@B`vM27W}`SaGxooD7_#`bI8LJ;;R!O42^lW;>JoOO?S~< zs0AcZFAD13x;H7^NB5z+y07j_X6N<()J_l311M1s)Pu>dhv*?lIaCkDRbxq_*^(qx zU#c$y{R({r!m)ZRazTC}ex1G!@$2>VC}E1eh2r!d^lcQcZ`Zfu>Qp@y6^)xz8P%kdk$Orc3?~2Ot$n*XG`BUZ0XyMEq&XvrEeNr z`nF+9-*#;2+mwSHkPw2%%rKjg5K9O_ zLnyTzV<|P%5JLzd)KE*QCDd9<2qlIX7zRpahM7HkzV_^y{V|`l)zxC!_iv%JQ z8JG_BMP937cZQ1H87g+`RP4TA#qNAENCrV;QPjRm^-I1>^-IoB{gT(Je#tr&sqZIm z0!ABEjLududK39IptF(8kQu~~-;lHLOp!X9%#vAnrXI}MDqi2M;&qOS*Be#5Hj?w? zJm`k^0JV)OYG;uJKy4#=A5hx}sC^mk)Z;l@#qRawV?b@AiqtveKgfT;^M3(er;|^} zCvc~zU7!I`pmfzMI!%+HNrY#L-Rm@K0K3yw59xI(f@@U-*Q*GApNin=nzfp>C`FSF zIG(QJc&bJVIG(P_1RPHX9M6I~^`%Z#eW}-Jay0kA7mDoZs$X@Q=03ppbQRzAs*m*- zR3Ga*^xx2b18LM9LTl6=LTgn2wq*T>`VUbqVErOW(l6^>Ip|wPq^gFZ)JW9C1$o}0$!_#pO@*)6wy5@?iXeLQ|3RR4VgzWe}+Dj zIhr{N&p*!`gJ-G_a#ej$n)zntIrK$UD|}w{sH0lp;s4eONvc-Rs9ND(&ebtV&22t0|>i;`3yYg0^%D~pTG4g z%5P$dn9ss@>i@T1_5aIOu|9`+hqhws!cFq^4h zDxlmQ%ntZYbwIj`{^`sU%oA{@=wAT1{}en^55iPH|2lZ4euV2(^w+BBf1m0{n9A%1 z9gxB_GK~<2YJzlC6BIDtX1)#2)XOl9`3}MgVGUBm`s>P7*_llbW=|-nS5Q8#0l}5R3lAGHFC0CAs&(U$U%8XJffs1 z*-C-btdxjR@q~B=Vky!oX%S*=h8W}Wlz2px!r}06cq)7`k`gJ3lt$_!y^&~SFj5k^ z6uA~njc$RfA=(k`i@KwSqKBh3k>yAcq#1%VS0GJm#1@evCn9GeC!@6(u(YvHA6 zO>`_&7TO-F4Aq3{LJgs&P@9|_>Ij)a_E1j9E%Hh|d=+T<(S_)uT7G?W1nB1r(Bgvd zuJG<~OSnC}KWrBHFdO!UgYjq>+8w$r?+$H|b>a~y`E+ z>pv|wJQeMW7sX4XHSrzs>Ud*pCcZb`8s8V5ireB`YWV<6$9pNKf5NuJa-%3(48Nv?4}{M}CZhJp&hThd2oFTkBL|~( z(dNi<^i*^*Ivt&j?2VctXCrgbvS?GJF>(Y(%Xt`0`=EYFYMtZKVQB%{rjz$5m*gS& zio7b{R5HagFftB-v<`)uq1>tP`B-w~Of)BYIhGdN93!!76lEgEz zE|jO72-k)(Lerty&`MYr-WuK}F`?@*Z@f3!5UY(<#oA;0W8v69Y$!GyI~ThWyBS-8 z-cO;u7cYBx=<`yT)0dQ1DM#TINt#rS%NOPIk{}66qq0{#DMpojN~hAR*rYAe zh%%@gQBEi)l{3m&xn0heH^_zZ)(`_|kSrA|SCwnZvT_T)FNKmqsnV8Ej#3RHcvA=| z7ed7_V{SFB4`B5Atph5Hs;M`FNI&=bpUfp+@ zsqV5gpm!lKXaPc&dX9+^eFR}W`XhvF^f83H(VrpYsCypo!AbZYv;l9#n@}k(#>J>i z-Cg)4{6+jlv`yVP_^`T9upB>ypF-R5SMW~s2z~}XgC12+3E6>La0_}2x8XKai92y8 zdK}xZ9aZ6@_$Yc(WxF+`oRp)dRL)zga^9~1=dDCLNfmhl)dBOZL%RqB)TnaaXMn@@ zpeA*-ZUQFwYt#*E^EqSzPIn2p$z|YcGVryJkfN@v!zxFMlK&(tC`N8-5c&bocLN&K zWNEU|xaJ;UPp34W(R>E|64+BdI;|OzOiWBdZzU!tCZk^`rX;4I>BQ8;RP=V@ zx7uScw-LRso|W){u2}au^r7zax`)t5>In!->Q17Mbyd15bWQh7 z-8a#{t9yU0tGj;wq-)hZhi>S;r|Uq=y8XH?bW3N}nbE55Ro$!Tuex`1vl!{#)qR2q z-GPE1pgT}-A>CbqAEY}Fx|mOcxAj_$X|oAn#@58%(!{UCUY{`2}r z@I(4~eLb$!cj`Ow659)t}zp5Y558$uq2lcPudi_uIM{$FGSpPHp zjQ#`tNBBFyD6ipGV3B{u`!au+`9s_VOCy3!hWico<8H%qhUc&uIMkiE2N+Wpw$n8) z4gedv7mKjYy&p$lox2f7nFpB%aST|`=Wv{^ZSfCaRa=G+Fb^}|!aoAW(Sj$K=a}d4 z8RmP;_wcWo7nm3DH1iVk5`LSmI`IswH^cZhOpJ-)MdpXh0RAI0$PD5?F^8F>_y#k~ z4C9;3tIP=gFJ_ea1^x^3I`caIEAs|(njmI^d6Oj2eeWcRIm?_SYnVA^g(NdKnZJ;Y z%qLkI@*v%zKuWS6%X*6ZL)KTazCyNTJ)QM6@-W?lKq|5tv-Xfjv-W1SkgBZKtnZPh zvYyX+o;;oPLRJTq=CjY%D>+$dYgMTrQx8vgGKGvX!CW>hbffoA9c z>>2}nUkL-T-o`1&lR=Cb&ZD53<<>T<)BF5fHdZUZR==n8rMy`)1$= zRjOt=CLQ*SsOa1RvM3WTK?y7JfaHeqMnN-|LCzM?GBeOR0vchz%mP=u3~@80LlUqh zc`MZ+Qj%f=eZncF$_^z#$yHiaq~8Y`;&6xo{W7RbfTS*fF1e~KQ?@COhccw3P@X&k zEU*dqU|-0t%!N`x!;C3&-dbf&5a0Q4_{kd2BV+>O2fAqPDS;U0+fINE@ogpiA# zLbd2#^i2r&si%VFqh<*AqgDt7Xg`FF$bxKW6F!2Epa)4dc?cDeFOX7HrCOG&iJyc3 z>m%eC;P^0k6}6F3GK%(*6XXPX0ao{~qYm;0IgMUQ)Ff(9cjB7FHOQQJN8%l*C-Kh2 zJ5g`qU5R(0?qJ)>vP9IT)h(C_r`>o1}A)V1)xW_~X7b7(|`jILYv_;bXjp z+7@xLVTB?1j`h{+t8r#_AUl8!fC!bORz-wN>QmyVq!(t~9pa=rRh$>Ea~0yGD_0m1 zW~I$sg^()MN@gi6nLUMppfn^6OXJdMX^QhoGwu$~>`rx`60b{X!iZGJRd~kTafr=w zRcg#y_bF*WI#2WVpW${xyct)nWQMq#xfYtUoFbXsCMhg#k%l-D+$l}T*>bLQQMw`B zlvd?*Ia4ly)U)CwS1Xr8`VHcWyi=~1_X?>rCz{rsDhlBKPXXR4$V7eQuw#6>Aztr-M40rI&b?U4(lB^NIj$ve3{Qkbii#^oI#sYW>$ zWR)!?%bXmQB`PV9g;zc+AD0fu7u=U+Ugm`nPZh-53$ZSEwsB^VssgpG1&Pl=Kksq3 z$<^*=d7s?tx+))mTw6iv!!Uw~_5nbFzhl7vhZvC5yk?$a06vbMMaWw5_v`<;%L`ZV zf4`Hj3k^btb=o!**x)U(jj~0;b$gvK76{scws2r6a8sBKCP18Kp+m5{XRV8Yt+vs? zE{Jg;Fk}k`wy`B*lJmBhBbJE`VzWC>RK&yLF>wqK|1xLfhB+fENokVNsff)gN)h%r zq(RQxa4!?x5dRRwu5`9>MvC`p%*$+vM7SaTM$qP160Qfiz?5~9W63ree7;_9b zZrX@_(KY}jr$X5++-b2)vbYX%o23KNs5tM=`?Or=Z78t~^o>zYkW;AskqhJ^X_cJ= z-IE8nKMndQjmpcpAk6^U?vjikv8}Ci!BQ5_BRHCY&P`PDbPuA!EGCYo?3->d%qMI;Fqk$&}*y0 zygwSy3D*OAgjr!BzzR))a4;co#h%k26&C%=t{q~kR46iH2DC3v+$3&yE{aLew;iHM zj6-clKyN|Mx{iY`N)~HW=^C9Y&UtY=dmP^Dq6j4gq& zath?q=e+Gy*m7H+RDvH+dwipaT4_83M+|r4n_;qrHS2Z&k-8>C!o%^ z10=B7TVh{?aXJa(bUbje|6u=d;h4WQco3v@(7wVMp%jK*kZ*-+klicJgMO>zhK1`K zD^-cdf)i|ZV20l>mj_P>aocGBpgkTu8@%AqIgFo<0T=~U!Q;VFp(A)CcqFhb*xP^A zS`)m=hhZ)>2*>O&iunEZk-*L1N$YIzOmI#x1uyka*yp9NoWc!LZ7;E|gTPaUM9^!Z z-Bk|lJV!@`L>&cIr5luoI9H_e(s@yV-XG_NM7x~gtPzoGP^^Jb)Xr_C(&dKbQeXr@ zl^?Ov670B25uWOL!&W6|^?t zCka1A=?NnVBgl|&F5x_45-ucMK=&kEOt^$LBwR_jitbJLIN@WIpRf$e-}^IO%6JKt zWOQY8p?}Ee&ge#4GI}z4&_fyD&-gytn(=bR%jgRk)(k5u&FIhQM_3^aB1*+7)rhg4Ru76$sI;zsYp??ECq5q}+m#A9*FZzE$PwL;)zlmz} zztaB-J*9t3|2C@C|3-fvebso9I z>p#1`7=8Ee_PoE_^Zstn`=4#kOKMN*{M+jNB{#h^4|oc!h4x`$3MZd6T*>do#QY*K2O>Ic=HuNY*rnb;43$>i3 z;s?EbmP&71&lQM!)w|uf+TH0r>>KYo?C-OT`QtscCRP~r=Lr_8&R!^-_xE{@2see* zo>B9>bF-;EkPt|5^s;5b0l{c*;j^teVMdtp_X$_b^McWu%=WQ@r@&HY&F6Z%v(3#O zj-971^`-feJ#(fRcHU=XS9;U?n@rnml9%aMeEHr*^MWtAXOE?(XPa*`f7VyQ*7+Bm zr&+-}VoB}pv{d@9d#4@C&RwRkr(Pi3nQpH8f{^U164HFT1RbrtwYDeOAMf8HjM~q8 zN(75znbzLa?(Yj^TgJND%=4C1yBX>}7s&M#unU$tUwe19&tg`5UYpGqgxYbR*3CZb zoAF)jSNf+-H+)O|ll{}(XM8t$YP)+qyl>TK_MLO= z%(Km&a!ZYUyyqf};ok1!v~N9UVQgOIa;=5zZQ8TmRC6C!3Vq+`+3QI6?C?}uR$$y; z=uPo-s&B_U2R+MX#dFP5U?27z?{D(h*adHrr>Hxf>-BJ+lb(~^=^oy5#8c{tdUGIb za<)6S@^juMe}=ai#_u%0>^;QIb&dEtx=j4uo?%<5S8?k2YQEK0>Nh!uy!IZ8KgW5V z9qYd8&-1rA3wh2vZ(p@0dlw)-m<{G)%XYrN8uWJf>-ZhsRGxRtv4<=pf%Go7`LJN* z>P;=ekTc)D)j1>#o379~A)JGezQj#<4)$#J*O{lC!>0Xg8Czyf>b`1j5(YdwtwGO( zaM2#-O6i+0?imzruyIeLZ`_e$T7@}OYb|tc_FuN9IePhQdxhtgcfMz|JH6|aZ^$wt zobGblhpdI(Jbs5`*}H|^&hPYAdTaPz&n@48cM|6QN%ORS#8Yk-dZrxpe7${`_KO+$ zbiNG&5sY*e`d54{{yu+Smz!ReRG8BN~bB(#C`+{%DQt2Cq(LUhK>pAVa>1l*na)nReQ%qI9uy4pW zm(X-()T1qCyp)&1ZXZ*-7(lzL)Q1-CQQ0DQxyG019pA>&?@G*_p=Y3R{I* zp~c)G?B{p#CD!CXqm=}T0;Q08kZp!us5WnR^g4RG?0ium8rTVQ`ha=GvI)j=uVY7G zuxDGKJg|cu3AEa`vL?QWFJT+H>^(Yjad)mImEXr6_S<>M+u&TaR(ak0gp>G>`Q6@A z<`uKuzp3l6bI3pGFZMTiXZ^E$W6uWfq-m8e_g?P0&J_V_9O92aFC6oZ&|kb|HmQg8 zZ}AG=K1Ye8laKlZQwv{etu;6EyfqExXcd3ZJI^lo4|^ue^L~ZD&~=%=#9!m8O<@zv zaQ~S9RQDja*I(w}?v1nC{nP$=w!^$g(bc~I7{S{|9n1bo?&VZ@g=;LFbFYxTFCCyaN?L$Wm>5 zM%B8v9z6~rTea@pty=eTRO{Xb)w=f?)vlL|tjL4zMLr~>A`}8P`Ver@SJ0QxG4xZk z4V{Eg4qS8!eOYCrkEnk!qXPW~okfqT%=9spnO3UI^l|kx-YT4c(@-@|2Oj!0ya{;d zcU1=3qH@n?@e{y3TUGA)oXS1hRPNcXa?j^g*0~S&1K)fB9|6AkqH1S+NwqTuNEz@= z5%}g4zzv@ywdfGp3Ho5B0yy3M*0Jfz#AE5%1Cx5dXPx5cm0(=G7`<+k`| zx+Yx{9;N3|;-AwqDDes13%U;c8vW}<_;p>kt`EPVv*;}NO`Tn5$CI$c4&Yx=wu`59 zXLax3x9BO2_}98Q-G}&X-AB45{I9xex@G)#Oiz@@H-YnJ;ae)({e+$t zk5_@`mg2wax9J}tYbehpcLC28Nt#~PD`cHMtdA3|{($}`grO(>kv#oT{ZVqC{-5#cIX=|Og-~;5}_V|B*uJ`d4|NP?;rUgW$WZ1W$WZel&zCP zl&zD0WGqZS8DJcYiyUS=j7W|$G7}-Az}(~HHRb^GL-IOvh#njMGW-@oBBR!^=*2q(-YTvBV7L(dU>cF+HLk+1hQIwpG3 z*d%tlqrR)zahw&pDxV)_kM*XrjFXs_SjJQVaZb=!J?FZbpEq|kvkegA6g%CUZobTA zas^yDx0Bn)@tnjR=gx2!xJ%qMSE`F~ZE-cYI$V7&yGw8>T(;|&Ys59?nuIjDkft8e zoPhXq+%@hNw+yi>KaJ^PxO!KcYr(nSUh&-F&P@AEztElHgp!?>&b?NzX`r{r>2>P5 z_d0{Ld^d3?bNe9QmhRpFIWn#Wj)OcK+?!n^?yc@^y^YTNmv=bod(xc4 z!1c%5w!V1HdCs{R@@|Lzm~h^J7B4vubTwP%E%SY=T#CJ_dyY%*YBpc*o_l`SIpe(O zY-ih?t59+&l)c-%hui0F;cRY;+v^^3rP5lc<(9hyPl_kgHR37YE_sR|lz2*A^OT!< zcDn5DC9cYDGdu4p zbH&+X(4HJuo-3#4oZ~Fp!RE2<=WAJe4`D}~$)*ZxxNX1Vmg54O)YaVGX{vzUZDJ=` z#c}5OVd%@up0u_btk9mrGHecesJD?FGgYv++Xh&~ZgT3l5)SIfRdYL_e;T2Mov!U% zFZAs}Zjd`mrR&O2d$z{a1bsBEN>^|lb{%q^f*!DOHrFiI>Pm7Ib5ZDxz1)PW8NO|D z)xod(KxXAIHU#bnS42kye7WE9wd}E%)7k6nBFk9AoqOBbY3Oc*a?2qVT+j==JKtU9Ho9xw zyWEAHnXcRJG4)3MAJn-}b()=}pb=MwAwbPTYJjW5XEJEDC;GJ zIMmA{9G5zTN*^kLpUt!5JDY7C?PDNK7na-N{Dp zhDVgc@L2N-YZLJBL36D4E*RDL@NV!$BtNteu|_I`FT|XV@{WW+LNKQV4+fa-z^r$a zP4!H5VBxtydHaym8(!|n3h#CRt`L~*D3lzL7m&L z0ISA&2HC{+jSdp{NUfUrLbI#+8G>m3vt}RW!T3n){7CEkNbCInSnG^?`a78r!#qPi ziy(~;e%sEN6SB`W=hcy`__}k=K{@A}-Eu=4>DXoN%dNgrheqzkyFJA%v#x3{P392> zdeeC<9R@PxIJR5PBA>`tWRqi;AiSHtQa>(Fwam&(a**xzj#G~utJD+`a3r_ohMxO6 zJ&g)3zieCgxjnoS31=x4_yeCN@Yu2HOAc1JUx!xcnh?#&A--ju2!#55orAf@^qW9>i{Vp{aDT-7?s+~EC%|8(7iu6$H_NA7F$TWLCvhC8#gOMR; zj{UA{0Pj}&$8kj81O0RCocEPByW2=wr}mDsz*p+ZaA;hmEwfb6b4(aoPRJu?0o9;P zyXIQ5g30Wlw^&)Eroy9ij;mH#4o~3a_yR-FNz_948Tier6QNhaS>#ZNrq|r9;RR(( zo>I2SPPI+cx{Hd~s6i^|HTY^BtKetQBF8c%I%C^j*_T{;#|F7UN2wA=DcMKFy5{JI zp?G}VzwOxe9`iMPKXYHLv06v3u4UGl-*Q42Zfp5`GLO`IC#eQ-SAM9G&$o--N$yBjlnA)QIeMR)9tJ>b{M4ScTENTjW8CnSu z?$?f8hsLo;7dwV-7ve7?`rG9WeM>{g)3WZhWikmX6}De4We=vllWjFQ{jMajF&6?KDODI_XMv ztT{bCN@+WcElDMyZ?uvVE1zjPdhhLss*m%gVQIQPP{_Mn3M zN(sU~N=?~YLwl?P-}3d)Npy}kAU_K?M0OoTa>P;O+>4BO4WZ3uR>p|f+bQ-Xua50* z8>Ck#QSK#K`MiUY3;nCARXCrj9wR@XO!5S<9bgsmY+I`{pMK~(zVrOfyst~v$|NB?;L8X-RNSFMrNTE7 zT2V^xL_=$B5xlpV@>e)ki2(4;THmz$Q7900w5&Up!*?AAc&~HQr>9C7FtUy#>crjZ z%%S56!=2~8E^;8!=Fmsj_PeSjw*mj6#K;UqMmAi1swGDbXq_vOS_0O-?$`!)Zwb(m z0hx@91qfGS2L-VIN=r~t5Ta=^RewT9BjKI)lcHx%pN4JDDwH1IQWS1zH> zhYW0Ms8XKwb*cRos-ai-d~Pw287gjehcW|=p#pLvWF>b4;AhaMrRu*^ljFR_c(*gN z?Nvw@Xmm|`Gktv|8_EgqQ_mu&J3Jl4Z7dAx;oS2Tg$($_?JRez3y&m5k|U{+ROe=J zl@7V|z9MkdmQovj9npkOB6;+Rzk-vg!O&xuzN4{&j%2uB-%bbDjo~Tw;O%tk+3j3B zA)Mf?acJ6JwNG{Exa^J`d;))jKXT4fH~mHU0>0j1h#c7O+VA?3BNgF6Ul*7)Cp(IP z$7Z*0brgj6J3wDVDx7;@rWQMrI?_67=qP$?{+$#Kn`@|{?gcIE^ydL=9eU*ZeEVg{)NYCp6Se&js1uhTRgAP4YX z!r<%k7E=@SI2Z$juA!dUTj~3>4jgGp7d7Zzb9aMQy#_Pw7B%QB@D6*^=uJ8kwBjDH z#WrtoIG5UD`hClI7PSuiv{M-Yc3P_pfO-_m>+-&$3B6F-ltiC992Y(xE&(mohwg`i z;RroR1mstteotCxm|9mXp?gY^V>LAC%5WAqW4%^q0bnDE=qkF3An1?KA0en_RP$GW z!%S!NW)At7W>NE9M5pdY6;lpxt>%xBC<&Kcqifqdr7tuwcfT<{rR`v=;6+mGZx2K7b2pS}t1RvA<^ROv4v z&yiWA2J)zPp-Nv1Rr;%tQ`JFEWrCc_3^|nr`6=L3^^j9FKu&cXaH>xtHpr$J$fh{R zrg+Gv1jwdD$fhL7rWDAgLXb^GAe-udY^oEosV_k`6@_f-%TUShf=d29sN|1e#Q;k_ zhD_-@aNqEcp<@3^RqRnrRqWANb>A@hk5t_rjl=#e_8s(Ns$!4o0E7BlG!JU^=doAV zEA$^j#a@s7JO)AEP`MNOHdN`aL6!c7%AL?gsMXt5?u6n{tG{^)J@pCn7S!ZLsL4wz zQ$l5^%qvit4?$%<43+r^ROUONGT(XT%$c+3m(G0ROd5Ju-Gz+yKm~qE-Gz+)8>qui zLmmDp)ZxFa?m|Xq)LqEvzgKr5qq9(l|DN^}+9GrrYV1c)WB)sqQ=!LDY5#kuw4Z2i zXzl2KRhborX>VzHEJoGUv2&`fj-{x&I`;e89&Hbns`4xB544MCF)U4GQ`oyIo5E^U z6&<^(s_0mq%A+ug%A>G)l}BL>Dv!dht2_!Lp_c9iJnDUnf;#!1L!JC9Do4V;0TuGc zP$B;&RLDo6LjEnNkdHxy{I8%wJ`NS~_n|^Q0TuFpsqT%&o~V1HvF}3N`#(V4`z6%9 ze*kswRdsJP_QOvc>Qb>az_K!9PN^&_CSGM(F&|f1R!oA*vSNN$Wmz$afMwZZeoy6B zF>k8;D&{SfU&WNF{3@nQ z{U5TLtFym#=Wo=w$)#Wfi6Iy2c<>z~pVzg4uTO(f@ViNBIv4<@v1SV>jhOSjnFw}E z6AXgV19JxWj*<6+1Ss9BD-9Y!snfX!O0qeYT>gJFoBm2aKec!2=)?EsYBT=V6Wd~@ z+vl4{+c%j5cRp(jX4yh+Pp~}Lzz$!pz@zLj9_6&$6|UiWDL2YJ;}*CjoMxt(<>t{_ zRBIM<5X`lOz&*okf6x&O2D|ZM_657gT?r;!ui$QSt=CI$<~FCazYsQsW8j2YV!7BV ziek4oD$a^a;<}`f5~V!JB5p~n)Ft&uL(+^iCoM|L(gwKa5Zsds?s)*NepuR;8t^rJ+^)2hR8JpC%Bi~D`P5a;9j@yxrgz2HkJjw(Z0v6x9 z@O;pO)7*sH%GR(UK2eMl6Qm5=3X8>9@W7Fa;Jup_33ucQI-u82uv!k$GZEfGQ@3h=!*;Wu2Ta)4@U zRJiX<79I&H_d?+6)nAj_gDdkEbv_nyeD7^})Oej;zOQl395l7`c zB|*s&dzDeyARH>M#G8^{?w5ywy*^M*LK=Bqexal&xr#}-DVh{5GuILYUbMj?Y!aKp z=CcLt{gz2SkJq#qZAmThcr+LZlEL1(9nXd>WTdXI@~4B(xbom5u8K?Na=AjD0yd%z zrf?;;q~=jhd?&D#EoW+Q!IKeOXLgxvK9$Yn^?VV2k9~OkiMQIb5nKwsY(H*4 z3}W2fTke(}E^=ov_#imQoMtplJ54)$@{J&~%HFHv8`k*@KASBzviLo|!ky1oYM5XXp7^9_QWo1wGB}aHFvv;ep4X& zO@-+9lMwx;L-hNH5dCIC^!vvU{boV*n+?(Lry=^yf#~-$5dG#t^!qu8e)A#v{S%0O zYasf)0@3fg5dGFd^m`SeUn4}nCWwB`5dGFe^lOFa_ZmdM4G{fahv?S^*And57XadQ zK*Y;q-^RX!+=u&5zOJHK$H`&0@&jDb1-^WFM{y{1>4 zfruA{C>Mh$HwL0y4Me%8)U^RL_Dl*uxpCTbfK)#Yk!m(Xs-K2PH3uTq&p@P_3z6z) zRiujMt4J076SxE9i*N@>CENk>j*3*#D!32iqIOaH_h>a-0|>%300yoBuy754gKGdh zTmul`8h{Ab03^5uAj36)FkAzOz%_usfNKD~Dt1M`a`wk(chPC6?9V}E|8JnO{{kxe z--XKlk}gJP$qm?}`3Vp70&?9Moo2}+Nh z@k|o`Q9c{dsun`QITsAGy5 zV1^hQGs7&hh*i(VI+oacytr{0=UFS;Xy0>cz~>|~8IFCXnqiq9rjM~XCK~l%#*AkR z0LrRimL2=fnQP-$TU{yEQY+353s&pKwHz*vsBpY;_2Q3BQ^JepEYpL_vDHb}2p36M zECzuv_X#>zf{@7utfeh$)(!R;+=H2>thL6Wn#7t#;i+p>*kMkylQkL<6XS&8#?ve< zX_|~uDpB23c`e_mv20#Fkyt0&6fbodWqYw}mY=b1n0usy#tl3mr*X5_4v9tSG|?wz z;D=I?xl5v?wx;+R)|v-m@wBun9mw%gAASgCW{;e&_78nvly5XRHJ3(N1oY1kn2|y6 zG=dnx^;-3Hn|QHhjT>YexkrwL8u#URE>hFOb#o86DPpcUotqU)T(eat+=5u{+Ojm_ znT{WP!J9;q#o zYwX2F*)eqDCJx!jG^BKXz@L*dSP2zZkLN zO|h=3rlgBqSIe7nh)z)R8R3O1rKwUNgm{ZV+%ioy=7}dZV^gDZpgy;W0OM96B-Q6$ zj#Wp#DYL1-x*@)5)VrQF87;h|F^@DE-N&-0sZyq;3OS1Jf!N-qwidQ8RXX4rnkTqf zCBezsH$jX}SF-9`L8Lx!-!u2fduF}4M;&WvgfaU@=0 z5n+;hCW?$r4Ax|mQ`T&5ojBm0U7X?KScKRmb{U&#ii>lvu$8VUBJXmVoWvHB0Lg(E zePBDb8>Ioekv(RItM9v}O#8r7Qi0v;L2p}Fq|U?OmQBWOTZ2|Hr+N&V#O$&;u0qu+ z*kabm8ts`*jr*x{`jP`6-cn|adBUtR8|E%H7M431nbmLI@AcUH;F0~2-yLRoVrI>SE9I=ht=haUHzPWcf);J`j35V<<2iTJ(?c$Nk zSU&+5oX)9E{(ymo9P1Fs{*jAIXM%sfa`A|b-qzuWtI$;fP}7b; zR99A4-WcR^U5|u^u4gS#Vu*dpJ|`1w1W`ehx=7E4I`-I~JTz zcs)Y}UjuyB#>;${eb2rJ*x?YrSc6;c^KPDUOac5^%3A<4T;^+;L>6&B1%CaCd(F?V zji!CTp;Em^dv)(p*ZR}0!-qyI00tq1XrPF!}ScH=yK1t#b7NZo>V^-A2g*k<=3ZM zc3dS~m3$A3^DOXT0Qkf&d$HUoH!5-5Eb#9_+yfZKxIAx~k`K*#`7vO|)vh=p=i0b!(p6Q} zP_rR~*iBctHCv#89d6>8SA!~Q748f7gvU2TqL08ilNmST+=8%KzhK?AqzOChJp00< zXD8WVGJ&wTNLM=GN9R2oSFc#zH5Q?OyGgLFa$td-fcHj;uI4OuNBtYy&)#PrHa@vJ z%2g5B?07YQqv4{SYXGbyKu|=RON$3A&+*4ro73XDBJg5ieJjz`I7ali)@!m|3-&$y zg=@)n-!uhg%mHGA7^~OTbY0XFdalITM?5jR>&wlnmT_A@F-^=kEw>9Km3M;PtOPK5AQm#D>c&&%KQk~}NW{a(>V7{Q)D2T0%TmqNEjtdWk7cEiHQo!KF z1TkIEQC2q8vIdw~4O7h?3&rf380RhJdWjjM>`k`s0fZ2v+0*PHi00>-pCjm*vNL6H z=g&u)_eYxdN1FF-uu1Ag@@d|$lutMfNI^A7mk zBl5ss3QDIf2Kbvu&iPXjtTtd~L5U`({M!HH zyz(nP6620({c!hmapwPgqVLuBkuupy_SMdkbJbVMQcc9k z?BDPo1du?yzZR6$(rzFrkQpfO5BU26A%Br~MXdwT_{H7YSrb*33O+F#)SykRfw9Kx z@o6p%ymQ4oTwUc$^v?T|O+{tPh5)s1K&TVnX<74xAv)4S=-SD&svkL(1`o24_o^X*s47U@cG7-?&j?dmk$NE7W@ zG-7SE461$Md*WN9V;ypPmDfY31!CJx?F}{eYe)UdR|nc1{?5QoJ62uQp5XOZE6KUC zp7xYWJ@vJ3WPgghX3 z-<_;n@$2iKn5f#>wym~(a?U(_Ig6By2C~hsc}Hu^G?mshl%-zOUDRC~FqQff9kPic zJ8SyED5>M5j#MWYrOZITe=gwhQ-R8W(NFm;frkNIfcGEyX9B~4=Ye_uSl|V`W7)qP z$n>uUV%tu<`Tjg|j6Cv}g5TTxxPQ*S=-&?H_=o%>z_#E)y{>=Kp02LT`%Xk2} zy|Bu5Y2e~Y^+fym%9YwIQ;|8-H{ees@%D1xhB`uZ4RsAyJKHASoh)0d#(c}ZWm9%* zpJ~Ip=}#KpUT`3~s#%9R@#?KeR^ApAW6gI^PP z8koHLB=Fc@?RWdT0`xB}8`|_VXzzx9#;0+}FqfR+%-c{6==+DuBZa8jIX;U-z>$Y^ zg5z^Y6zKxbR^L7QJdE&ffC&E_DFjh|7JQl-;fr8||5Ny;*%wd^dJ1_9=A$Zuk=6hs ztqta*YQ##gw-7s4hLs^s>;iTH!Lhfo3dDuIgS~?^VbxeQauch=>X2KQ88ahp7?Yb} zOm2m5jz!^{V_h(R)t|xl$L_)WRsR&5!Df)Zz`l=tAL+$@g8c;f3e@lVpnmsN_+LKy zu>< ztDnNGSBD_>W*{GEGqss$j5bUADO97)(dMGD+Rte}hyITCy!JeLT3ZO>^T%K`P5^PZ z5&d2Gme=oTJz5W%q`j@Zjh@j4wC$)?%V>Et8ESkfP~-c3sPUyjjSs|R?IM~6-}3sT znr93BLp9G9nxW>|LjOq3vxR1=dA86$KKs?PUq!Rde(mhn(NCRyc=j*RoU`wpeGkn& zJA8H+{p{JtXTOQ&sgW7YS95Wp`m@_-x6uMMGNW&(kr^#iBQyG@8iCOwH3Fl5szzY6 zSdGBw7t{!hT3|*l8_dXc17_rEgc-T)Fe8@(X5@0};&t&TrT%vg)Th2lh0$#0QKwM)4hiVb>Gl^17&oNb>Bo;-M4gOD6e~8_dY7>CUsM&q?^`Fqaoe5 zb>BwAy63uiG@@J3{Wbbebbq7!9{Ojx4|E@(J-TDvG5Y7{%Fk7x_s`Xyt3|(Z&T`I* z_MK}ucOCuOIp;Yi`t@_S&fP)>&XMOx^q-xh&Qa(?m^17zVa~8Y5Dj~f2Oq}7&nN!c z`5WUnWuePKT&|_ubQLI7Q4a96oCdL-DxpktF(?(#wV;$wRZ=;ilnt(np)#l#dm)3z&yzc~*VyQGb_19*P58r(1K6Mx7Hmd-59ns(X=={GrN5MIPzW1i)%|wIE zkWrXbNM0C!BdKJxYnx zSXOQ*HCQe@G=qCeJ%v-3cj!KPfF7bpd?~&X+D1R2OX(T##OgN_-%0YYg;^K#3Mwub z-p#%^bA?o&u0GFTD@(XMURHkj;hXxZt+Lj#;05Hu!;7pb-8@9EmTnfX7m~_NYG1tV zzL5XMvB5?!mq!X@Um?8#+67ufZ_~Tnh)@_9YY)QEQi1-q}%GTenvBtdR6!1#-!R+UB=Tt9|}f^_8m6 z@9STvZ7xfAXY#`QMfnZG+m?5d%9p4eYVX3@Tib@(y5|OWd8E$z-`G3Umb>YtN86vflA3GH*ry}832TUH$R;&)tYMkdi;a}y@rJyH{ixXs4Hp{4hOvf~`qzrBhb|tvTC`3=Y8ui=To)QHH%yVExuGrB zX3d~y@lI=LTV7X|%e(~tt{pEQbG!AQd@lfhXYoJ)Y z@6rC%bdi+K(%z{<(@1B3<2tFUM3UOghPB2J(n3@X9Sz;&>}zalENm=oEPwC0hTA0l zm+4hQ!FyE=C5?tgOM|O1yiwVBs;Nl4JD{t`$N5P2T@nx<+@v7og?vUauimz~mimxiZN-VUeHr-R3?x{`pXKd3+#z_nPwXL)( z>*@I?o$ci8`op$wO`iWMC-|@Wr~R`W@4xI{q5s$KzfE-G{we=;a&^}KkX)ViKlDE$ zS3UlIa@Fad_0N;5Hvbs8YW8>dhsjl=|0KDp^I!5``A_ZJkONh|VK`CWw*`-5^%7z%wc z`mvfxL;s!ZC0Y z98d+cfx>_#5b)phU-z^GdNNyS8q9pA&(NQHLT}o0+aHuVT{urukl5-^GuUz_^pA_r zWSps-FPz9ZmB*!?+oP%F(wl3y*UD?v{+qQ%PmAxi?|5xi^@t}tFj8A&C`|3Nl<(@? zS8wRAb?6j(G=`?k?R$5U{IU4PiqE88%^4}2sF}=o@Zw7C*~FOx#tcj9eC<%$LBm8& z|E~V@4q6uboA=k`PGxSdJ?&3RoAg!HlvQg3;k7f>)3ukX4gRrOYi(|RNbNy?TCFbq z`u>vIvc!d5EwwZLG#$UM-hZt4jNgP~u2P%YS;gt|YOd5wCZ4XD+10;)AagSPdd+M5 z2mCwyJ5r2(4K4En(fgFT>&5Fd&&6j9EopZ%x2J8-F4F}WrfU{z?)nwB41c2SR^CH@ zTFs4`ML%D&kshN{q{mn{N!|3nuDGPNabyFSkxLu%=S|2S%DERY{4uO9KO1e}pQzm#coJBzjjpZBY}Z}Syi}OKzhIZAW^&(rV%grE86mapwOx5bw1)Nv z?GMUXt?e~D$j`~Ylk+6!i9aZhODx-0s5fOis6FY6**}n7=1oQZ^Uo|{BB z=Gf^OCs&i6yX5M$=Pdc;J)@pGCVYDPnISDgT-0YnozVCQ%5ufTUpX=UoU#_p$n58N7T#gl0kIm=f){=V6*Wyh2 zqF9xoJI)lh;u(uw-CbbrH4Y^&B~NKeo!7Itj0>Kr%m7W3@4WAlH$d)n&L=1LnD$+x zDLNwe$w|7b-WGBn>k%DE&kf&#p<7d`s)^sOuQPOegH0FXV&cop3wyfqMo3Bd%rehh zT(){6@hT}Lb?j>FMC^oS-8y3)vM63yC)YVfpGDzWrX?INH$91+HTyIcjY?CfzCluw zL(=ld_ZmsdhPSCYtXffRA}Kkym5%%pTXlD7mCsjv+dEy_UD{neSUv3PIwG&WP<`1~ zRDIlA=qsXSTAf#2Qhma^Ufto7SNB=F)DQJ_p7E>&T0@>?&vnmr^EI_v61p9XS%JPrVQuWDvTw<`b%P?mk?LvLS)TDZB?Xq@d-XSHsbJrj#)p5tk z{J!KB{ZRg~-EC&8bup_;HRl;L`pj~ZNLtaVXE1r{z`A*ewv|}rK380aQEgOb8a&Hp z>+UJq)=U=jwF4^k#;yydQwN$-PsDX(JxuSScZ{8lo%Jl!`=o}MWtvj6)y!qxFlTvg zI(yg9xuZy{QRjg(ovFPdD@7S->)O6$-21no)Z%OWkKmDXR0jnry|uaVSolefv& z?)7*d__lj{NXdG^ZT+$IqB;xL9zFe=koh3LFx^Y#boger+3YCT{W?{ zJi}QJ^N(qsn0M~GuHLXNntPLP(!;XDq$R1zN4^S4ZJ#1Jxa*tr-S<88%_Q~shJ06i zi*Yggu9NsjTdTu-T_kspe3z%2YHZKSL%-dokKYFBYH@t0PuAtf?R+N_q;NfXJz zBj2Oy0n&52s>iB>s&`apR~J;*R5yDIs}*r$rY5t@G;QcMzGk`@Ym2>QvgG&eyRIqB z?~9$y@6#8hb6Gppq|KO5YYLN(dqvM$78j==$C_u!+G{#z<~++;4^4&Y-1Pg_uKZ(} z;beR=n5}x9bx;J7)@WwkjETiME`8D-Mav$wYw3U(Z zcg}P%sWUM+>&C7N@jmATv(LN!o(}x(+}Fi#JpG@Er~fnYALM@~e&aVCcP8TegZ7kd z#rBvJ6k7cx`Q**F^jA4vp*Xz43AP1`%yysXri?Y5U>-NGSuDi=xT%m_T{1tk-6n1$ zRxKw)JT%|2O>%r>Vgg6p`b?bd>RbBOoBt&d5)}TXrT3RT!e;SWR6w(?yqpjc+iBr# z*CS=N<$@4Jz3s7WGwPx}+^(`4BD#;(=*~vO94$H09xqRsunpJ-ZNoaFZOk@jTT(44 z>eWSxdg43SZaG?G&oOl9jP~%#aYc(xXEJDVOodKUq%Y}#eZ<^lC~&r!b;^NclXJ>6 zug}#ECMdPdu5jIqOBHp|@tVWv*hrW*8JuCdUi-P^xugfmF;i*8nyK_qk#fLl+#P1F zFsdsDbQR7`XJ2Hi{Z`U+ghJ7h&{VjTbV|`nD?igd4Tdk>gXBpLs5F@8m=+th9yPb@eJKaUbve*!XEt=CC zqXH3A+U%0`y|)~4?NX#pQL49A$l@n0*A=6VXnmu(F{NIqP@j#z7B}cH8Xh~gmxpOW zQfv;L!>S2bVzgB*Tf%JAEk~})qY8^`)plob1v&8xS*?zP$^mn z%3Nn$0j0uKzx%dpBx1^SPBH6nIINcupCuFM{uAjUgLPsqr=sGOobCN5iF7uRNKwsb4%74?yewoMCf7cI@U z3$~l(C+te)py`(Kc+|Y@a`BpGT~V(M(%p#MFl7|4C4|^k?AoM^c)9I*@pADp>5&Fi zm1-%$V$O<`DOwaQ5i7Kp85`}T_R`3c_IYzx#G1L?nB}}|pWl7cxuP9*X_XzuR;NbW zVJ|ckBm^7FoF?ahz0hSSuSyt=oN?|@^gFvF5~D_)*L6B)m@7y9nkvkG(Rti95OLY1 zGL)pO8hh>QyEh%2gWS_((Dmwi^||^>mE+nzLjmcZ1=>D+ZdAaS6@S+f7TKjMi|Etk z8q0K76!oUj_?;07w=QASO-6;}M9qllj_I6EZF-`+;ciV{(v&N2y1NuT%F7YUI=OO3 ze7m;I9c{Z16(F|xDchzl*InU`wsgC#w%cx>cGz8}_vtD!Tau;~Eh(#-oP=^!SiC%W zrSgRPpu5qO6Zy#9n{>x`de7Oz0cDzYNjH=<>OQHHB|XqpMD%G!V=a;Q^||F$mE9(T zw!m0n@3Hqg3z9~YMx9mK$IcF`RXO0CvrO4N_JH$oLb%SVJf3{r=+In^nxLmcT{-AF z70Fe)B02p*C9hMHI_RUPa?{bPxJ9n7x=*{$s+J6Ej-3VfT%LqrbF^j9u<3|SI^*b# zyq}~s%sCq4w>#P$y^bNr*%YN}v!W|@^=N_PTHF}v$s>-L%vI%zZS#m+b4PxK&!98YeY6uD{_4 z(ha$;x+ad)C9gQU)m(}pc|7Hw>t1DtYn2>NOf9-xU9>UUl;OJQnpSqZ=Jl6So@jau z%MN40s?n#hd3etb*Sh{>LbxN^kR6rbnswdMj+JOhxrv6h$S&1bq|SZbY;|8VW;u37 zoze$CZf%}2O_`<&bDnS#MhrWT zkvZZ_@|2z zv#OJ)vbB*jt_){P+*oBtPJxp*tSFjv)`ZcNCi|$f*|Nia$9_+Lqp~CAUh?gfdr>|1 z2liF{UAs+FsvVEd(k)uTEMW@^V6{)8#5n$gw0kq7$YQMqP!@ zVdtRpg6f2>OgW$&h*(QGmr@$BoN(18rXRG=syEUfDn_G}*&zwxsxiZgS*PZb=G6yX z!4WGaLu|R}qDtc&k6l%bX$SRPQ5T(g&Jy#CBACp5W4f#agFQcD&R*`!HkI11M*0lL zlj@y`&L#UPSBOjLvP2n3?N%7N6COAf+5*EdXOO)!e$knz+Ef!0+HBRGraLZ@yHEcc z;^}`wJpFHo|Ihv#;x~3|pPBi?D~#~FW(y~TFYZVrpM3cI4mIIy{7s^pPN<8YB3I+_ z3*>5SM=<&1!!MO@Cs*g6-5{TQ__^oT$kmx=SD#-YSAFsAk`0?xYg=B$W zz|#O3+#!-K!~fyz|E=r59}(saf4|GGZR>nPuKyi=>bLG&zjdA=XZhAAbwBqOw?F0l zW77S*{56rYg*z1Nz_C5Jj2tJ)XDhiXBWG)HJC3g4UUHl!pC^OQlEV=!hbukKl5;4y z0x_H?pO=EKkV77PjhtoVT278hkbW|$7d%f62jZV0vCNR;3gWFG2MI~)R`+N0j6has z7MF-81@xi$p{1MwPYPt>Nr5apDX<$)3S{F+fjxLqAO}wh?8TD;xp-1wAD$G*!;=F0 z@uWaLo)kEMCj}1TNrC6^q(H%c`ut1yZc#*!9-}X(*jDvh=LvE)le2B>y5lYS-}c+~ z7WdzGQul6h_Wd6BfvuCugKvqiW9y!O>iLJ#^42{5G5+32)9=dD@AKdGmV5lE>1uw9 zJWS3DzrGGgr|BUplC?@Fq!Ti^Y&*GXmzBx7$WcKwT{0ihl*vv)(d(TKbdq5?3HcDF^OYFHc8^nWp_txb+S5qp2mIXapNtVA-*eQ z3tPwH)^T_1plPPQ?#mw1Ptq5&|AV{@HZwGn^i=vz*lfHLb`RbOn}c`4?!`M{bMa2t zeRwBq9^MJNAMb?C$2(yU;GM7s@lM$1@J`qQyc6~i-U(ZXcfuaVJ7J6PPS|3+6Sf5J zggt_H!XCprVO@A9tQ+ry_28YbUc3|5hj+qOXAz zx%Q?kM6;9X@cD*L{iYvY^_yXS*U5*FvvBJS`ThRixF0XFQ?mJ{41LIN`l0SbPLe2b zXeC;{jvS5PNxqeD=i4PpzKieWPZPP0xVJMM(Vm6BMsnRnK8MJ8o*Y9s8i{)&(VwP% zNDF=Y)-OBW{q-+93gVbJ&TYdlJMO?QJ4WJ{9p8yxc8tLET}nD?!A`vy%C* z;77q~M%uP{+>!q<^7||99N{Lo2L3B;=aTPJnSTa+7xX_t+ECgeOV4*9Uq`Aw1x*%W zM)?R@&FjhP;iEUt*L<3BON6@r!VM1^g2DWrS*gTt&I<5~JiX z@&60Nuz@>13was50e%&{56*#`;4hg>?@Pu#DqlwYKL+7nSOwSM+DIu&p_Dj57w86A zuIC{afhEv<6MPk9IsFFsS@0J4ZSXtrvjZg-iu_JMMkwJL_yO=k;7O#1mE>Q8o-LV{ zLodR5!QIds!FPi%B7T$=X(5y^fUM-p!RJ9ccmydt&B(uvXdKWxaIeom9s&D612~Ag z{|KRG!2bdL1C$Tyk!L0LuV4lIFF^k-@CWdJ6gfp+gmYj3>AwO$--o6LL{3H4#%@A` zHXv(-Pm~YO$`Bsrn@NH{cM$qECsaeQ7iF?+00{hDQ2n$R7vyVKkTl zKfw{(Py8So=U+cdG(UviLo7`)%25gln>UGE1$_m4Viw~urtuEyM|_3)kz&S?V$7F* zh|OPcJ-j(dWIyB-Y7Yw{#-BFsI-#7BZ-wi#)RyB}3Ng;}Y@GkZ=3P2^z}1Pg9RpcP zPEc983p9esa1Fq<7IH1*A`mksU(N{E=fM904aRW(6w`p+)G8*VGR9l}2&Jrs=2~R4 z?H%O03U{vn-wppCAlABsKZ#HojL>5SlooUAwDh32NUSJlqTydeDXA!>%sxB@eI;1P z9Y?>wyiC&|eE9VPM34E7PX)cW%U+fj&O>Jky0Q?wn*(&71yP&AI%@fs)Xw4Ghfo!$ z@n~vMi>OVp5M(8W8C?7TZ7o6{{9D+)5KjYS)Pl@_v|Zkeq;-UQeGDb`3lKFc?xA-f zb}zM-6`%(E8i?`~U98n1W-DD62vwB4m9CHY7FKI;{Rr3y&36!Lp86E8fibi^#du2o zMV3?WJuDRTZn_#0K7qW*QOngRjePj|C33V%S0eoLo9(oX!6&Ro!M91~IKc)sfW^>P zZ+;$mpG5hSwF&MZfZ%2BPhcjq_Y=cf6QV4(R#%gv_@EBQrOi3`isC;4O@K>{2q7@d>j1lLJZ#k zS1N|+? zt02~TBGz#N%2xOSG|M2?Rsyq=ncX`N!b%sgmK0g*#i$~}r}%B~??Dbe*_w-`4Wog` ztnp3Aus=l!G_WcKtUX1nN(8Jo1qb+P=)VcVCKusf{5o7=NeTiq$sk)PKo-m(hY{wT zkYTCvu-o~615v^})^JvMaWgd32z*d@A0r9Mk zu!iE%<9Gx3BKRw$8DoNob%cmjmB{L`9`PIlnf1Vm%pqAl@Q5%4HI zo{ix@4w1C)VM&;rJQunYyP7sx7= z`KJ~&vsZrz%}2q0+zYD!(i)Fo7N+`o$SiH|0Y3r_vr7dq2uwu`a>x%MBh3P=L6NPn zJ_XHw@aN!RFb8om8+8Z&9*(Y;ssERuc{_;o@F)!)>m6c^96`NPz86%2Z6I5h!TJ>< zK{fbJ=&=eDkvkD<4W3#1u!Mz9*xMh2+yXLd{JZdvvK8L}4YTUm%JC)e1Y8e5J_f!E zR6+j?3Rw2H9%jE0FU*)P;y#2xwzcHp;Qygf%kH<`K+^+pvz_ zhIYOUEt6+^EUf3&v0e}VYzORb!B4@ic#Qa&ZHduF%Is$r3j1I@_Q!baSMbplww_$XWqHjvEpC-jfDEr=KGe_5()c+nT^B(30b_?4=r3(2^nf%%5s6U@g>k;9+aZwMb?ULgV+}pu#-vpDUE@ZHpXO; z*%*&mOMoBTQTzpn9b+le{}AbCZ49kf3JX@mKAyfvt(ATwBl@9XJ=y@d>vb84f!R6bTq@>b zLMgLI+3sHm?tB8-?Eu5d&EetC{#?}JoSzAJ!=+QDW?T>s4dgZCj2SjE& z?aZ2DYb&;%MQw^~mz&k;=<8o3GR9{fJ%z_UwiK%vDYKASSz#^^*}giyQIeupiWtM` zcj6q~?W7va7b5Fl*y)wAa%Owo?3)gjepc82NVyI3(c4&w!OoPiZyaDni}-e68{2h< zwJBm$kzti2V|E(se*v+Pbqd{SVZ8>nw}3V#z-krQcM~Xof&Fd@`!)gJUWsViQnp%W zyUP3dVXc@*X8FuMq>{}%4?Tc(A$F7LT+5^6=kYQ~i zMe7o=r$Ours%PK+u+>vNwX_9%lf}PG)5Cue{4S;NN&3Afu>h&&o0L+FAtLNmDQs66 zTjQ`X2VUrW=R=aYv4OXDaKn7bC!S=y%Z%T!#Y}gk*h$I-eXa<+S7BFusELo|EpM)Gh8ipB(g(wlzq5oUNW{2Djz8`miPcae< z2TvgEcfdLD=g>cg7^EnN5a^2_BR2jS#C93_SKvPxC257cA7MWS*9~ae!ClZF1OE;h zl-o9hB`Y$@5%AOC0{o!XWMkk}g#9L5e+1VbGSX)o$cRVfzXylFZ^QqGAy0xxvkc`X zVe z;TS_W$We5eNC;tW)z_1IW$sxw=B{(sS$D0Yi*Hx|U0q#WkH4$_s{RMbaKa5R1YaY* z*IK#|u17wFXZZ^fT7?<6*l+~-t&GNRwfi(2#-DmJ_TF7q;-cqW&syc#foFKMXLS$4 zk3#H$`aQ-ftxuG#=!fM^xxr-T_T=$&v0 zysv4Jo%0eN5AXFz4xc5A{?ykK?uPt2!h^ACd+P{u$mbw(;^nz3tcCS(9J~w;gC$4_ zsE0_C6!aK46#3x?9Ud=@OgBD@9;Acx+%s`N^jFeRxD z@uZ`X4n2oIL>FhQHygR~mVE zExZ7pLmY41cq!o;OL>a$`Q&XXF?(?L;e>C1y*$!pyf)SW_V(Hm*N!EfSKwB-3DWk| z4H>7%5> zh)cUjMo^DOxc0|Qc@w^yHgF@n1I{L9TbMx74(3Sh1oF{Hx|5D)mF1XMPLSGMNDor9G<9ur$=kaGIC}`*2XD4?{+TfPM33U`UqRB< zlf$WS1nf;oZX-T@P+yAtQtCHM`Gk=$D$_o~XTdz2ND8|NPlHRy$xyf3;M1h{J~G(5~vdwN%LHT}>qA?xcA$;jvBK4R0X-*CDx1U1Iei z;Y(px(mWSd!FKRQyKm53yU=P*IEB<`Zz^SX;;E}ip%#v?)R)+6omDa-to_Qy=_eK& ziLhs#F~npvu4a+46L{KE)!94h z(Q=ImUxVbDrkAY_B;3!Ivp$FL45 zIfzqg>S@POl;<$fMOcf?Qu5Y^cS;}bVyJ%ykJ{a0Cbd;|w2$Nyc99Jv*;V*9`x1xQuo?N=xlDU|FNak*)%CBBp(UoF6YRRfN^uW)da1Ey8YayUycFBc#XOy70s9Fv`mfVU z=QVAx`ke4cG1G9NI3Vmk%#RH3YBF?gppI^Ava8!S^1MrJ%I?T-KN45qVc$QJrSF&j?J;G{? zAnEkyj-yEJR?2w*WqTqZ`}Xy5`!f%-Y@xncJ!|@*48#tyZ5P|9`P5IIV2YGQD6IwCOLV zWG3)L4^f`unjR6>GHlleHSPbTO<#Wq7oeXX;pwg{7gZDDUqUCI3Y2CO>Q5oZ9r z5MDuP*O8OqNG>1`!q%+L{&k1t>6w&<&F7!U|3|Qktfnv6tJ;xHhL+h4$q;xaZ|x^J z`!Rap8ss%%n|ZpfqNCw>Y)$QWPu*?za;qz4)bX> zx#TKg>l)UI3k(O_u(K7(wcPPq!j}_12lnuYyc_pz3mcGkhj(zcQJf>}Zk$_fAC#Ax zT3dJeufnb%bhM)gVqOCWitkX5_IdwRUQBs*gr*$K8_mk^6(8Ch5^l}ep4_(v`H-fd zNmE)HO=Zv45%W8QYl+hUdx;^!+NnCCPhitU@LN{r5FfdD7bIxsHcZW`VMs<>>hna7 zkx3ryWSJqghr}NZU$zz}bsh2h+INI1lD9Ub^9md*?-bVJWWzJye0#0aq3KlTYHvV^?_R9ivYHQJU^S}0JUKyivY#T`miHd;>jh!f4Why<7G3wAB60nu8>i|DdU0TnqSLm zLkM)^E~{7bwJu+*`8eKSy*4vLom7;~4jiZ6oey!01xq=u(|4UE9!aBBoqT_og?d?R z8pv)dj@3)9kr}){7Y{$XHR2wwD70SY2a6h9EQwv}y5Va&SHrOhw88ZcqrL=&C*{wV zA6^KbSEkOtu^V2mM3annMjhSWbY~cikJI;Uo|Hk|;YwO0c6;t7eVozmujhQoEFBXU zh!{fvgM=|P87adukwSuFv!t=ULj&%@bMN*rSQs&I%O36*L-&EbqRf;u9NK}WUDqzC zY&5rQ{Z|Tp2fk#W3?C-Q8E5oO*~>SR!gJp+0V93aDu%`^>et6r!;iz`XBg}L1F8GX zTG+&U%45+fmXGPTcw*I~dEN%u$zo;|EFg2A@wOor%YDMLv&8+;9+<{ilCs7EI`Lj2 z?nyW7DXqx3D4xu+wW})+?<>%zymAMzHWA1JwZeByrM_=nWTanzUxmaQzwvP`CHa%t zS=kuP3Npr?)n!?#JD^L4Z^mfcL!Ow4Xv}dZ_`#vF_D-wD&eyL;cYN0qkL<=*M8i@9 zuKsv34K*&gQDGO}VQER!vyBW|f>jM|cTepCar?#<-N*zG?o=nD8phnPOo!u}St-a& zEk|J*WfrNoPlO&^a&j)7I-z9g^)H5F+!N)kPmh?&t_y7|h64}{PT~)jQX)66MULx* zZBK349hfeC&Mp5X3ppg=GQKo4;a@5Q&r(b$ooFwmL_0WYJKjS4h>s(O4_5b2i9NF| zUqWj}GWF4MU4i@2zS!7v$X+8)PiwdMYx6j@Z^?kGE%Z2L>JK4OW{bBtK7?|^IMO~L zJN-~hX+hm}eqJ)8V>@_^88Y^X$k_WGEkfL+Pl4CtoqOAGZaw)7+?%Me%#6(Uhw~Uo z{QK+CZLbpo* zHLF}KAY}%baWCD!*^K=}va9?iO|MBSwHCNY*+9tX=ST~7Lg$iz&m6l+iS+B&e?R#; zrr*<1iHs`nS4 z0d1EL{J!Lm-i?GdQf;wNR~bK_)5|tY57K+v*c!C4{?giL!A7k|FSI7K8=2&5%lYNh z71Yp%dQyta`3?DUkJy@pP49(oTrF(gCl63}K!%X)5a_Vx_l4{nF{5^9xe5AGbd+VOpAofhPJdhI`r*%SWro#(km zIpJ%fO>oklwPn-WL8eB$v3kz)m16JxuGOTyOv`fJA64CNm0+fXY+ z*Mc8e#n@4OkfXMjfP8Si-AlACOow`W;LEFZY7%@3`=J1lfaMsq4ne(f^#uPjsXM`+ zG_+%nQ;$Gx!zNis5Dkt|6nor6yyCE7IxI}qL2lbt1%wdF|A zyAHX{-kmUPZt%P;U4iVG<&s?jH?e7jbOP*q!i|-&@auNJ$G7gDfu8PgG8e;&g}@!- z(Ke!ZSm|q@|Qms?S zyO*ZwNu+aL>d95iPLj^(+wr%462>%_^Z0bNv@knBPar{BJAcvAMMMr(yA9U-eqJ_T zq|>cS{-jnAA_kbAiKTf7yKthR$XPe9IBP?vrqVPM{(aAJ_l0fzZ{}C7VqpsT@u_{W z^O6R!pBh;i4ikdmH(6IWUA4N`0$o`eUEOL=YyQp#hh2i}YW~9hY%&?Pi`CK#TB$;7T4wtVC zh<-k}yt#oUIW==n=bz_^FxZYjJso=C1BU%+<8ab2_kf!vFqtrt?;D;D+l!flw~*K( z(uI+z6QgQx4r%u!@~7c~CpwS#i=*CSG%&e`ygQ_XxhyCVsv;+|dN>L-r`l1?70NGa znGlR~VL6nV8m2ubk6cSy(VXiF{^}mT?r(tU@!=Wk%um<7oNg1A@TbVQ#Qqi#17&eM zL>oG8w|?J_JgJk$8^^Aq`##T@+LkT(W-qVqE=3jY25(urz4j8=_@&~iO?krxgn2rT zx)RW2YqZBkmHV~6=Gxtc>e)oJRD4&|zLy@oc5zva76wMA4)dT1yKvnt*q&Ur{kiG$ z^xf0xLlSmjg135WoBzz}bDV_hRb)&ugt6Nk*`8C&Nh2JhTOG?bUZc#@AH z?%@GS4z5b)IbDT@ZlJ6)+ok^XxigQFQ3n?WHjA8Gni2_gNaiA{<;|6^QO#%H9mmeN*Tu56;vR>y;T>bPm%zRPn{ zYrI~j5y=Xr%J}$`lOe`U;QB37Ll%0>XEW?)G+-4OzX)~2=*j^ks+EmdBw(F<%u(+e z`|+($kG4q9kFyozs-84hN+Rthr5&mX3wwRJ8GZb%S1;IDgNiVCI@Ae?F_`l0X`7Qh02}-U+D3BpO0GfNJ&5 zJr;7DxA|pkEa=uvph2b+E<6m!8)tOvD`vT5ZQwCkZ;Te2W!Xkau8`9^5AX7wxThOSpnGxh8z00c8%HmL>1h0<9)}59j&E2i`50+n6E;Do}_u#mp5oaC3V;# zKdY0qgq1AaV?p&;>u?G&Wy-X>wOc8{@E+`4W2zDtWx(~0Bli5ypbMcc^czp$J?rSW zrCgRLAN~~SU7xs559E2pYp&izGHn9u-}3fQUR{mcOT3dex?W=)xOC5``9+>NbPy@eTh6CiORLLem1W(5%PNWK=Ds0)6zUz4R>9OR4ZQ}Sc zZFl++x4Gj(?uua->tM3N9d0}av+q~eR4B-y;X}KbD|`qr1fh9kR6X89|K${x)Sgto z<3qX5zS&T4{r5)Ky(3_q?fNThwQ$$-LI_8g4l@!TQjF^*(KtX#kL8|1S%|e_)d?FXJn^Bx%ZK9o*|c>IKn5W zIr;?c`U7{hcTYe1@o9#B(2U8hP&gU=w5W+G+5bsnTjF}LxAa*52>P+_iZ9=^b*+TY z!sOGRz=+3nsT3*zgV4c#fYOA%=>Td`MIwAJr7a}CD z+pLQ+&Hnbpl!6~lPxVGAIr06lCO1Qn)-t%0DT^sr436!DyN2LzR( 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 z%0A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�x!WG(?h1^F-d-s@4R>Zvn#{K6aS>W@=&PSNOMQI^>I45r*0Z z>$H`GDe6LT4UfMN_49t7JDDKp^@Z4`8=KGKOLjHqV!VZQN)Oh>m#yty4^PWxk(%W^ zebZ?|iuiz(ei!RC_|H<>K<>}dxLw3blib)xw|p}CRZ!iutY?e?9de+|UF54^Q(l1z zwrjls&;~E)?{Uh=G(LDh`9!jto=f#sHsRe=Mk+A!zx|={Jn?+$^qZM5r@Qgt)ze*d zndn!dX}_gGmA@U?&KI#E4Kkq0DM!RdABG5tRk3~dfZf(Dm?R0Ye6$=)!}u!V;}3;KGS? zpo74r+O<{q!FhmECOAmJE>1`R22+__KT+|4j8zRA71sLcmBt>`l75h; z(FdF1^9|3HcBWB5DVto{y0PSi?E%~~tEg+9vAZnYii|j0X%1p8?6E#6%3IR&F~ybkgr$=jeM-Z(B$ncFEF&PM@6Y2Dg-zZ`wDCK|(NnWXAULZoS9v zMN1TRrqj;l2|wP{3?QNS^Pbv2vZEK>BoSzD~c^Sh#mJ( zR(?YFSCXHPt|~^{pOr5cL^S{K?{4~S>|@`A+Q*^&#c_CB2AZ~)%Nwlq%XRo%CA*!q z6-TP?=`!AR#!CFHn-ooFgdY}84VF|-j~{yciRbT<{r}p~5zEA61B)*0rW$?bOjxgS zhjkifRO!%KlezDBzKeSqui@Gbj zk7%-~a_w^%Rq8h93nW;jS((0991j3r+y$q3P({khwo(~Rf|oCe)rmAnNU7x9tq4dlGRcXWu3_u9_gxh^TtGVw;Zcq1y$@~13?n(&ri+=Pd$y>MgR#mD#@X8!dM zt>_|Jt-eUTJ+aYwm{x3m}&nh_PQ&0a^y)Cpz|9?bg8!9sI{|nT?$-Zq^rcb#d z7z;T^jWX{LsiDEAAhieNP>1C89P{JNrdh#%kWLbRHPHNJg#S|BZ^5z}Gwn0vJJCLx zBn#SY*Aq8&wdjSNp8Ye6i)-%NpsZlY3Q1gDS_~k5#7uM-yyy4%2mat!Dg|;=%#;83 z)kH_Rq{%0Dex}c1 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 z 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 tG@z(lT9k-G}{yB zb;X;VK<-MS;va~ z6dPcV4i|~B*XfDCDN4+*(+CNh6dRHo{z6Gu)Mt~0@B;5Jv?<#z3W6DwAYLoH)dz3M zLHkGn<|&UUA8+@d=P)fHGzQ@HXO?CE8-I-@){N!1w< z7o^2i$kOPUmbOsIvHq&^q)b?uubAsUvnMtD|Od(nN9b*Bn1 z;hA>-QbVy@)j~oL`r&owzSjq}s`>Ab&HNfWl`TsoEMTT~V0vX8D65zFygxq0+te<0 zgLA@5|2yMl!VtCQ@`LWxK<;40;aGFxcU^GHqe}W1KEE$CZ-|QvK#dItdewh!6$6LrdmF~@a=Z677VFf zDUGfD6e+DJ&5hu7B@K;K1T_L_7@x?C0!J9;V+V{kai?UxQc4=m|Q0`eS)RynEobmVIZuTR`2#yc%}rYrbiqf!_n?s+g?0kZVsYH}s}hu1AP!x88%*DX$LGKVlxeVhy@vPPY!6H56ClRMXBlsaL11HLN}*>HdAz7GFxP>rPr%2pv56@86h#8M!gFjX+@CsI8hD zF)m-m(=KKO?p|3e=kI`7(NlqI0i?z+iM&yt%&iK3bBJC)95FB7LV41$@-EI2LYkV7 z_RmtJe^;uZY+u%)yvW8FKO^LnG@?+&DzWHc;iZ+0-?>pE^g=n;`DJXKIXT-BqTrLu zJ(jeF7Jju~B@Tc-Fmy*ldWW`c+?U!_p2+O<#k}3Rxi97D=1KN(RjCbd3j-t%qFOLM zaYV1cjwC*4|4jk;MoHm!yP)t7s(Ue}A^OvTJPiAOcSCVdjealW$}kuO8fo7iGSrN2Boz_H1a7NPo5W^8 zJ^eD9%Qs_Qq1;;}-Mk$6PxKmA|0cb#r$Kn0=y-23IajlbY^HmFI*hq6=z(kbp0`2U zuZOl?F~W^dKH8;uByV5CrbMd{-a6NH zBvm-0Mati!j%qQX!!M4+rO${ybyaq-#Tdj;d<#!dx2T7CgE+VMq122pz)K#HFA5TN z^Dp$f%GxM>;tUxp1cf)|Re}i}Pq#-5e-LG4XF)&A23|Cte9DYnk*%Cvr+%Gv>T-D& ztp<%k$1gtG6_BSyf-80@P%ov8NXS`miYi&v08zpy4p0P#y7!1Jr>fiG>5BrGa-Vp} z9hv(Xh-;HrnGwN&^(oD2ib5cgZ4S)?{1rmfaqDKsTHxcq4THr=O1V~I)756<`1IThOMpGB!5|I6w5fo*+q z>nQ;i{ChY|nLqjJi$Z5mfi{+Az+|#kHz3cmq2+9|Pk`Le@l!H)vkMkXTi`l~nBTbX`!hNxu(Cvs2pg=^{=Z z;8f3(s#+6YJijS?zz-5f_yU{5mq8bud8?rBwRAI<|HAnU$CkB*A8@?Uk~;5Zg%|!9 zcY~ck>0!6ds^}p6EN==RP5}+G8I_NiApGhKyw*g#w7~Ki%N5ow-NaEYU=PHt=9OsX z7jOc-RfxPr?WsuMeMd3(3V)Up^TRG$@K^0qJvoM1VtR!dQ6L7A^lZpn3*x~fs2QlL z70_ceDOT2JI!8a|_lZ5=8J-{t^||o0Ey@1+Aeie;EsG9``ypkh>_KnsEA(D9^tZui z;}Z@y))cIrjif6pjTD<6MWRa)`gE%;!!qz~U%{Ltdx@yr?jqysstE9wFJ`lvaAQhgR7%$ND(9r0z2gAXjn8RlhJdMl1=S(5PuC=n>I7Xt$T<7ZB^E$PI{;m;SKOj7~4!fbPA6 zPl+%2(m?I9v{_6d9;+4%AI>r5mH@HiiX{-8TNJHJ18;o+#5i61H4ARG)P`MQ>>F2p19>gWERgbk0vlp?IBz5(AVp7!DF7>W-< z>fw1?R26v7jb;7%{54OM$;UNo=!>J4GdZ=VP;<&~S(~TehQ|s0lUkq@tJJeoeIKM% zp`Gr52JZkAwObo?W?4hM1YaU#b}w~&qLAy`YFk=pn?&hR2;AqH zh_q#1a!dP`nKq+*l`|}u>e6E_F3W4$IY;<$y#gCbijdR7bAzr~6CkEfLNBGp%LT{7 zso?I?jl%LP*SB?5rK1Z!yY4GZx~?k?Zh27!d>fh%mK^OPRGm`c3hwqSl4pN{_Q6*5 zY6*A%eoQCSi#=_~VztoPRAokrVAZvG4Cd$ZbTaAKho%c&cXjrJ>~m;qbS>@dY}P$` zaHb(*we=$#aN0pRt3{VeA9G2GKHRO%P;l}d-Es=ZSej!xeVGRDM407oN@~qH(7HQ0@E?Wit?8-neF%8HOKdG}2*?_Vay7U6b ziPMEV1yZ;#yNf(ww8w0VsbdDsn2fg(@x%1Of3i6cVt>K_MC++)_+()hQq`Jo+gHb^4rz;a`IG#M z8>0F+E^xU@4!Ak9`#smf?WpSap*G)LdYTgUhJ4H)XnaBda89(r9)%hqa+RmnYuTF8 zCw5Pp@q$^Mk$L0WhLaX9J&8QM%pcIXI>z0;Pl4lFed@YnJof;t+jA618kqAG#^>r_ z22ucU01|Uusj3otQ*n0`pSE)cirF57ZS)s6bL5y|`*yJ^!{{T2T)?b-cW;0;OM#rGcULqa)hzt)qizK&yVKIVuo0dF~(0 zw|)Kxh;c2}xe)ZDpXUH(fV1;>*tWH%&tKf_u;2#ZNt6a?qv~fuXpb$F(ZTDE#~ec>c?R3`+}P$1JmX+ zAl9>8`5m(?^nPNA?TEVIimSr*2FiiN4OKbK8>7Ee!w?|&xI#EV)LckE<8nHP$Nvn3 ze4#$57WndxZy}%?J`Nyc9-D(18pkd?Thm>=F>!;OXdaEluz|}MXq(l9w*|kXZNwTi z73?D5^|!mA8ojcbg8p)Ujv%BVYtDEfHoX>_+OVA3a9rkag{@*DocZ)xOx&Hu%AW>_ zw(IwPEZdu9xZsCnLU~8Z-^%Ip|AIE;jJn7SnH`X7HXI?dmi2-lQJ-Dk61!&n&M#bEj39rgNvT+v1lYz%Ia3 ze#cLq@NT%Fjg z9#`BJ{90JhPlje))*r`m2gL8Y9HtwCXP{}6rn9f#=ALhG5Yzd4#(;a#0J;F%B0%PW zdOz3$Wh^!l*OmHXR|R(Zz;FYNQCrFa+Wu97IbLKz44nVTJKhFg9tcb!0QXvOh4W_M zS{m2_sNUP~oCmhJ6Eh+J+3Jk~5RMe)Ja3^|Tf$y%!7&Sj-C>m0>;EK3BCvpELkmvk2X-D%`NcYd|*8e3q-k4awRRV1Y zGu^Jt{oo8RXSMsk8U3&Be;94f2g8r{(P3YBIsXKdut!Jk+EWKB#pwn$1_y`R6`uX3 zaOu+jr*Jh#T!!8Mr7-?~Qn>2mN=Oiv*PAWsk7;|yk7+Uhe?OSI)vqtC9Acm)sc|vl zM|?`wGtH|p5z3&4q&PYg#2?efFWzi?FrkEa8`w;~g!^=g&oujGK_C;?-Jh(VS7Nqz z|7ZxC*4q^DAQFWF>i`S=`@l18mJA}krj;?FJZ;OX{1m*K*#wj@P%F~#_&UKE$(vaS zje=c4Z+u85A=n;<=xUwgl3Z4CX(}MFtnYjw<<6%;1VHhX{)<;(lE6J%GKdA!cb9 zx6-~t=@z0@ksCBkI*mtoi`RH0wHi|#!}p~E30{^ZF;BcgRbFGqX;$1gd@Jhm+{C)Y zI@8xP1PBv7y^o!^?EdkjxbG0=1$!4+a&;;1ZAW(J7}jgdFN*s9m>yV6r3w`RLRv>m z`=}xct{`0 zd!RmK09^KEy<5nOZYB>NYN|(HV=D{R`1Oo#3GV!KENu^YQeNtZE}<&whZqw%KBt}HO&i#285@dc%V#zgG3xLA zPRjg88BLpzmHOp)?~HkNYl;!a7JKs5v~>__w{H`r@8o#i8(KG%^_;Yi;TKC)^T_9R*y0jt~$Qg`l-7!CF$doHQ&~* zWAx>cD_6W^&a$&;E>*jbzJS3V)B@9>I@|hB(~j`gGQ-Rnbin1gTd6}hzvU{fp;vrU zib*aJ&EzQ9)wa3haW}fxtw+G+JyTz5q~F2$BR68kXnj(v#Lh~qMN?_YsjtKpV?OIg z?9m$<1V94_%aye|F-6OhJ?nnRlzBi&A-419-?`6Cd$~77J3NA!Q2|I(_!^zn>ZqRc z`wF$)ij)4K?m(n_cjJv%o=TjHGh{W0><^SkjcColHR7uEU1LfoLLM!v!vki$ogp=R z(+l)~I}NM#N8|Gd$73bak=c};6K_-a`$MWKraB~)?S>5(N$<`ep_7$Z>0%l#rASjM zCsX*hoOK?Y&B!Cwnv`m>`@QtEf2vkHKhnk=xoM7os7n@7mtBkK<#tCRJUjj$QqHRB z82cLRf;AR4?LYFoEa?xD-!hL7*L^KkT57Q?bRz9CMgAsdtz+?F$jh8=DVjzt?Iyv9 zIL+0*uFjUYH|FRjSum%ay6@ioiis08WpG^-^m<)_n#Bp?PPgdVe_>0i*F8jvf$|PRaah-uELE8>H+;q|${wh4xzUCTFKEqy z*_rIzD6PD$5BQpl`*8!9Q<=xbLf z2BUtOR1Lozy0#R#NfOlJG^1qotfc=@?8<;;l)er%ULxSc^bhvquR`PKL!ZFgq{Wzo z#KEU}PS~eH)=2$=DC|wY017VRrpu&m%{s-Af!@HO3We-e6 zcDxVUPs@FuE@dm;U6q}koo7{*J#OE6uM)HA0_!TXo2t&}`N*d7KB-}kg^iCA0Ex=q zp)q*L$G>WkF$hX04K5m+EiitP%gGjw4s*q_!!Q2P0ouoayWk@ z!4c!kq~Uk}E5LM<%Mxa7K%V4OAyc}A41YB`+9Utkv3OpWSL=h}%Zg>D4Y@R7xllod z>W;DmYRQl5kiJ04R;|m&|FxNP589^@>yNghd;+yXJkty$@RS6N#p%WgX!P3R~m!YnAT{5L&1+}cD!B} znK0&mzb_J^+YU57qE(KFyDL{>HN%kfqCy|k@EE*f2DxUdl6yz~xqOcP+tKw}`Ddja zH>v7u4fd+KiaqQQJXGFe5j?AKE}C9NDdLB72?fLZ80}`v$Ylv$K32X z(!)kF7S4T^64sNVJ6MRAI$n7iw|qNh!Q#clD{8IOZUHKt^sei$BAyQ&HfJ4jY`yeZ zRPFFArzB^MmQ0a(Fq)8hh^KHGka71;@o7YT@H6-cg^wOAg`D!8G~`>l$XD*ruHdsr z=3!nh7{})K5@ib+wH(bFU>Pe%sg7A-Q5wD|*)~|B&3UWSq!@XRXWIQ4UGqKqs_h?A zm+5`U{TS4P+eThJxZf;zsFH5twq0@QwRCA1~U2vjB*yK>Ikvxqci_S9lV zgEcwLProjCL)GK|b(s)uwAKDgJK?fC=s1z$pr3n-ra$2vp_xzHq}HHN;3t*$l+Yym zME40OgY%g`$;_RU@y!YR%J?ik?Yh!84X5u`vnfQUU1KuamTMPtRP@x}PFTe`Usg?Drr6$vtc10HS0 zp`b}o0~O;zDhsFWKx+W_ClEpn#koM-Zpb2luRCPvAgntt5AhEiXdw$&m7vZ!OidxP z6NFWxc-SHX9v;{QfJHhS{Q%A`5+h;&@d?pEpzu9h<{zAsUm*IJ_9r0^?mx(f_JOcG z2=qf)_f`G#MU4d?^w1_m_?ON;=Fn~eYM9}jT7T>?VNd`_>F|C*oIq&W{>?&@x5wZ4 zGGnf8Xn{X-xLWCgOHLj4h|sku!Cwk+*Xyy(Up5NSPQZioL368+?*klwgwg>N`s7m~ zFF!#@s`2p;+5EdEDx@QH*!(f{Rc#^do&2Ba4JItbC6L)84^)sE9Sq(8TkHil{rn~8Z8%Ejjrc4KsMkX+zoyzxyRbtNtfn`u?OF! z9rOskgTg2-hLvJQN1`LsmTJ!dBJP64kRw+5Rs=z0dO*S;rJk^R4>L638kh`X2R}e& zA+{1*%dL9!m-A7XA`Jcvwg}#bDnpzh%ocja&Ml7X2nT`;%0VqCg~j2S))H%rwMW=< z@7fN61dl<^7RQQ9u+k%KFPb|DhB1UPP?+MH9Fouqsz=uUGEf=R42FZuiuq&ELUbX% zn!=D#Pq2$P$TH|aBKm-1D?^wq&GB2NY?d%vgd@(LZ}-=rNH77SFBkUPiX?@$Ona_9 z%`V-bPw<#10zO|qmymk|uu~K&7`;FYliO2WGBcXuyQ5f!g!-QbG=s85Vrr7{6Tu*m zVJNXA+2YTbyRgHPj%>SsgJB>sQ0R!HDYRqMMQlkoW!uw$kh@reG{IQmDmGDbB++Ew zPx_-CT@P!>+J$UDY=Ac?8vGk_1KAauxAoebJEER__s5{}phEByk}NJSn@uxsh&|UX zb8r)s9;tVX{VwJOl^5f#Sg;h78gebUwp@FLyxzS1A`a(gAZmHeZNc)}ir~q>rvQsX z(_HH6{pr(JOu9gWdAdNsPX4PBS$wnF6`|(Tsk-s`4RR2|Od6=IUNimj~fFz|}IQ_cW+fgIe@; z)(Bk*vPO^ULoSqBQ!n+$R#j~8+;uaaj+meSdNax$CO#gl#g)z~92jvyGvozmXWa!rJ*jjn#-x%B6j57VydzCyKxx7B!XZ9S1y>= zA(u>-SjzhauLvH5b)jka$z(>4`EU92^rw`@o`z@7(b80p<}q@iV5#D&6N7(`xN0@M zZNF)Q#w%TZ2FSvF9WTrRBk#frC#IP@?MEj|kzU#|r{TbDE$>VG_U|)Ev_gpUknjLMg&HO1pn{Di($VoZ-UMNqKODubk-n- zd51`J_`vxI2U3_=GLp%k@W?{q<=h77)xvD|7!K&VAhjXB_L;qUGPc&=GhX=Z>_b^W z&&})@H&_RR;J>4KQ)`2DR4K}T1di$V&?MdmN>V!M^8^%Q9Du|&{0i5Vhg4uL9rMAb zL{9z@aOo15NZON+Dv7gSBH`(FK#Ouji*rPaaYRdS^j^~ISM)kl{K_Zw@L@7byMBjz znc;JsOBia2Da9IHg#Fn_L2(&T#_M5@5GxUjBdeQs{^VxJfj{j;csJ3qQgTI&tH4gZ~$I@DUd}oyaNc!Jv%cb?HZyJV73P53SxS?3o`2vrNxltwHb8m!Ilem1kC24m^$?E z&`lqUx-A6$qMw!;it0wTL!iH5^rkJo^Lpv2PmDX>-~IlI@*wqYsl1`9_mp0gpEGCo zn)F%ya`_Rgo^jqG)T2lw24oaeltWZy;!ok*)JW7))-ERTYYf@tTnjb#m&ro*PgG~k@#Sd*5VkGSj_nr6V;IR65Smi-2>#=DK7v))%jg^KL8IY<(%aMq?uq#9( zIaoDg&^Z^?Syc~|pDMjX=vZ}QFm5aZGYK85A}kBXi|`c@BDyUbGih%ts4OGL>+qH0 zB7RwBW|Bi!o?3QN7Mqr171nzS^$aK5u0={&rEAGnLFQ7$OQdkU>@ni(%%6+UvRvpazPuu~oTM<7t28!Z z{VbS^=&W4nEV;aDrkuGjm#b_h;`J=BlMuUH>MYT`+*g%9O7twVlN`GW=PcB`(6&OW zu%ffZHp-OaM}|2*W&n{UC{ui)2_h76p$Y)J)*SCSfPNkHnc@n%5o}F(gU~Bpry0f( zlvDVPP%U1{8PXA=Lu8E5E?#XD?*QR8N>*SXKfj%V5*HOcCumQ=VVb?5CVRiuXx|T8OLa4&1KQKZOvv8pPYRl-^27DPm_7BL~hve z&n%2x5yC;K8%4m00%UE5Woe)pJbPG>U1^3z{*=NICFB&;5okCgMJ5VS)=T^g;&A0p z%OA#SL5qapN;{}Q;)CbB#OZMX>|CF(Zs}w9z4^)j7F~^HWD;)061)hZX9{fFj z+*Uy>1wOS5cPV?y1uQPqw&mWkErvXaaaDp^TtNs+QHwdzn_prp#Vyj-X}PH^d2 zWaqExMHLsc%&PMh3q) zn@ivZa}DJLc;EBppT6T7-^auJ-XboiX<&KxE4tx3{1z~cju7u(jMR~IRalri1^LQF zlC;q^WE?$=;l5k#Z$5_5~w#a)ng5Z{v7Z+4+O zXc&|1-Hxjcqka7%;aB|2A9Vqrv4+Cb#BO|47N6lm#QY{C3LhMe3yZ~x%j8IEd|*C4 z-VmR#Peei?Bq|#coehu0iNfT_W_;j1J{}UE5Jg0iCMZf57JV`J=!ecJ9Gy)lI`a_~ z{r-J7tMP&6`1nJ70uB*Lo1iGuV1py~WHg9^DK5In=Z(OWDE?y9yFgV|^hYFQJh0UZyYh3C+E*%k{kw`>R zA|yH)9Gwh@MTNnn$oJh*6_&$ZM8Yr6Vvdqe5mD;UXk}_<6_Nmal>)( z@AttbB4HI0wG4}1gu<%8VN#?wF7_Q4ABs;9B_fFt63q-YDzO-sZi>%1B4Yk6XsQ`H zrA#PViA>TGo&fGye6lmQ{7~xUtW&_UF{OuOBh1bC2NqRmSe{Wc8tp0aZ6wGr(_LE{ zLoS?RM9Ce^`wuQ^*sy_vFfQ8Iu!Do(x6ItIg@b4|+VQZ5gMc<_+OUaV;HQgJYlO`p zN_TbNUqa2O<$e*ZdGz2Diq{|_@Q4BZ2n9pb)o)ch5F|#~XdyWOp94X=VPN`?+;mF( zpL*Sdy8ai26{|lSK0!V~{CgsG!;MfGps_=u2St&J$`z(4ZIc-!&r%Iy=oU}{%li`P zyV(_VuZN5ZpY}4uKUl>o7{tJQz9ftH@EP`CKOT-0MXBtsIp{pMIY`117RF76aXMmn zM0H6Bjy{e(9-IRE!&w_~N)537)yIVIV%F|r^%ejPSw_c8^9uDh$PLII7&ptU7C~ms z%~?QwAjpySMt(KO(;{C-eAloyXjUUxjj$W$JgZh?;P}Ql_=w4LQ*93;?;v|_0lM~d z4!j!Fqkn5s_YU6SAyWAL{*ak^pu5tcPK`J;3=zl3i%QvpxhZ)*dwNZm)FVXKKZOa= z{n;c=JNR!0<=Wu1s$LJ)GK{Y0*YJmJMc)Ga-o>Bs48ALbSUN7*IB=dB+!_8rF@0zr z=(qvpbnv+SZr@+I#d^Me*tr3HyR?4jrUOn4IJse*3>e4nFhJsNQ2L>7=N?@VI3QQ| zPrJci?l9E)fg z!KwgO>Tp*2zrBMz546+~aP&#MA+i8oi_}{BG}b|vK#&XnoN^=I;H`Ry$3eMzgvX*$ zPRK9-18zW(J#1{zCnr=HfF(Pi$sT^Dh^-Sc4Zx%wkhe>%9dvFFVmtVI+<${38tb~B z`?kx2!WZFsstZ`#jU%_W<$P5-Qm2G_l+<=+pq*l+Y<#7NgF^>StB9g35z+josfEl=N7h| zkc37g7)H7)^N^QDnvH1R6uRrZ3wcxWA?HQT4vXI8tdjO(WR0LVs92+Hj35|>tx~y0 z5RBM1h+UxZNB9`_DQuJ*S+libYQ@-$y6!_5g*7a!n!KA|usvdW#pFf%jQZ~TJIrwy zI_w8K{NpgmW}Cq@i*XwD*bj7=Z#ULvtHtEUQH!w}b=ePfSZFsf#%!Cm zHkDly-6q?ZbZzXpAmpCxGNJH@yP)kFuWihdPTVp(=5W`aLU~Dlet!z{#=ITX!bG>5%6o&|9IGRPWn<`sG&TCDU7{ zmuM#$=0MA_z+0=AWG5x+VCT^AC0Co6KOt{&_CT>inl6pTxbt1RHd$|+{!q;^up(6mFuHf7_$^(APN$Zb;RR;)woD#7be&M|M39$`G_ zHlBwzZoKF=org|tJn1%>=lAS*(`_~nJ^gspZDKcV-FV)iiieDD8vB8a$6xeTgRE8) zsf|{WR->*~ik-Btc!F_+L$O<<3?jP?eda9g)0yKL$zzyfsbdtCcHDx0tTwk5QfDS~vD~od4kNEx6-ol5J5-vW1ppF*CDT%*@Qp z%#y{-%*@QpXfa#NOcpaU-}X0i?wh&m{DQZ7W%rJ#%*d!6S-rZtGBY+V*QGBWFHBq_ z+7~tsY+N4OUN^ul_#b0EmbrIuoq!p9HjpmF9}_)Rxp%XjrrHiSA}&ZC>pceFS2|C0 z9BSHGx#k+Uj#qRB9JrQlJJ9JeQZ^!P?OoYBwRAdC*2Z@C?{D0`b;RqK*Ho$kmvfQ0 zE_9seNY^B*u2t+V+@HAJcY^B(*2FChSe`K7rhCwIB8{qDs<~vn!g`5%8}df#F54Qny=b}8e5ra{ z^v3$6?XKFIw7qn>;(T#=&3f~AoAgHOuGpH8y=i~te#`c*-x|9-f4qKuq44JI?&j^m zJA%J~colrh^Dgh+;{Ahn2mc)MPV^!Fnd-C7yPb0<`&{zQSn2{JdU-y_{UH8^5{;R7 zk=aeDk>|BVdLi)o5g>-Rp>4*XXFv*o1Q*V30EbOD=AC-B zh)}O7I%0!E)b6B3jgZp=RsW+TGF^lQ+z}!>V^pa!9>a8~?(45%ofQuAEW=?VYxSJ0 zyw`KIEZ9l!$*hFx5r;NE%^20<_6x6L?^n>q2Q+-pYq_tZ{F-;Z2YKJbM9(8j?7F|< zentMpNAMm=3T`jJGd1k$4PT`tHx2Ux#-px#?|vE#@(wyhjk@WJ`xoPU*_aN0jt#2F z)CsEa)D5cW)c%V67^MxTu<{UE`TKbi1@)-1`74Ylix7Znljxmth?K`g9(R_xY>Jde zytyph>RiTyU8r7-a$i?P?|pk>lbiLQ4h&KF_?A7I-aqHAob*{)lQOlLnv*oKHu)K$ z`#&8BK0ka$hD@4kKYiAgKCxgbtdH=TGCng{7)!7TL`P?C0F8XB_RXRhD?yd&@QqRq zBQnLgQS*xc3#_@1T;^xJyoTVxjT(&QkK?Eckk~NI=pp!Y<*d$vG!mef?WkWm26X4*Ri&X-m9D5A0E%EEJ{`@ z;Cz0c=sZm;f<&twd&<)0``;d=;*Zau@!I}i* zQDTh-^E0#fM}=TofqKBD*SejNh?(FuT;|f@4G#ANcw+nfz}-oB>Zgz5?JMa+di(i- z%+;TBz_`us?#`1kbx?YKjQMH29j4|Qq@qXtgIyTIRWcC?MZZn#hqNAv`dgLJb<51c zn)5F6E+?Bl@P5746^2@`jmG9@@^IgnN%GRDG4SiK(zNPO-P^MI9+AqR)1Y%mLc>KVv! zZV0_POX9?GNqvyj;OseqGv;d_u5pa9?#kopV?Fc3R}WB4OWAs|I@>!%rshfSaqmbk zOWB5!y8DNOhXkvD_r`aoHM6Nk)B4LZw+F7~5$_T2FfZGwmcxdLhm40ctBCjPcic4u za}@JIXAYRGmKEAVZBxM7dB-KS@oVP(q`fm@)w#FxXxo1J8H2`}J9WSHcGqap>#z3s z$7{IPq98+UFQbrsZMnQz5DyY=7|e#R`O6Eg#iCRM$94$IgYF%76Mse|J?CQuE9 z>Z8=w$$+u+{qY-kCBU1EK8Or13Cd`a8l{Sm?mg!C7t0p)Nv}=9M_10FLuYTux zoGY{sL~9cdwVh{V%`xYu5X=0|p*SX@%ks{VIHqLF;?AQ#f(fcaa|V@vN^7C94oLr$ zGzwk<}lJ2C!||(whm}u>1l;j>+)#Y{h8Qm=k&!^$QGdUHNT6bBB8R=YWrUUCRtq zx;J34mEy=>^UDT4ROf)vxAWFcBCf2 zp4CBAzCcf7rujD-l>eAqB_@}ea*mkxq#0FEr$jDLW*l5m1FprXg;)t-Yrr#&5i|!z z8F94MbeT~O?(mw6Jm&Vvu(U^|o-UVAb7GMXRC8)k5arjYQqqAgq1$5B(WWB9hR4bK zDNdd8HcnmmZzb>S9;9hosd-(l_OT?J)9Zav%YrUuuWN?+UZLS=-HJc zE6}x-Gb@NC_WjIY^utOA5Q7a*8}Hx8sE!eQ9h&Pju+P)smHvHZf{XkBYrI^h)sO-? z6-$TG&{Zxx;#@d7=mohLv=E{By`nr0i`#lRu$tOYLFxG;lsr_6`>&-@>7C);TNtOR z8IMm*G^c&dM@W>P9Y#PgRex9#Z zvrx@+7-<8&o>V?0-78{2&1XUVIo6Jn7nt!!rQi8DStU1_R8A79tcZCUIy;cV42+J? z%fd;~!pWgg#wnM1wRp(YD_?Uy9v&*Ex4HLuB}OALckMUFY)6Q$Vtz#^JJtZ^Tl$bX zS#i$t(0e+(Y0ssde8>_%EfW#=eVurR+CT)cj@1r{|E8_1T_{e9`vy_8=OM}=ikz!g z7c^)G_?n+r_t*;jb7sPC830*7bKO1&gThqR#bUt6k+_ww{t=^9$n_DCmhZ?B$hz<0 z^bT5JO6etUQP=19b60US2_ij=DBpc1P?c#&u@ZzU_9)*Zv#p9=G_&1`{uHxAtbSFq zg|!}$JI8o^PIp!?eL8n0bGxrz32=7cUXiqRxHMk2(^R-L9Wt0uxiv(2aa~JaaPCfM zTG!tDJV04?02EfVRjJ6IX9&5E0eK8jzaCuf#P)q2ART9I=R?e~F^^o%ea_=XUp5;Y zde}k!XjJ=$YT`{{R45)>aBAfADJ4j3udrv6OzF;4x*A2>Wfd<9M&8BZa~s9tGKj;g z7lsfY6J*@U1>VI9y8kBO-iyOkC=3Ce6$BK97>L6glW`-9x|2g3=V=v&+|iLCv1=F*QqTLR(`J-x2O}TL^%z0IvWeFWnzJQPaUzs%;+`QZaZxF zW`*$T>oq#NLfIT`EfDNXgf+a3;T)zdilp~5X86Wc#}{qaICfV^1)QBcC^C^OEs#ZS zEW46)#7HH=h)yNL$W|r92u~%&NLMAs2)aVH9&eJD=CvW17^0Sx7^1<1SP__Eg5AG~ zh<$3jqNr|QT=WKsu{)VxkTWIOgqBlB(y}fqV-J%Pex!*7CnN>hF*9=6G1Ku3R3jf= zF?O$j-+^Q5hYIFBzwctUVI{T!;;QF4e{S=zN`CeLOMY+<>Q3pvgEIfw*mOouv$EjX zFe1Wh!$~NZ8c`=)AhQVeXgXnW{!&k!GR==UHOYavN|YV)Mev`v?J(EEi>TM%7;)K} zSy^|;igkQeryu+bB~hHG3^@6;42SWnn;MRjq**2*taP1)hNHovt;hVH$P{LDsy|z28{Diz;wMKN+wkQ`QNoK!_^BETY~U zAvSw_Y2LvxvczS$qaDe%LKrc6aEb3+Hi++B@gRP!e-tmS^@%;}=fPiz@e-@&eGT3F z(%zW7EW*8dpieaxuVt7*)V8=-V2j(_1UeF`9am_mI*X{8$#*0Fz;M4sHScg+cBoU7 z?GfdE;dIi#S~|5^sH4Tl{fK(ME^yM;;^ea&6nfn^;EG_-K@QLXZl5m`nSwtgiMU%7 zdY$g$dz>-Om%XdTW7LLS@xqB6WAIoPW(A!Q&0)wA9lo?I(46WukeolH7L{(mc+%Ke z+AUM-a2BrpE%3O$M}|1fh?Q_<&PIx1#YUh$Wh2qZwjE=H$Jrs?>l~F>@hn;6My(xX z@O7<99IkdP9^0ygEX`s|&^~YjxEzR6SaPpCC;7LEPrT(B2=US?Sd-8scpPx!cyW%0 zA2e}odBk{4_m$9AnX>3}w-h6bjAbQNUKd8~#TUZu$-vTl!QLKyA=zFHEZIQ03t0Rv zgf*widz-VB1<#$`KUQ$=-WoVho=vx^4s$ldr+C{L?_JQiKhLUx$HeC!H_9$QD>`p| z!wJEGPQbkp+e^x-FDrcB%Q=GZw`BRc;Dx(# zLOpq*o_W4M^I$*Y>LCXDQUL1Dc+|N}9k;$<-Q%Or`g}Q!fbp4HZ|&J(@25#UoOI3S zF#2&%puqR$5s?FDjD zVK)y3m~X)3{C2vWNKZ5l1!F+2FRq5r4{2$@rZ2dRNE8}3K;D;ahmQ?K)|X~SpcOU~ zh_x*fNx%gu+ZS;~>Itda7js26ga{&p4~T{YHRQ*K1l{HP61rdM*P%G$!UH_W6->6h59LcC+yXp*_#jtl|g#0|ek z_K@u<)1(h#+xD33IoJa-#U}}G#Q^LXnSzrfhjGt)p7tPZv06gU3f_sl%+b*K{%%CB zL~aG8^pu(5zTR^oKX>5YhsGr!3ATO-5=IRp0T8moObrg696dQq{Ho{i!VfU1XTJNR zaLCd}HYGG6HJHE$dhOYbaL0Q9I7j;9LjVvI2dJo`2dLoVVX=PPIgE@$L;k4%7Szdw z155*`aWSm1KP>zQnL}P6<_@%FaOMtxGI0w7$sZ1=1P5;*fJ23W%rT%qbU@8N-i8f0 zgdWJGLU5=S7+06z5Ll%q0>js@77cWRL^wdO;36I`xcdEQ(Cafa{Fx{F2|DHVfB~^U z8f>A6xlq7WE^4e4vwHM9=;(JyKG7q;=tayjN3HFUzcj$sBd{6E8Pt2#(Bd69VgKj* zFv2RDv>m)XxidX7C-t7b_?|5Eb3(`)MZ_Bg@IB^jMDzpO_pQwLje_q(N$3MR^o?A%Cc?u=WBz|Lg#ZqhwOy+=e z;jl9Hc`gf{rdSQBs*+}f1tl6~+4Fqw{0Di6Qo(uo6LhC=i~LCiv{K1=iD{jyuMf0 zlck={@aVKX$kqtHdRAesL)b)wcxNM=YVJgnd1uS_@uS_c;I4zV_-nHD80)mcJF+okHyhg>PY^<}18GG0d0;*&(aO-M zY$t67Kh%_46?JMb&be}zXYIQ=WD<%cum;KM-~0njU=7_gn_E3Nh2MjDl53$g0FUt-ywwszFI3DXQ9VdCsg;V&E7NARvU2`a{!XZ z86}{>kokWCP=y7W!Ig-O;83Sf8Ss6HjM2Uyw%wo?B|jaJV8eX6w!ER?f`p2G*+H1T zjJEc5{fhr@@qdMJU5GoO5?}HWeM`UMQ-b{e2gb|F;=R046BZd>d3@0br@+Y{lz1gB zf<0)P^q>JNyn?P%VAg8HfZ!V_Dk514Mut%}Fmy~M9+pEC`%*^&M@;!PzHMt6l92@28}#VPL1?oDpMGp%lvvSW#IcZr5VwbzzI(GyR9=MoSZFd-|j># zNR3}Ag2X#-u+kcZ8v761)_2sOQpOpghJq#+c1nK$jpK*2pe)o&$VyU+YEa@lJd3ge zCHtx0dk?<`8xIVT3>y^_M;MuhtCJ6=+(d;-Nr*=ym(5U)Bf{zS644TJlMs<`DE1SO za5Ix|Q!~PS2qdVOE;c-Ybyq&dNQNW67zdLSS-5g8≻r5HcdXnOac#i_nj2Oc&=g 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%0AA9C*a^<{~mWhz5>oZT~!M1LCr}j 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 literal 0 HcmV?d00001 diff --git a/framework/external/jar-in-jar-loader.zip b/framework/external/jar-in-jar-loader.zip new file mode 100644 index 0000000000000000000000000000000000000000..6ee121769d728118e8ecf376bf62fe982acf93d1 GIT binary patch literal 7269 zcmbtZ1yEe+vc?97;LP9>Jh)2;8r)q23=(7pcS&&f1ef6M8c1*_1cD_v4DJ#%B=F#7 z@7=q3cen1o*Hd-QKULlRol~c~|Ng&LRX{{Shr5?CFAL#+EPlHn-QDe-tk_lmR0H!j z4GXZHwS%+8Uufd|qG@C9@)z2m|DbIRb+K@Qn%ez^8RK7>*_b+6L+>tj_NL|*PXF?P z`j6MvJ>CqULx6)DM}&hD`Ws&4<>V#pq0TO*P#0%5u$`&1b7sOEbV3X#q4GWSn7K@}ji6;$*G_Zz> zXB<(5D-3X#t6W;KeG>sj_L;!2@k4wytV;`N=Hw^hc?WAVD$Sn>kjv>9L|6#7OsWC- z8kXXm)zeL=xf*b~$~k)#Zn!9Q^O;LJ zigFpFT%f(s1W<@R{J_z zJg<|{V1o~tynwkxyEu4+2$KOV()neq_`(=Ke)0_YnfX6blxg-$3LL%@j<$a=+^HwB>LVek z*RCWVI78ZQZp-j|{|)fZjQSaTH*6=yCh%}@Lw5lv`*(uR)Jfgh39R^!fPScC3bnSh zaCVV{TH5~%#R^p=6$DNkUx2xV9-z~noq|Uke<6_}8ikVtvlzF#S3?iorOr*MDdnNM5O=XML-U z<&^dCDGh`OMPw%~lqZ|O*^*Ii!20W9q1>eB{u2-NC&A~5T#}~d%K=ZjmK#^&v3pYM zwf(*?s`Pg+^S;8H#a4cZJq^V6qYFuC8}6h>8$cKs%Mz#9cH*#QNp<;hYMlR}D6t@A zf!Jg8+%wB;k*G;6cPkp65!^XWph~SdwHQg%+Xo3Va}<*9JD?*?u8}CRy{*9U2`&a$?r4Y&g`&az!!|8Y$YJMiXVZ#&w8ox5( zpzf57qVMKX&UHlOr3r}nNQD~|&^Q9#fR7bfjJsIWRhr9J7=J%~5DtOZ*+E)tNKi1R zpe2RY>1^AJh1YF|-r)9YOJro=w_)~?@5dW$-lLB<=MQ~0Gp;FoPjc!QrBqP?0E9BU za}(Lv)V|`p(2!N=K(*mQBM&!E`AkS}XzCcOg?zShrj<;X=y;Lf5@{&3!B>A^vb=Nb zjsfm<%X6 z!k;nP?bDK|=PJ~poEbJGV;IIe6Fg3;$GQ-U5o_pxG5McMS#j|ZOfBR{9Z**i=q{sy z!c{#s*8(VA^n0~*yKp{1HS40_7aY5%#U$Ras$QQW)bQx2BvL9kMh93-giY|8@9G=& zHlU&!_DIf1aX)5qK*Jg(IGda-DV7Noqw|HxjlKR+N!(bk=U-|~>YS8D@QC=iXK7Kq z%*=Zh3E0-`0N+SNddos#?|hJNM=VukVtJeK@<|8Tv`y;|-Eb{*D30o5Tm^T@$zn6! zX@|VLR_85Z-K0-xGYKkT$nrJVB3gMJ8@ErMGEajMS52H}gk?fEu;aNrYm1Ti(Zk{> zN1m%yd+MuB&@eZ?(Rw4*1XGTsKGQ@#F$ZS{RD76B#Yj&?L~Jn%s1}QNDf$%4w-@(P zW#c!RnsLm(yulAbXJkV^3}k=0i$@V7*h`9 z)aQ|Sl~|`1HNYE*Z6w+lo8|jfcip;p7OiSJt176b@K!v(pjj`N{z`j$E$_X#grYQ= z7kz-*w3xk-_Ke8QgD%yM>JQnb8oeA)TvcQ|w^lw026X@VU|H7I?5h>K`ntNouY{b1?BmN*~~I_1I-DNVh_r57LTkB3+KUNftPaw z6YBwTEgBDZSq?nl&uI*zkkgOn@tJrrPDCBwvZ?AsTS00>- zz`PjMg!)QPF;QD18RBKhY?Vu=aRnv3Smv-tMw^aysi6C!XFbDK@hLyucsaz?qg8Rm z9n}s?1piaTzV^{aJJ6|e7bK@Vj8euybJm-9hIC*zp&UoXL9w^>m?GqpEi7be53lM_F@GQeKA`pRfJT_2ZvIg!L`YfK9%RQNI`%? zAVV$kV*_!yAv_T(I8Rbf)n2B2;A5*vp81bzBYFJ|S1y~@%C#)fWdf|b&9NG^PG%Cl zGL9kJ6-#N8=1H0xa)+~`a%Hh4mja^Vw;?1u8{z zVPqdQo1GnFMMpCBgIhgKDgcQ~ix9 zD6@Mv34Pc$Ba*>7z2I7B<~*mNHLasaJ;Bi*gJo3Gb_?;=JbJd478DOs>h&TwM#{MW zC)38M$=N-bUWxS1)#eYK8BdrKvX2PZNmJLVxb*^0)O2i;E?#2;mPWD$6KxwI`(izD z+h397=>UFjV4;_|vCnlKeQ!U)FR~)6I6!nOe@OMJ9CI^syV|Nw%Y@7tTn0xxgX!!& zRjyqcoJS=Zg4B8Hge)z)qx-Q$?&gz@BNDbJPqIwH9GSk#5WYxg^oemyXJfd@g;iaW zk~`yPeMayXYg10NQjX{6%N{&rKH=nADBnXz4B2lcM>8vqW7&>xpI~W*gj@jlqFsgy zkf+zHEw&r`*-|}hpfxaegjj^DuZ}$rghdJ4f-gtEORFsa<&~XOI}AgbFb$)*M5pTE zZrNckm^MsB3x)*QiXtLw;9fTqXf-25=F2+@XRDvluIiG3`lpyCpEBU=L4cCa$yjzM zduHpbs%zgnG#mFz;F`^w%ScCA(;*i1BD<)Jb4YYQvCSfffqe8idEq@YjOw z#7~H^O|cF(_BhY89C=_OX(Cb=c+#-IO>iJ_T<9^vyEw+=6-;P9d3_`BVpZCMQ?e0> z^Bod<(N|gEy%!Ueh&6WI)ia2l_>} z#1k3H4cS~*3i;l_KA4Htv4E%(x@}<31sU`DGjuQ^gNDZzM?@fl*Yn--jui|P$_@q= z3b_?E$AFuWWE}w?>Oe=~E2MeZMhI-k@}v}?b5duHrXTJ@s%^^B?$LM*dWwQO6HUG) zjr1c7@50TdCA=9*qu%P7xqW`L*q2x)b*ym7wN&as`-1FQ&N>Syyb5MpZ#b$FSH+DS zJh>EMznm@wear_lxa6zZ7b9x)WVN`8 zrK&`E<(ib3a6S@`Yqy`2Sc_89)7R)Mm%z`Dq@7J{lxAs!v~+#;6GrUk&)I#HNZm_5 zBrn)Z1aADy5?ssPzngeomQB$ETo(YB;TOSg%v0HLNFkG)I;Qw=4{~Ov=q(QJj#I!W zGZ5XOt4z0Yx5MFU?E|FGoQ&*l$~lDD^X_a|J`7>m_12pV=jEyeGf| z&u?>^ zXS6n8ksMx;QLI$sonCT)BrwVG0T|B=Q=S_DxZqUgL3LOl=*7;a24K+xC)g~!I0nZW z+M7h{sK6v>Xvf?(t{GZT)mjQRy8lo$jy=Hky>+5mp`a$+2d=1kUnt*75J87`pj`kTnqz^)mMmrs#pB4?w8!kPgM36jDt%R_xu5>qAZO#${=mn_={Hu68T0C@Cp#{PBXjRQHYP> zv`av{)tLN_WdImH9nN6gU{$kkRBL?rVam8HT2V~=qT+4eCDR7BGUp2%Pp5$3Gz0n* z7;v~>_i<<0v+dF7Jv9mZ`Yzc-5lN6$jTDB1v3cW1dQ8Hq8gY@_lrGYDSP_#5`6Dm> zm`~L_s9yGWR0t;u9Gt}8&nFERCks=EtSQvo&cf+uN)>2AH1Kr@{FL#&(Ajl7mHK3Z zL8K^aqBX{BqMxs>u2K9hC|R3Z!O7nuX~D&P_0;N=rTxvbIS^LNhf|bO$}@$c%|#Az zxvkyM`HbYvjISAWn~O^~9@i|nKuI~tAdc0m)iGy-A1uzUj<&OLE+gDDtA(J0S};Id+=9xGjj43r~As}ZcCfho4ly+jVgQ7VWuqB;d`i816fnY5bKxK*=$*Rq|% z4KnX!F;I>-i2oMONpvs+PpxzLi4l1gvBzFxVg_2cApTPbTe`UK!&bq8TsUeKi^)%(Y`ecM~m71C}5=;pdShohnnyHNLFjZ9*PM01z)#dRnnZm@iUab$01*`;X zMGjOYvH+qhG z+b=I5+Opc3XqD%U;<`8erto)*EukMk8 z4-BZo$DLOdC(t#OoenUk;y6);NpU+Oe0G$iyFsPQj{A{0JV+!zvt~lh{~&%~$2Gr5 z$WMYzqhHr4H^w`3Ye-%}TaRLz(>H9le*hx?155Nt7x9cxTls2W*;YJ;^96-q}S+?83H>;3CX3hslo`dJYy+xetitqlrdWR z7j+HR6@w%*GSK<}Ru)WEL;tyaWJU!wZWfC+`wh|`(|O8)n}YLhd-T0ybmjh^>HO3b z>|*ca`5RH8X=INlPVgATvYxo3jd^2lmb^Ofw1Yr?(TnMe;>-Qef==|j${qu(&5`1s*0VmNR1l>-t?Hft` zKPu1a7x0zysYg`9?0s?doXtSBG5y_RF?vA0Jtk$aO)?fPzevV^sq;(SbFeFZyhN z3O%DkL;hBczJZ(I(|o^Xso@VE&ACLY9rEp>PBEd}?NV%_oAG!_K!ni{zuXc69?zC5 zT)q0Y`ciM^@C{oRn?8z{#_xO78_wZb4$YQ$(~<{>zdS`3CNSu561Eg72elKh2oT>s{&Vg00NPC`c<7Q-t~dC(Wy7T;V( zQw$5Tu@v=md>eeNNwXc{(?p;eW$dtAnflO#`sw94e9n`MPI;B;ae;@F!4|!o7k+nb z8$1F5;-8Nj?t=49aNzdE@9#f{4}WfPKYsWr_ZBpF%YP@`{tD}U9Pv}`Efw#U|8Dtn zIPvGW_v4A5a&PT*xBS)mUu553J;eRE;-}oZskvMJsheLo!{5FB=kdiq{pR~${0*=F zdzkSn&aX`M?>H`Z-NJwS^nYMH{{wIRE9$Sz>hGvRcm4kV3H4|B`W5KcW5n-3joAM^ z(4QPCeg*rr$NC)%`Hn&UZ{O-Su>a6;{fhVNCh$An6yg65?+;sossaG{-ZjSE4|W$6 J5a9j4{{i?dVgdjF literal 0 HcmV?d00001 diff --git a/framework/plugin/jquery-1.7.2.min.js b/framework/plugin/jquery-1.7.2.min.js new file mode 100644 index 0000000..16ad06c --- /dev/null +++ b/framework/plugin/jquery-1.7.2.min.js @@ -0,0 +1,4 @@ +/*! jQuery v1.7.2 jquery.com | jquery.org/license */ +(function(a,b){function cy(a){return f.isWindow(a)?a:a.nodeType===9?a.defaultView||a.parentWindow:!1}function cu(a){if(!cj[a]){var b=c.body,d=f("<"+a+">").appendTo(b),e=d.css("display");d.remove();if(e==="none"||e===""){ck||(ck=c.createElement("iframe"),ck.frameBorder=ck.width=ck.height=0),b.appendChild(ck);if(!cl||!ck.createElement)cl=(ck.contentWindow||ck.contentDocument).document,cl.write((f.support.boxModel?"":"")+""),cl.close();d=cl.createElement(a),cl.body.appendChild(d),e=f.css(d,"display"),b.removeChild(ck)}cj[a]=e}return cj[a]}function ct(a,b){var c={};f.each(cp.concat.apply([],cp.slice(0,b)),function(){c[this]=a});return c}function cs(){cq=b}function cr(){setTimeout(cs,0);return cq=f.now()}function ci(){try{return new a.ActiveXObject("Microsoft.XMLHTTP")}catch(b){}}function ch(){try{return new a.XMLHttpRequest}catch(b){}}function cb(a,c){a.dataFilter&&(c=a.dataFilter(c,a.dataType));var d=a.dataTypes,e={},g,h,i=d.length,j,k=d[0],l,m,n,o,p;for(g=1;g0){if(c!=="border")for(;e=0===c})}function S(a){return!a||!a.parentNode||a.parentNode.nodeType===11}function K(){return!0}function J(){return!1}function n(a,b,c){var d=b+"defer",e=b+"queue",g=b+"mark",h=f._data(a,d);h&&(c==="queue"||!f._data(a,e))&&(c==="mark"||!f._data(a,g))&&setTimeout(function(){!f._data(a,e)&&!f._data(a,g)&&(f.removeData(a,d,!0),h.fire())},0)}function m(a){for(var b in a){if(b==="data"&&f.isEmptyObject(a[b]))continue;if(b!=="toJSON")return!1}return!0}function l(a,c,d){if(d===b&&a.nodeType===1){var e="data-"+c.replace(k,"-$1").toLowerCase();d=a.getAttribute(e);if(typeof d=="string"){try{d=d==="true"?!0:d==="false"?!1:d==="null"?null:f.isNumeric(d)?+d:j.test(d)?f.parseJSON(d):d}catch(g){}f.data(a,c,d)}else d=b}return d}function h(a){var b=g[a]={},c,d;a=a.split(/\s+/);for(c=0,d=a.length;c)[^>]*$|#([\w\-]*)$)/,j=/\S/,k=/^\s+/,l=/\s+$/,m=/^<(\w+)\s*\/?>(?:<\/\1>)?$/,n=/^[\],:{}\s]*$/,o=/\\(?:["\\\/bfnrt]|u[0-9a-fA-F]{4})/g,p=/"[^"\\\n\r]*"|true|false|null|-?\d+(?:\.\d*)?(?:[eE][+\-]?\d+)?/g,q=/(?:^|:|,)(?:\s*\[)+/g,r=/(webkit)[ \/]([\w.]+)/,s=/(opera)(?:.*version)?[ \/]([\w.]+)/,t=/(msie) ([\w.]+)/,u=/(mozilla)(?:.*? rv:([\w.]+))?/,v=/-([a-z]|[0-9])/ig,w=/^-ms-/,x=function(a,b){return(b+"").toUpperCase()},y=d.userAgent,z,A,B,C=Object.prototype.toString,D=Object.prototype.hasOwnProperty,E=Array.prototype.push,F=Array.prototype.slice,G=String.prototype.trim,H=Array.prototype.indexOf,I={};e.fn=e.prototype={constructor:e,init:function(a,d,f){var g,h,j,k;if(!a)return this;if(a.nodeType){this.context=this[0]=a,this.length=1;return this}if(a==="body"&&!d&&c.body){this.context=c,this[0]=c.body,this.selector=a,this.length=1;return this}if(typeof a=="string"){a.charAt(0)!=="<"||a.charAt(a.length-1)!==">"||a.length<3?g=i.exec(a):g=[null,a,null];if(g&&(g[1]||!d)){if(g[1]){d=d instanceof e?d[0]:d,k=d?d.ownerDocument||d:c,j=m.exec(a),j?e.isPlainObject(d)?(a=[c.createElement(j[1])],e.fn.attr.call(a,d,!0)):a=[k.createElement(j[1])]:(j=e.buildFragment([g[1]],[k]),a=(j.cacheable?e.clone(j.fragment):j.fragment).childNodes);return e.merge(this,a)}h=c.getElementById(g[2]);if(h&&h.parentNode){if(h.id!==g[2])return f.find(a);this.length=1,this[0]=h}this.context=c,this.selector=a;return this}return!d||d.jquery?(d||f).find(a):this.constructor(d).find(a)}if(e.isFunction(a))return f.ready(a);a.selector!==b&&(this.selector=a.selector,this.context=a.context);return e.makeArray(a,this)},selector:"",jquery:"1.7.2",length:0,size:function(){return this.length},toArray:function(){return F.call(this,0)},get:function(a){return a==null?this.toArray():a<0?this[this.length+a]:this[a]},pushStack:function(a,b,c){var d=this.constructor();e.isArray(a)?E.apply(d,a):e.merge(d,a),d.prevObject=this,d.context=this.context,b==="find"?d.selector=this.selector+(this.selector?" ":"")+c:b&&(d.selector=this.selector+"."+b+"("+c+")");return d},each:function(a,b){return e.each(this,a,b)},ready:function(a){e.bindReady(),A.add(a);return this},eq:function(a){a=+a;return a===-1?this.slice(a):this.slice(a,a+1)},first:function(){return this.eq(0)},last:function(){return this.eq(-1)},slice:function(){return this.pushStack(F.apply(this,arguments),"slice",F.call(arguments).join(","))},map:function(a){return this.pushStack(e.map(this,function(b,c){return a.call(b,c,b)}))},end:function(){return this.prevObject||this.constructor(null)},push:E,sort:[].sort,splice:[].splice},e.fn.init.prototype=e.fn,e.extend=e.fn.extend=function(){var a,c,d,f,g,h,i=arguments[0]||{},j=1,k=arguments.length,l=!1;typeof i=="boolean"&&(l=i,i=arguments[1]||{},j=2),typeof i!="object"&&!e.isFunction(i)&&(i={}),k===j&&(i=this,--j);for(;j0)return;A.fireWith(c,[e]),e.fn.trigger&&e(c).trigger("ready").off("ready")}},bindReady:function(){if(!A){A=e.Callbacks("once memory");if(c.readyState==="complete")return setTimeout(e.ready,1);if(c.addEventListener)c.addEventListener("DOMContentLoaded",B,!1),a.addEventListener("load",e.ready,!1);else if(c.attachEvent){c.attachEvent("onreadystatechange",B),a.attachEvent("onload",e.ready);var b=!1;try{b=a.frameElement==null}catch(d){}c.documentElement.doScroll&&b&&J()}}},isFunction:function(a){return e.type(a)==="function"},isArray:Array.isArray||function(a){return e.type(a)==="array"},isWindow:function(a){return a!=null&&a==a.window},isNumeric:function(a){return!isNaN(parseFloat(a))&&isFinite(a)},type:function(a){return a==null?String(a):I[C.call(a)]||"object"},isPlainObject:function(a){if(!a||e.type(a)!=="object"||a.nodeType||e.isWindow(a))return!1;try{if(a.constructor&&!D.call(a,"constructor")&&!D.call(a.constructor.prototype,"isPrototypeOf"))return!1}catch(c){return!1}var d;for(d in a);return d===b||D.call(a,d)},isEmptyObject:function(a){for(var b in a)return!1;return!0},error:function(a){throw new Error(a)},parseJSON:function(b){if(typeof b!="string"||!b)return null;b=e.trim(b);if(a.JSON&&a.JSON.parse)return a.JSON.parse(b);if(n.test(b.replace(o,"@").replace(p,"]").replace(q,"")))return(new Function("return "+b))();e.error("Invalid JSON: "+b)},parseXML:function(c){if(typeof c!="string"||!c)return null;var d,f;try{a.DOMParser?(f=new DOMParser,d=f.parseFromString(c,"text/xml")):(d=new ActiveXObject("Microsoft.XMLDOM"),d.async="false",d.loadXML(c))}catch(g){d=b}(!d||!d.documentElement||d.getElementsByTagName("parsererror").length)&&e.error("Invalid XML: "+c);return d},noop:function(){},globalEval:function(b){b&&j.test(b)&&(a.execScript||function(b){a.eval.call(a,b)})(b)},camelCase:function(a){return a.replace(w,"ms-").replace(v,x)},nodeName:function(a,b){return a.nodeName&&a.nodeName.toUpperCase()===b.toUpperCase()},each:function(a,c,d){var f,g=0,h=a.length,i=h===b||e.isFunction(a);if(d){if(i){for(f in a)if(c.apply(a[f],d)===!1)break}else for(;g0&&a[0]&&a[j-1]||j===0||e.isArray(a));if(k)for(;i1?i.call(arguments,0):b,j.notifyWith(k,e)}}function l(a){return function(c){b[a]=arguments.length>1?i.call(arguments,0):c,--g||j.resolveWith(j,b)}}var b=i.call(arguments,0),c=0,d=b.length,e=Array(d),g=d,h=d,j=d<=1&&a&&f.isFunction(a.promise)?a:f.Deferred(),k=j.promise();if(d>1){for(;c
a",d=p.getElementsByTagName("*"),e=p.getElementsByTagName("a")[0];if(!d||!d.length||!e)return{};g=c.createElement("select"),h=g.appendChild(c.createElement("option")),i=p.getElementsByTagName("input")[0],b={leadingWhitespace:p.firstChild.nodeType===3,tbody:!p.getElementsByTagName("tbody").length,htmlSerialize:!!p.getElementsByTagName("link").length,style:/top/.test(e.getAttribute("style")),hrefNormalized:e.getAttribute("href")==="/a",opacity:/^0.55/.test(e.style.opacity),cssFloat:!!e.style.cssFloat,checkOn:i.value==="on",optSelected:h.selected,getSetAttribute:p.className!=="t",enctype:!!c.createElement("form").enctype,html5Clone:c.createElement("nav").cloneNode(!0).outerHTML!=="<:nav>",submitBubbles:!0,changeBubbles:!0,focusinBubbles:!1,deleteExpando:!0,noCloneEvent:!0,inlineBlockNeedsLayout:!1,shrinkWrapBlocks:!1,reliableMarginRight:!0,pixelMargin:!0},f.boxModel=b.boxModel=c.compatMode==="CSS1Compat",i.checked=!0,b.noCloneChecked=i.cloneNode(!0).checked,g.disabled=!0,b.optDisabled=!h.disabled;try{delete p.test}catch(r){b.deleteExpando=!1}!p.addEventListener&&p.attachEvent&&p.fireEvent&&(p.attachEvent("onclick",function(){b.noCloneEvent=!1}),p.cloneNode(!0).fireEvent("onclick")),i=c.createElement("input"),i.value="t",i.setAttribute("type","radio"),b.radioValue=i.value==="t",i.setAttribute("checked","checked"),i.setAttribute("name","t"),p.appendChild(i),j=c.createDocumentFragment(),j.appendChild(p.lastChild),b.checkClone=j.cloneNode(!0).cloneNode(!0).lastChild.checked,b.appendChecked=i.checked,j.removeChild(i),j.appendChild(p);if(p.attachEvent)for(n in{submit:1,change:1,focusin:1})m="on"+n,o=m in p,o||(p.setAttribute(m,"return;"),o=typeof p[m]=="function"),b[n+"Bubbles"]=o;j.removeChild(p),j=g=h=p=i=null,f(function(){var d,e,g,h,i,j,l,m,n,q,r,s,t,u=c.getElementsByTagName("body")[0];!u||(m=1,t="padding:0;margin:0;border:",r="position:absolute;top:0;left:0;width:1px;height:1px;",s=t+"0;visibility:hidden;",n="style='"+r+t+"5px solid #000;",q="

"+""+"
",d=c.createElement("div"),d.style.cssText=s+"width:0;height:0;position:static;top:0;margin-top:"+m+"px",u.insertBefore(d,u.firstChild),p=c.createElement("div"),d.appendChild(p),p.innerHTML="
t
",k=p.getElementsByTagName("td"),o=k[0].offsetHeight===0,k[0].style.display="",k[1].style.display="none",b.reliableHiddenOffsets=o&&k[0].offsetHeight===0,a.getComputedStyle&&(p.innerHTML="",l=c.createElement("div"),l.style.width="0",l.style.marginRight="0",p.style.width="2px",p.appendChild(l),b.reliableMarginRight=(parseInt((a.getComputedStyle(l,null)||{marginRight:0}).marginRight,10)||0)===0),typeof p.style.zoom!="undefined"&&(p.innerHTML="",p.style.width=p.style.padding="1px",p.style.border=0,p.style.overflow="hidden",p.style.display="inline",p.style.zoom=1,b.inlineBlockNeedsLayout=p.offsetWidth===3,p.style.display="block",p.style.overflow="visible",p.innerHTML="
",b.shrinkWrapBlocks=p.offsetWidth!==3),p.style.cssText=r+s,p.innerHTML=q,e=p.firstChild,g=e.firstChild,i=e.nextSibling.firstChild.firstChild,j={doesNotAddBorder:g.offsetTop!==5,doesAddBorderForTableAndCells:i.offsetTop===5},g.style.position="fixed",g.style.top="20px",j.fixedPosition=g.offsetTop===20||g.offsetTop===15,g.style.position=g.style.top="",e.style.overflow="hidden",e.style.position="relative",j.subtractsBorderForOverflowNotVisible=g.offsetTop===-5,j.doesNotIncludeMarginInBodyOffset=u.offsetTop!==m,a.getComputedStyle&&(p.style.marginTop="1%",b.pixelMargin=(a.getComputedStyle(p,null)||{marginTop:0}).marginTop!=="1%"),typeof d.style.zoom!="undefined"&&(d.style.zoom=1),u.removeChild(d),l=p=d=null,f.extend(b,j))});return b}();var j=/^(?:\{.*\}|\[.*\])$/,k=/([A-Z])/g;f.extend({cache:{},uuid:0,expando:"jQuery"+(f.fn.jquery+Math.random()).replace(/\D/g,""),noData:{embed:!0,object:"clsid:D27CDB6E-AE6D-11cf-96B8-444553540000",applet:!0},hasData:function(a){a=a.nodeType?f.cache[a[f.expando]]:a[f.expando];return!!a&&!m(a)},data:function(a,c,d,e){if(!!f.acceptData(a)){var g,h,i,j=f.expando,k=typeof c=="string",l=a.nodeType,m=l?f.cache:a,n=l?a[j]:a[j]&&j,o=c==="events";if((!n||!m[n]||!o&&!e&&!m[n].data)&&k&&d===b)return;n||(l?a[j]=n=++f.uuid:n=j),m[n]||(m[n]={},l||(m[n].toJSON=f.noop));if(typeof c=="object"||typeof c=="function")e?m[n]=f.extend(m[n],c):m[n].data=f.extend(m[n].data,c);g=h=m[n],e||(h.data||(h.data={}),h=h.data),d!==b&&(h[f.camelCase(c)]=d);if(o&&!h[c])return g.events;k?(i=h[c],i==null&&(i=h[f.camelCase(c)])):i=h;return i}},removeData:function(a,b,c){if(!!f.acceptData(a)){var d,e,g,h=f.expando,i=a.nodeType,j=i?f.cache:a,k=i?a[h]:h;if(!j[k])return;if(b){d=c?j[k]:j[k].data;if(d){f.isArray(b)||(b in d?b=[b]:(b=f.camelCase(b),b in d?b=[b]:b=b.split(" ")));for(e=0,g=b.length;e1,null,!1)},removeData:function(a){return this.each(function(){f.removeData(this,a)})}}),f.extend({_mark:function(a,b){a&&(b=(b||"fx")+"mark",f._data(a,b,(f._data(a,b)||0)+1))},_unmark:function(a,b,c){a!==!0&&(c=b,b=a,a=!1);if(b){c=c||"fx";var d=c+"mark",e=a?0:(f._data(b,d)||1)-1;e?f._data(b,d,e):(f.removeData(b,d,!0),n(b,c,"mark"))}},queue:function(a,b,c){var d;if(a){b=(b||"fx")+"queue",d=f._data(a,b),c&&(!d||f.isArray(c)?d=f._data(a,b,f.makeArray(c)):d.push(c));return d||[]}},dequeue:function(a,b){b=b||"fx";var c=f.queue(a,b),d=c.shift(),e={};d==="inprogress"&&(d=c.shift()),d&&(b==="fx"&&c.unshift("inprogress"),f._data(a,b+".run",e),d.call(a,function(){f.dequeue(a,b)},e)),c.length||(f.removeData(a,b+"queue "+b+".run",!0),n(a,b,"queue"))}}),f.fn.extend({queue:function(a,c){var d=2;typeof a!="string"&&(c=a,a="fx",d--);if(arguments.length1)},removeAttr:function(a){return this.each(function(){f.removeAttr(this,a)})},prop:function(a,b){return f.access(this,f.prop,a,b,arguments.length>1)},removeProp:function(a){a=f.propFix[a]||a;return this.each(function(){try{this[a]=b,delete this[a]}catch(c){}})},addClass:function(a){var b,c,d,e,g,h,i;if(f.isFunction(a))return this.each(function(b){f(this).addClass(a.call(this,b,this.className))});if(a&&typeof a=="string"){b=a.split(p);for(c=0,d=this.length;c-1)return!0;return!1},val:function(a){var c,d,e,g=this[0];{if(!!arguments.length){e=f.isFunction(a);return this.each(function(d){var g=f(this),h;if(this.nodeType===1){e?h=a.call(this,d,g.val()):h=a,h==null?h="":typeof h=="number"?h+="":f.isArray(h)&&(h=f.map(h,function(a){return a==null?"":a+""})),c=f.valHooks[this.type]||f.valHooks[this.nodeName.toLowerCase()];if(!c||!("set"in c)||c.set(this,h,"value")===b)this.value=h}})}if(g){c=f.valHooks[g.type]||f.valHooks[g.nodeName.toLowerCase()];if(c&&"get"in c&&(d=c.get(g,"value"))!==b)return d;d=g.value;return typeof d=="string"?d.replace(q,""):d==null?"":d}}}}),f.extend({valHooks:{option:{get:function(a){var b=a.attributes.value;return!b||b.specified?a.value:a.text}},select:{get:function(a){var b,c,d,e,g=a.selectedIndex,h=[],i=a.options,j=a.type==="select-one";if(g<0)return null;c=j?g:0,d=j?g+1:i.length;for(;c=0}),c.length||(a.selectedIndex=-1);return c}}},attrFn:{val:!0,css:!0,html:!0,text:!0,data:!0,width:!0,height:!0,offset:!0},attr:function(a,c,d,e){var g,h,i,j=a.nodeType;if(!!a&&j!==3&&j!==8&&j!==2){if(e&&c in f.attrFn)return f(a)[c](d);if(typeof a.getAttribute=="undefined")return f.prop(a,c,d);i=j!==1||!f.isXMLDoc(a),i&&(c=c.toLowerCase(),h=f.attrHooks[c]||(u.test(c)?x:w));if(d!==b){if(d===null){f.removeAttr(a,c);return}if(h&&"set"in h&&i&&(g=h.set(a,d,c))!==b)return g;a.setAttribute(c,""+d);return d}if(h&&"get"in h&&i&&(g=h.get(a,c))!==null)return g;g=a.getAttribute(c);return g===null?b:g}},removeAttr:function(a,b){var c,d,e,g,h,i=0;if(b&&a.nodeType===1){d=b.toLowerCase().split(p),g=d.length;for(;i=0}})});var z=/^(?:textarea|input|select)$/i,A=/^([^\.]*)?(?:\.(.+))?$/,B=/(?:^|\s)hover(\.\S+)?\b/,C=/^key/,D=/^(?:mouse|contextmenu)|click/,E=/^(?:focusinfocus|focusoutblur)$/,F=/^(\w*)(?:#([\w\-]+))?(?:\.([\w\-]+))?$/,G=function( +a){var b=F.exec(a);b&&(b[1]=(b[1]||"").toLowerCase(),b[3]=b[3]&&new RegExp("(?:^|\\s)"+b[3]+"(?:\\s|$)"));return b},H=function(a,b){var c=a.attributes||{};return(!b[1]||a.nodeName.toLowerCase()===b[1])&&(!b[2]||(c.id||{}).value===b[2])&&(!b[3]||b[3].test((c["class"]||{}).value))},I=function(a){return f.event.special.hover?a:a.replace(B,"mouseenter$1 mouseleave$1")};f.event={add:function(a,c,d,e,g){var h,i,j,k,l,m,n,o,p,q,r,s;if(!(a.nodeType===3||a.nodeType===8||!c||!d||!(h=f._data(a)))){d.handler&&(p=d,d=p.handler,g=p.selector),d.guid||(d.guid=f.guid++),j=h.events,j||(h.events=j={}),i=h.handle,i||(h.handle=i=function(a){return typeof f!="undefined"&&(!a||f.event.triggered!==a.type)?f.event.dispatch.apply(i.elem,arguments):b},i.elem=a),c=f.trim(I(c)).split(" ");for(k=0;k=0&&(h=h.slice(0,-1),k=!0),h.indexOf(".")>=0&&(i=h.split("."),h=i.shift(),i.sort());if((!e||f.event.customEvent[h])&&!f.event.global[h])return;c=typeof c=="object"?c[f.expando]?c:new f.Event(h,c):new f.Event(h),c.type=h,c.isTrigger=!0,c.exclusive=k,c.namespace=i.join("."),c.namespace_re=c.namespace?new RegExp("(^|\\.)"+i.join("\\.(?:.*\\.)?")+"(\\.|$)"):null,o=h.indexOf(":")<0?"on"+h:"";if(!e){j=f.cache;for(l in j)j[l].events&&j[l].events[h]&&f.event.trigger(c,d,j[l].handle.elem,!0);return}c.result=b,c.target||(c.target=e),d=d!=null?f.makeArray(d):[],d.unshift(c),p=f.event.special[h]||{};if(p.trigger&&p.trigger.apply(e,d)===!1)return;r=[[e,p.bindType||h]];if(!g&&!p.noBubble&&!f.isWindow(e)){s=p.delegateType||h,m=E.test(s+h)?e:e.parentNode,n=null;for(;m;m=m.parentNode)r.push([m,s]),n=m;n&&n===e.ownerDocument&&r.push([n.defaultView||n.parentWindow||a,s])}for(l=0;le&&j.push({elem:this,matches:d.slice(e)});for(k=0;k0?this.on(b,null,a,c):this.trigger(b)},f.attrFn&&(f.attrFn[b]=!0),C.test(b)&&(f.event.fixHooks[b]=f.event.keyHooks),D.test(b)&&(f.event.fixHooks[b]=f.event.mouseHooks)}),function(){function x(a,b,c,e,f,g){for(var h=0,i=e.length;h0){k=j;break}}j=j[a]}e[h]=k}}}function w(a,b,c,e,f,g){for(var h=0,i=e.length;h+~,(\[\\]+)+|[>+~])(\s*,\s*)?((?:.|\r|\n)*)/g,d="sizcache"+(Math.random()+"").replace(".",""),e=0,g=Object.prototype.toString,h=!1,i=!0,j=/\\/g,k=/\r\n/g,l=/\W/;[0,0].sort(function(){i=!1;return 0});var m=function(b,d,e,f){e=e||[],d=d||c;var h=d;if(d.nodeType!==1&&d.nodeType!==9)return[];if(!b||typeof b!="string")return e;var i,j,k,l,n,q,r,t,u=!0,v=m.isXML(d),w=[],x=b;do{a.exec(""),i=a.exec(x);if(i){x=i[3],w.push(i[1]);if(i[2]){l=i[3];break}}}while(i);if(w.length>1&&p.exec(b))if(w.length===2&&o.relative[w[0]])j=y(w[0]+w[1],d,f);else{j=o.relative[w[0]]?[d]:m(w.shift(),d);while(w.length)b=w.shift(),o.relative[b]&&(b+=w.shift()),j=y(b,j,f)}else{!f&&w.length>1&&d.nodeType===9&&!v&&o.match.ID.test(w[0])&&!o.match.ID.test(w[w.length-1])&&(n=m.find(w.shift(),d,v),d=n.expr?m.filter(n.expr,n.set)[0]:n.set[0]);if(d){n=f?{expr:w.pop(),set:s(f)}:m.find(w.pop(),w.length===1&&(w[0]==="~"||w[0]==="+")&&d.parentNode?d.parentNode:d,v),j=n.expr?m.filter(n.expr,n.set):n.set,w.length>0?k=s(j):u=!1;while(w.length)q=w.pop(),r=q,o.relative[q]?r=w.pop():q="",r==null&&(r=d),o.relative[q](k,r,v)}else k=w=[]}k||(k=j),k||m.error(q||b);if(g.call(k)==="[object Array]")if(!u)e.push.apply(e,k);else if(d&&d.nodeType===1)for(t=0;k[t]!=null;t++)k[t]&&(k[t]===!0||k[t].nodeType===1&&m.contains(d,k[t]))&&e.push(j[t]);else for(t=0;k[t]!=null;t++)k[t]&&k[t].nodeType===1&&e.push(j[t]);else s(k,e);l&&(m(l,h,e,f),m.uniqueSort(e));return e};m.uniqueSort=function(a){if(u){h=i,a.sort(u);if(h)for(var b=1;b0},m.find=function(a,b,c){var d,e,f,g,h,i;if(!a)return[];for(e=0,f=o.order.length;e":function(a,b){var c,d=typeof b=="string",e=0,f=a.length;if(d&&!l.test(b)){b=b.toLowerCase();for(;e=0)?c||d.push(h):c&&(b[g]=!1));return!1},ID:function(a){return a[1].replace(j,"")},TAG:function(a,b){return a[1].replace(j,"").toLowerCase()},CHILD:function(a){if(a[1]==="nth"){a[2]||m.error(a[0]),a[2]=a[2].replace(/^\+|\s*/g,"");var b=/(-?)(\d*)(?:n([+\-]?\d*))?/.exec(a[2]==="even"&&"2n"||a[2]==="odd"&&"2n+1"||!/\D/.test(a[2])&&"0n+"+a[2]||a[2]);a[2]=b[1]+(b[2]||1)-0,a[3]=b[3]-0}else a[2]&&m.error(a[0]);a[0]=e++;return a},ATTR:function(a,b,c,d,e,f){var g=a[1]=a[1].replace(j,"");!f&&o.attrMap[g]&&(a[1]=o.attrMap[g]),a[4]=(a[4]||a[5]||"").replace(j,""),a[2]==="~="&&(a[4]=" "+a[4]+" ");return a},PSEUDO:function(b,c,d,e,f){if(b[1]==="not")if((a.exec(b[3])||"").length>1||/^\w/.test(b[3]))b[3]=m(b[3],null,null,c);else{var g=m.filter(b[3],c,d,!0^f);d||e.push.apply(e,g);return!1}else if(o.match.POS.test(b[0])||o.match.CHILD.test(b[0]))return!0;return b},POS:function(a){a.unshift(!0);return a}},filters:{enabled:function(a){return a.disabled===!1&&a.type!=="hidden"},disabled:function(a){return a.disabled===!0},checked:function(a){return a.checked===!0},selected:function(a){a.parentNode&&a.parentNode.selectedIndex;return a.selected===!0},parent:function(a){return!!a.firstChild},empty:function(a){return!a.firstChild},has:function(a,b,c){return!!m(c[3],a).length},header:function(a){return/h\d/i.test(a.nodeName)},text:function(a){var b=a.getAttribute("type"),c=a.type;return a.nodeName.toLowerCase()==="input"&&"text"===c&&(b===c||b===null)},radio:function(a){return a.nodeName.toLowerCase()==="input"&&"radio"===a.type},checkbox:function(a){return a.nodeName.toLowerCase()==="input"&&"checkbox"===a.type},file:function(a){return a.nodeName.toLowerCase()==="input"&&"file"===a.type},password:function(a){return a.nodeName.toLowerCase()==="input"&&"password"===a.type},submit:function(a){var b=a.nodeName.toLowerCase();return(b==="input"||b==="button")&&"submit"===a.type},image:function(a){return a.nodeName.toLowerCase()==="input"&&"image"===a.type},reset:function(a){var b=a.nodeName.toLowerCase();return(b==="input"||b==="button")&&"reset"===a.type},button:function(a){var b=a.nodeName.toLowerCase();return b==="input"&&"button"===a.type||b==="button"},input:function(a){return/input|select|textarea|button/i.test(a.nodeName)},focus:function(a){return a===a.ownerDocument.activeElement}},setFilters:{first:function(a,b){return b===0},last:function(a,b,c,d){return b===d.length-1},even:function(a,b){return b%2===0},odd:function(a,b){return b%2===1},lt:function(a,b,c){return bc[3]-0},nth:function(a,b,c){return c[3]-0===b},eq:function(a,b,c){return c[3]-0===b}},filter:{PSEUDO:function(a,b,c,d){var e=b[1],f=o.filters[e];if(f)return f(a,c,b,d);if(e==="contains")return(a.textContent||a.innerText||n([a])||"").indexOf(b[3])>=0;if(e==="not"){var g=b[3];for(var h=0,i=g.length;h=0}},ID:function(a,b){return a.nodeType===1&&a.getAttribute("id")===b},TAG:function(a,b){return b==="*"&&a.nodeType===1||!!a.nodeName&&a.nodeName.toLowerCase()===b},CLASS:function(a,b){return(" "+(a.className||a.getAttribute("class"))+" ").indexOf(b)>-1},ATTR:function(a,b){var c=b[1],d=m.attr?m.attr(a,c):o.attrHandle[c]?o.attrHandle[c](a):a[c]!=null?a[c]:a.getAttribute(c),e=d+"",f=b[2],g=b[4];return d==null?f==="!=":!f&&m.attr?d!=null:f==="="?e===g:f==="*="?e.indexOf(g)>=0:f==="~="?(" "+e+" ").indexOf(g)>=0:g?f==="!="?e!==g:f==="^="?e.indexOf(g)===0:f==="$="?e.substr(e.length-g.length)===g:f==="|="?e===g||e.substr(0,g.length+1)===g+"-":!1:e&&d!==!1},POS:function(a,b,c,d){var e=b[2],f=o.setFilters[e];if(f)return f(a,c,b,d)}}},p=o.match.POS,q=function(a,b){return"\\"+(b-0+1)};for(var r in o.match)o.match[r]=new RegExp(o.match[r].source+/(?![^\[]*\])(?![^\(]*\))/.source),o.leftMatch[r]=new RegExp(/(^(?:.|\r|\n)*?)/.source+o.match[r].source.replace(/\\(\d+)/g,q));o.match.globalPOS=p;var s=function(a,b){a=Array.prototype.slice.call(a,0);if(b){b.push.apply(b,a);return b}return a};try{Array.prototype.slice.call(c.documentElement.childNodes,0)[0].nodeType}catch(t){s=function(a,b){var c=0,d=b||[];if(g.call(a)==="[object Array]")Array.prototype.push.apply(d,a);else if(typeof a.length=="number")for(var e=a.length;c",e.insertBefore(a,e.firstChild),c.getElementById(d)&&(o.find.ID=function(a,c,d){if(typeof c.getElementById!="undefined"&&!d){var e=c.getElementById(a[1]);return e?e.id===a[1]||typeof e.getAttributeNode!="undefined"&&e.getAttributeNode("id").nodeValue===a[1]?[e]:b:[]}},o.filter.ID=function(a,b){var c=typeof a.getAttributeNode!="undefined"&&a.getAttributeNode("id");return a.nodeType===1&&c&&c.nodeValue===b}),e.removeChild(a),e=a=null}(),function(){var a=c.createElement("div");a.appendChild(c.createComment("")),a.getElementsByTagName("*").length>0&&(o.find.TAG=function(a,b){var c=b.getElementsByTagName(a[1]);if(a[1]==="*"){var d=[];for(var e=0;c[e];e++)c[e].nodeType===1&&d.push(c[e]);c=d}return c}),a.innerHTML="",a.firstChild&&typeof a.firstChild.getAttribute!="undefined"&&a.firstChild.getAttribute("href")!=="#"&&(o.attrHandle.href=function(a){return a.getAttribute("href",2)}),a=null}(),c.querySelectorAll&&function(){var a=m,b=c.createElement("div"),d="__sizzle__";b.innerHTML="

";if(!b.querySelectorAll||b.querySelectorAll(".TEST").length!==0){m=function(b,e,f,g){e=e||c;if(!g&&!m.isXML(e)){var h=/^(\w+$)|^\.([\w\-]+$)|^#([\w\-]+$)/.exec(b);if(h&&(e.nodeType===1||e.nodeType===9)){if(h[1])return s(e.getElementsByTagName(b),f);if(h[2]&&o.find.CLASS&&e.getElementsByClassName)return s(e.getElementsByClassName(h[2]),f)}if(e.nodeType===9){if(b==="body"&&e.body)return s([e.body],f);if(h&&h[3]){var i=e.getElementById(h[3]);if(!i||!i.parentNode)return s([],f);if(i.id===h[3])return s([i],f)}try{return s(e.querySelectorAll(b),f)}catch(j){}}else if(e.nodeType===1&&e.nodeName.toLowerCase()!=="object"){var k=e,l=e.getAttribute("id"),n=l||d,p=e.parentNode,q=/^\s*[+~]/.test(b);l?n=n.replace(/'/g,"\\$&"):e.setAttribute("id",n),q&&p&&(e=e.parentNode);try{if(!q||p)return s(e.querySelectorAll("[id='"+n+"'] "+b),f)}catch(r){}finally{l||k.removeAttribute("id")}}}return a(b,e,f,g)};for(var e in a)m[e]=a[e];b=null}}(),function(){var a=c.documentElement,b=a.matchesSelector||a.mozMatchesSelector||a.webkitMatchesSelector||a.msMatchesSelector;if(b){var d=!b.call(c.createElement("div"),"div"),e=!1;try{b.call(c.documentElement,"[test!='']:sizzle")}catch(f){e=!0}m.matchesSelector=function(a,c){c=c.replace(/\=\s*([^'"\]]*)\s*\]/g,"='$1']");if(!m.isXML(a))try{if(e||!o.match.PSEUDO.test(c)&&!/!=/.test(c)){var f=b.call(a,c);if(f||!d||a.document&&a.document.nodeType!==11)return f}}catch(g){}return m(c,null,null,[a]).length>0}}}(),function(){var a=c.createElement("div");a.innerHTML="
";if(!!a.getElementsByClassName&&a.getElementsByClassName("e").length!==0){a.lastChild.className="e";if(a.getElementsByClassName("e").length===1)return;o.order.splice(1,0,"CLASS"),o.find.CLASS=function(a,b,c){if(typeof b.getElementsByClassName!="undefined"&&!c)return b.getElementsByClassName(a[1])},a=null}}(),c.documentElement.contains?m.contains=function(a,b){return a!==b&&(a.contains?a.contains(b):!0)}:c.documentElement.compareDocumentPosition?m.contains=function(a,b){return!!(a.compareDocumentPosition(b)&16)}:m.contains=function(){return!1},m.isXML=function(a){var b=(a?a.ownerDocument||a:0).documentElement;return b?b.nodeName!=="HTML":!1};var y=function(a,b,c){var d,e=[],f="",g=b.nodeType?[b]:b;while(d=o.match.PSEUDO.exec(a))f+=d[0],a=a.replace(o.match.PSEUDO,"");a=o.relative[a]?a+"*":a;for(var h=0,i=g.length;h0)for(h=g;h=0:f.filter(a,this).length>0:this.filter(a).length>0)},closest:function(a,b){var c=[],d,e,g=this[0];if(f.isArray(a)){var h=1;while(g&&g.ownerDocument&&g!==b){for(d=0;d-1:f.find.matchesSelector(g,a)){c.push(g);break}g=g.parentNode;if(!g||!g.ownerDocument||g===b||g.nodeType===11)break}}c=c.length>1?f.unique(c):c;return this.pushStack(c,"closest",a)},index:function(a){if(!a)return this[0]&&this[0].parentNode?this.prevAll().length:-1;if(typeof a=="string")return f.inArray(this[0],f(a));return f.inArray(a.jquery?a[0]:a,this)},add:function(a,b){var c=typeof a=="string"?f(a,b):f.makeArray(a&&a.nodeType?[a]:a),d=f.merge(this.get(),c);return this.pushStack(S(c[0])||S(d[0])?d:f.unique(d))},andSelf:function(){return this.add(this.prevObject)}}),f.each({parent:function(a){var b=a.parentNode;return b&&b.nodeType!==11?b:null},parents:function(a){return f.dir(a,"parentNode")},parentsUntil:function(a,b,c){return f.dir(a,"parentNode",c)},next:function(a){return f.nth(a,2,"nextSibling")},prev:function(a){return f.nth(a,2,"previousSibling")},nextAll:function(a){return f.dir(a,"nextSibling")},prevAll:function(a){return f.dir(a,"previousSibling")},nextUntil:function(a,b,c){return f.dir(a,"nextSibling",c)},prevUntil:function(a,b,c){return f.dir(a,"previousSibling",c)},siblings:function(a){return f.sibling((a.parentNode||{}).firstChild,a)},children:function(a){return f.sibling(a.firstChild)},contents:function(a){return f.nodeName(a,"iframe")?a.contentDocument||a.contentWindow.document:f.makeArray(a.childNodes)}},function(a,b){f.fn[a]=function(c,d){var e=f.map(this,b,c);L.test(a)||(d=c),d&&typeof d=="string"&&(e=f.filter(d,e)),e=this.length>1&&!R[a]?f.unique(e):e,(this.length>1||N.test(d))&&M.test(a)&&(e=e.reverse());return this.pushStack(e,a,P.call(arguments).join(","))}}),f.extend({filter:function(a,b,c){c&&(a=":not("+a+")");return b.length===1?f.find.matchesSelector(b[0],a)?[b[0]]:[]:f.find.matches(a,b)},dir:function(a,c,d){var e=[],g=a[c];while(g&&g.nodeType!==9&&(d===b||g.nodeType!==1||!f(g).is(d)))g.nodeType===1&&e.push(g),g=g[c];return e},nth:function(a,b,c,d){b=b||1;var e=0;for(;a;a=a[c])if(a.nodeType===1&&++e===b)break;return a},sibling:function(a,b){var c=[];for(;a;a=a.nextSibling)a.nodeType===1&&a!==b&&c.push(a);return c}});var V="abbr|article|aside|audio|bdi|canvas|data|datalist|details|figcaption|figure|footer|header|hgroup|mark|meter|nav|output|progress|section|summary|time|video",W=/ jQuery\d+="(?:\d+|null)"/g,X=/^\s+/,Y=/<(?!area|br|col|embed|hr|img|input|link|meta|param)(([\w:]+)[^>]*)\/>/ig,Z=/<([\w:]+)/,$=/]","i"),bd=/checked\s*(?:[^=]|=\s*.checked.)/i,be=/\/(java|ecma)script/i,bf=/^\s*",""],legend:[1,"
","
"],thead:[1,"","
"],tr:[2,"","
"],td:[3,"","
"],col:[2,"","
"],area:[1,"",""],_default:[0,"",""]},bh=U(c);bg.optgroup=bg.option,bg.tbody=bg.tfoot=bg.colgroup=bg.caption=bg.thead,bg.th=bg.td,f.support.htmlSerialize||(bg._default=[1,"div
","
"]),f.fn.extend({text:function(a){return f.access(this,function(a){return a===b?f.text(this):this.empty().append((this[0]&&this[0].ownerDocument||c).createTextNode(a))},null,a,arguments.length)},wrapAll:function(a){if(f.isFunction(a))return this.each(function(b){f(this).wrapAll(a.call(this,b))});if(this[0]){var b=f(a,this[0].ownerDocument).eq(0).clone(!0);this[0].parentNode&&b.insertBefore(this[0]),b.map(function(){var a=this;while(a.firstChild&&a.firstChild.nodeType===1)a=a.firstChild;return a}).append(this)}return this},wrapInner:function(a){if(f.isFunction(a))return this.each(function(b){f(this).wrapInner(a.call(this,b))});return this.each(function(){var b=f(this),c=b.contents();c.length?c.wrapAll(a):b.append(a)})},wrap:function(a){var b=f.isFunction(a);return this.each(function(c){f(this).wrapAll(b?a.call(this,c):a)})},unwrap:function(){return this.parent().each(function(){f.nodeName(this,"body")||f(this).replaceWith(this.childNodes)}).end()},append:function(){return this.domManip(arguments,!0,function(a){this.nodeType===1&&this.appendChild(a)})},prepend:function(){return this.domManip(arguments,!0,function(a){this.nodeType===1&&this.insertBefore(a,this.firstChild)})},before:function(){if(this[0]&&this[0].parentNode)return this.domManip(arguments,!1,function(a){this.parentNode.insertBefore(a,this)});if(arguments.length){var a=f +.clean(arguments);a.push.apply(a,this.toArray());return this.pushStack(a,"before",arguments)}},after:function(){if(this[0]&&this[0].parentNode)return this.domManip(arguments,!1,function(a){this.parentNode.insertBefore(a,this.nextSibling)});if(arguments.length){var a=this.pushStack(this,"after",arguments);a.push.apply(a,f.clean(arguments));return a}},remove:function(a,b){for(var c=0,d;(d=this[c])!=null;c++)if(!a||f.filter(a,[d]).length)!b&&d.nodeType===1&&(f.cleanData(d.getElementsByTagName("*")),f.cleanData([d])),d.parentNode&&d.parentNode.removeChild(d);return this},empty:function(){for(var a=0,b;(b=this[a])!=null;a++){b.nodeType===1&&f.cleanData(b.getElementsByTagName("*"));while(b.firstChild)b.removeChild(b.firstChild)}return this},clone:function(a,b){a=a==null?!1:a,b=b==null?a:b;return this.map(function(){return f.clone(this,a,b)})},html:function(a){return f.access(this,function(a){var c=this[0]||{},d=0,e=this.length;if(a===b)return c.nodeType===1?c.innerHTML.replace(W,""):null;if(typeof a=="string"&&!ba.test(a)&&(f.support.leadingWhitespace||!X.test(a))&&!bg[(Z.exec(a)||["",""])[1].toLowerCase()]){a=a.replace(Y,"<$1>");try{for(;d1&&l0?this.clone(!0):this).get();f(e[h])[b](j),d=d.concat(j)}return this.pushStack(d,a,e.selector)}}),f.extend({clone:function(a,b,c){var d,e,g,h=f.support.html5Clone||f.isXMLDoc(a)||!bc.test("<"+a.nodeName+">")?a.cloneNode(!0):bo(a);if((!f.support.noCloneEvent||!f.support.noCloneChecked)&&(a.nodeType===1||a.nodeType===11)&&!f.isXMLDoc(a)){bk(a,h),d=bl(a),e=bl(h);for(g=0;d[g];++g)e[g]&&bk(d[g],e[g])}if(b){bj(a,h);if(c){d=bl(a),e=bl(h);for(g=0;d[g];++g)bj(d[g],e[g])}}d=e=null;return h},clean:function(a,b,d,e){var g,h,i,j=[];b=b||c,typeof b.createElement=="undefined"&&(b=b.ownerDocument||b[0]&&b[0].ownerDocument||c);for(var k=0,l;(l=a[k])!=null;k++){typeof l=="number"&&(l+="");if(!l)continue;if(typeof l=="string")if(!_.test(l))l=b.createTextNode(l);else{l=l.replace(Y,"<$1>");var m=(Z.exec(l)||["",""])[1].toLowerCase(),n=bg[m]||bg._default,o=n[0],p=b.createElement("div"),q=bh.childNodes,r;b===c?bh.appendChild(p):U(b).appendChild(p),p.innerHTML=n[1]+l+n[2];while(o--)p=p.lastChild;if(!f.support.tbody){var s=$.test(l),t=m==="table"&&!s?p.firstChild&&p.firstChild.childNodes:n[1]===""&&!s?p.childNodes:[];for(i=t.length-1;i>=0;--i)f.nodeName(t[i],"tbody")&&!t[i].childNodes.length&&t[i].parentNode.removeChild(t[i])}!f.support.leadingWhitespace&&X.test(l)&&p.insertBefore(b.createTextNode(X.exec(l)[0]),p.firstChild),l=p.childNodes,p&&(p.parentNode.removeChild(p),q.length>0&&(r=q[q.length-1],r&&r.parentNode&&r.parentNode.removeChild(r)))}var u;if(!f.support.appendChecked)if(l[0]&&typeof (u=l.length)=="number")for(i=0;i1)},f.extend({cssHooks:{opacity:{get:function(a,b){if(b){var c=by(a,"opacity");return c===""?"1":c}return a.style.opacity}}},cssNumber:{fillOpacity:!0,fontWeight:!0,lineHeight:!0,opacity:!0,orphans:!0,widows:!0,zIndex:!0,zoom:!0},cssProps:{"float":f.support.cssFloat?"cssFloat":"styleFloat"},style:function(a,c,d,e){if(!!a&&a.nodeType!==3&&a.nodeType!==8&&!!a.style){var g,h,i=f.camelCase(c),j=a.style,k=f.cssHooks[i];c=f.cssProps[i]||i;if(d===b){if(k&&"get"in k&&(g=k.get(a,!1,e))!==b)return g;return j[c]}h=typeof d,h==="string"&&(g=bu.exec(d))&&(d=+(g[1]+1)*+g[2]+parseFloat(f.css(a,c)),h="number");if(d==null||h==="number"&&isNaN(d))return;h==="number"&&!f.cssNumber[i]&&(d+="px");if(!k||!("set"in k)||(d=k.set(a,d))!==b)try{j[c]=d}catch(l){}}},css:function(a,c,d){var e,g;c=f.camelCase(c),g=f.cssHooks[c],c=f.cssProps[c]||c,c==="cssFloat"&&(c="float");if(g&&"get"in g&&(e=g.get(a,!0,d))!==b)return e;if(by)return by(a,c)},swap:function(a,b,c){var d={},e,f;for(f in b)d[f]=a.style[f],a.style[f]=b[f];e=c.call(a);for(f in b)a.style[f]=d[f];return e}}),f.curCSS=f.css,c.defaultView&&c.defaultView.getComputedStyle&&(bz=function(a,b){var c,d,e,g,h=a.style;b=b.replace(br,"-$1").toLowerCase(),(d=a.ownerDocument.defaultView)&&(e=d.getComputedStyle(a,null))&&(c=e.getPropertyValue(b),c===""&&!f.contains(a.ownerDocument.documentElement,a)&&(c=f.style(a,b))),!f.support.pixelMargin&&e&&bv.test(b)&&bt.test(c)&&(g=h.width,h.width=c,c=e.width,h.width=g);return c}),c.documentElement.currentStyle&&(bA=function(a,b){var c,d,e,f=a.currentStyle&&a.currentStyle[b],g=a.style;f==null&&g&&(e=g[b])&&(f=e),bt.test(f)&&(c=g.left,d=a.runtimeStyle&&a.runtimeStyle.left,d&&(a.runtimeStyle.left=a.currentStyle.left),g.left=b==="fontSize"?"1em":f,f=g.pixelLeft+"px",g.left=c,d&&(a.runtimeStyle.left=d));return f===""?"auto":f}),by=bz||bA,f.each(["height","width"],function(a,b){f.cssHooks[b]={get:function(a,c,d){if(c)return a.offsetWidth!==0?bB(a,b,d):f.swap(a,bw,function(){return bB(a,b,d)})},set:function(a,b){return bs.test(b)?b+"px":b}}}),f.support.opacity||(f.cssHooks.opacity={get:function(a,b){return bq.test((b&&a.currentStyle?a.currentStyle.filter:a.style.filter)||"")?parseFloat(RegExp.$1)/100+"":b?"1":""},set:function(a,b){var c=a.style,d=a.currentStyle,e=f.isNumeric(b)?"alpha(opacity="+b*100+")":"",g=d&&d.filter||c.filter||"";c.zoom=1;if(b>=1&&f.trim(g.replace(bp,""))===""){c.removeAttribute("filter");if(d&&!d.filter)return}c.filter=bp.test(g)?g.replace(bp,e):g+" "+e}}),f(function(){f.support.reliableMarginRight||(f.cssHooks.marginRight={get:function(a,b){return f.swap(a,{display:"inline-block"},function(){return b?by(a,"margin-right"):a.style.marginRight})}})}),f.expr&&f.expr.filters&&(f.expr.filters.hidden=function(a){var b=a.offsetWidth,c=a.offsetHeight;return b===0&&c===0||!f.support.reliableHiddenOffsets&&(a.style&&a.style.display||f.css(a,"display"))==="none"},f.expr.filters.visible=function(a){return!f.expr.filters.hidden(a)}),f.each({margin:"",padding:"",border:"Width"},function(a,b){f.cssHooks[a+b]={expand:function(c){var d,e=typeof c=="string"?c.split(" "):[c],f={};for(d=0;d<4;d++)f[a+bx[d]+b]=e[d]||e[d-2]||e[0];return f}}});var bC=/%20/g,bD=/\[\]$/,bE=/\r?\n/g,bF=/#.*$/,bG=/^(.*?):[ \t]*([^\r\n]*)\r?$/mg,bH=/^(?:color|date|datetime|datetime-local|email|hidden|month|number|password|range|search|tel|text|time|url|week)$/i,bI=/^(?:about|app|app\-storage|.+\-extension|file|res|widget):$/,bJ=/^(?:GET|HEAD)$/,bK=/^\/\//,bL=/\?/,bM=/)<[^<]*)*<\/script>/gi,bN=/^(?:select|textarea)/i,bO=/\s+/,bP=/([?&])_=[^&]*/,bQ=/^([\w\+\.\-]+:)(?:\/\/([^\/?#:]*)(?::(\d+))?)?/,bR=f.fn.load,bS={},bT={},bU,bV,bW=["*/"]+["*"];try{bU=e.href}catch(bX){bU=c.createElement("a"),bU.href="",bU=bU.href}bV=bQ.exec(bU.toLowerCase())||[],f.fn.extend({load:function(a,c,d){if(typeof a!="string"&&bR)return bR.apply(this,arguments);if(!this.length)return this;var e=a.indexOf(" ");if(e>=0){var g=a.slice(e,a.length);a=a.slice(0,e)}var h="GET";c&&(f.isFunction(c)?(d=c,c=b):typeof c=="object"&&(c=f.param(c,f.ajaxSettings.traditional),h="POST"));var i=this;f.ajax({url:a,type:h,dataType:"html",data:c,complete:function(a,b,c){c=a.responseText,a.isResolved()&&(a.done(function(a){c=a}),i.html(g?f("
").append(c.replace(bM,"")).find(g):c)),d&&i.each(d,[c,b,a])}});return this},serialize:function(){return f.param(this.serializeArray())},serializeArray:function(){return this.map(function(){return this.elements?f.makeArray(this.elements):this}).filter(function(){return this.name&&!this.disabled&&(this.checked||bN.test(this.nodeName)||bH.test(this.type))}).map(function(a,b){var c=f(this).val();return c==null?null:f.isArray(c)?f.map(c,function(a,c){return{name:b.name,value:a.replace(bE,"\r\n")}}):{name:b.name,value:c.replace(bE,"\r\n")}}).get()}}),f.each("ajaxStart ajaxStop ajaxComplete ajaxError ajaxSuccess ajaxSend".split(" "),function(a,b){f.fn[b]=function(a){return this.on(b,a)}}),f.each(["get","post"],function(a,c){f[c]=function(a,d,e,g){f.isFunction(d)&&(g=g||e,e=d,d=b);return f.ajax({type:c,url:a,data:d,success:e,dataType:g})}}),f.extend({getScript:function(a,c){return f.get(a,b,c,"script")},getJSON:function(a,b,c){return f.get(a,b,c,"json")},ajaxSetup:function(a,b){b?b$(a,f.ajaxSettings):(b=a,a=f.ajaxSettings),b$(a,b);return a},ajaxSettings:{url:bU,isLocal:bI.test(bV[1]),global:!0,type:"GET",contentType:"application/x-www-form-urlencoded; charset=UTF-8",processData:!0,async:!0,accepts:{xml:"application/xml, text/xml",html:"text/html",text:"text/plain",json:"application/json, text/javascript","*":bW},contents:{xml:/xml/,html:/html/,json:/json/},responseFields:{xml:"responseXML",text:"responseText"},converters:{"* text":a.String,"text html":!0,"text json":f.parseJSON,"text xml":f.parseXML},flatOptions:{context:!0,url:!0}},ajaxPrefilter:bY(bS),ajaxTransport:bY(bT),ajax:function(a,c){function w(a,c,l,m){if(s!==2){s=2,q&&clearTimeout(q),p=b,n=m||"",v.readyState=a>0?4:0;var o,r,u,w=c,x=l?ca(d,v,l):b,y,z;if(a>=200&&a<300||a===304){if(d.ifModified){if(y=v.getResponseHeader("Last-Modified"))f.lastModified[k]=y;if(z=v.getResponseHeader("Etag"))f.etag[k]=z}if(a===304)w="notmodified",o=!0;else try{r=cb(d,x),w="success",o=!0}catch(A){w="parsererror",u=A}}else{u=w;if(!w||a)w="error",a<0&&(a=0)}v.status=a,v.statusText=""+(c||w),o?h.resolveWith(e,[r,w,v]):h.rejectWith(e,[v,w,u]),v.statusCode(j),j=b,t&&g.trigger("ajax"+(o?"Success":"Error"),[v,d,o?r:u]),i.fireWith(e,[v,w]),t&&(g.trigger("ajaxComplete",[v,d]),--f.active||f.event.trigger("ajaxStop"))}}typeof a=="object"&&(c=a,a=b),c=c||{};var d=f.ajaxSetup({},c),e=d.context||d,g=e!==d&&(e.nodeType||e instanceof f)?f(e):f.event,h=f.Deferred(),i=f.Callbacks("once memory"),j=d.statusCode||{},k,l={},m={},n,o,p,q,r,s=0,t,u,v={readyState:0,setRequestHeader:function(a,b){if(!s){var c=a.toLowerCase();a=m[c]=m[c]||a,l[a]=b}return this},getAllResponseHeaders:function(){return s===2?n:null},getResponseHeader:function(a){var c;if(s===2){if(!o){o={};while(c=bG.exec(n))o[c[1].toLowerCase()]=c[2]}c=o[a.toLowerCase()]}return c===b?null:c},overrideMimeType:function(a){s||(d.mimeType=a);return this},abort:function(a){a=a||"abort",p&&p.abort(a),w(0,a);return this}};h.promise(v),v.success=v.done,v.error=v.fail,v.complete=i.add,v.statusCode=function(a){if(a){var b;if(s<2)for(b in a)j[b]=[j[b],a[b]];else b=a[v.status],v.then(b,b)}return this},d.url=((a||d.url)+"").replace(bF,"").replace(bK,bV[1]+"//"),d.dataTypes=f.trim(d.dataType||"*").toLowerCase().split(bO),d.crossDomain==null&&(r=bQ.exec(d.url.toLowerCase()),d.crossDomain=!(!r||r[1]==bV[1]&&r[2]==bV[2]&&(r[3]||(r[1]==="http:"?80:443))==(bV[3]||(bV[1]==="http:"?80:443)))),d.data&&d.processData&&typeof d.data!="string"&&(d.data=f.param(d.data,d.traditional)),bZ(bS,d,c,v);if(s===2)return!1;t=d.global,d.type=d.type.toUpperCase(),d.hasContent=!bJ.test(d.type),t&&f.active++===0&&f.event.trigger("ajaxStart");if(!d.hasContent){d.data&&(d.url+=(bL.test(d.url)?"&":"?")+d.data,delete d.data),k=d.url;if(d.cache===!1){var x=f.now(),y=d.url.replace(bP,"$1_="+x);d.url=y+(y===d.url?(bL.test(d.url)?"&":"?")+"_="+x:"")}}(d.data&&d.hasContent&&d.contentType!==!1||c.contentType)&&v.setRequestHeader("Content-Type",d.contentType),d.ifModified&&(k=k||d.url,f.lastModified[k]&&v.setRequestHeader("If-Modified-Since",f.lastModified[k]),f.etag[k]&&v.setRequestHeader("If-None-Match",f.etag[k])),v.setRequestHeader("Accept",d.dataTypes[0]&&d.accepts[d.dataTypes[0]]?d.accepts[d.dataTypes[0]]+(d.dataTypes[0]!=="*"?", "+bW+"; q=0.01":""):d.accepts["*"]);for(u in d.headers)v.setRequestHeader(u,d.headers[u]);if(d.beforeSend&&(d.beforeSend.call(e,v,d)===!1||s===2)){v.abort();return!1}for(u in{success:1,error:1,complete:1})v[u](d[u]);p=bZ(bT,d,c,v);if(!p)w(-1,"No Transport");else{v.readyState=1,t&&g.trigger("ajaxSend",[v,d]),d.async&&d.timeout>0&&(q=setTimeout(function(){v.abort("timeout")},d.timeout));try{s=1,p.send(l,w)}catch(z){if(s<2)w(-1,z);else throw z}}return v},param:function(a,c){var d=[],e=function(a,b){b=f.isFunction(b)?b():b,d[d.length]=encodeURIComponent(a)+"="+encodeURIComponent(b)};c===b&&(c=f.ajaxSettings.traditional);if(f.isArray(a)||a.jquery&&!f.isPlainObject(a))f.each(a,function(){e(this.name,this.value)});else for(var g in a)b_(g,a[g],c,e);return d.join("&").replace(bC,"+")}}),f.extend({active:0,lastModified:{},etag:{}});var cc=f.now(),cd=/(\=)\?(&|$)|\?\?/i;f.ajaxSetup({jsonp:"callback",jsonpCallback:function(){return f.expando+"_"+cc++}}),f.ajaxPrefilter("json jsonp",function(b,c,d){var e=typeof b.data=="string"&&/^application\/x\-www\-form\-urlencoded/.test(b.contentType);if(b.dataTypes[0]==="jsonp"||b.jsonp!==!1&&(cd.test(b.url)||e&&cd.test(b.data))){var g,h=b.jsonpCallback=f.isFunction(b.jsonpCallback)?b.jsonpCallback():b.jsonpCallback,i=a[h],j=b.url,k=b.data,l="$1"+h+"$2";b.jsonp!==!1&&(j=j.replace(cd,l),b.url===j&&(e&&(k=k.replace(cd,l)),b.data===k&&(j+=(/\?/.test(j)?"&":"?")+b.jsonp+"="+h))),b.url=j,b.data=k,a[h]=function(a){g=[a]},d.always(function(){a[h]=i,g&&f.isFunction(i)&&a[h](g[0])}),b.converters["script json"]=function(){g||f.error(h+" was not called");return g[0]},b.dataTypes[0]="json";return"script"}}),f.ajaxSetup({accepts:{script:"text/javascript, application/javascript, application/ecmascript, application/x-ecmascript"},contents:{script:/javascript|ecmascript/},converters:{"text script":function(a){f.globalEval(a);return a}}}),f.ajaxPrefilter("script",function(a){a.cache===b&&(a.cache=!1),a.crossDomain&&(a.type="GET",a.global=!1)}),f.ajaxTransport("script",function(a){if(a.crossDomain){var d,e=c.head||c.getElementsByTagName("head")[0]||c.documentElement;return{send:function(f,g){d=c.createElement("script"),d.async="async",a.scriptCharset&&(d.charset=a.scriptCharset),d.src=a.url,d.onload=d.onreadystatechange=function(a,c){if(c||!d.readyState||/loaded|complete/.test(d.readyState))d.onload=d.onreadystatechange=null,e&&d.parentNode&&e.removeChild(d),d=b,c||g(200,"success")},e.insertBefore(d,e.firstChild)},abort:function(){d&&d.onload(0,1)}}}});var ce=a.ActiveXObject?function(){for(var a in cg)cg[a](0,1)}:!1,cf=0,cg;f.ajaxSettings.xhr=a.ActiveXObject?function(){return!this.isLocal&&ch()||ci()}:ch,function(a){f.extend(f.support,{ajax:!!a,cors:!!a&&"withCredentials"in a})}(f.ajaxSettings.xhr()),f.support.ajax&&f.ajaxTransport(function(c){if(!c.crossDomain||f.support.cors){var d;return{send:function(e,g){var h=c.xhr(),i,j;c.username?h.open(c.type,c.url,c.async,c.username,c.password):h.open(c.type,c.url,c.async);if(c.xhrFields)for(j in c.xhrFields)h[j]=c.xhrFields[j];c.mimeType&&h.overrideMimeType&&h.overrideMimeType(c.mimeType),!c.crossDomain&&!e["X-Requested-With"]&&(e["X-Requested-With"]="XMLHttpRequest");try{for(j in e)h.setRequestHeader(j,e[j])}catch(k){}h.send(c.hasContent&&c.data||null),d=function(a,e){var j,k,l,m,n;try{if(d&&(e||h.readyState===4)){d=b,i&&(h.onreadystatechange=f.noop,ce&&delete cg[i]);if(e)h.readyState!==4&&h.abort();else{j=h.status,l=h.getAllResponseHeaders(),m={},n=h.responseXML,n&&n.documentElement&&(m.xml=n);try{m.text=h.responseText}catch(a){}try{k=h.statusText}catch(o){k=""}!j&&c.isLocal&&!c.crossDomain?j=m.text?200:404:j===1223&&(j=204)}}}catch(p){e||g(-1,p)}m&&g(j,k,m,l)},!c.async||h.readyState===4?d():(i=++cf,ce&&(cg||(cg={},f(a).unload(ce)),cg[i]=d),h.onreadystatechange=d)},abort:function(){d&&d(0,1)}}}});var cj={},ck,cl,cm=/^(?:toggle|show|hide)$/,cn=/^([+\-]=)?([\d+.\-]+)([a-z%]*)$/i,co,cp=[["height","marginTop","marginBottom","paddingTop","paddingBottom"],["width","marginLeft","marginRight","paddingLeft","paddingRight"],["opacity"]],cq;f.fn.extend({show:function(a,b,c){var d,e;if(a||a===0)return this.animate(ct("show",3),a,b,c);for(var g=0,h=this.length;g=i.duration+this.startTime){this.now=this.end,this.pos=this.state=1,this.update(),i.animatedProperties[this.prop]=!0;for(b in i.animatedProperties)i.animatedProperties[b]!==!0&&(g=!1);if(g){i.overflow!=null&&!f.support.shrinkWrapBlocks&&f.each(["","X","Y"],function(a,b){h.style["overflow"+b]=i.overflow[a]}),i.hide&&f(h).hide();if(i.hide||i.show)for(b in i.animatedProperties)f.style(h,b,i.orig[b]),f.removeData(h,"fxshow"+b,!0),f.removeData(h,"toggle"+b,!0);d=i.complete,d&&(i.complete=!1,d.call(h))}return!1}i.duration==Infinity?this.now=e:(c=e-this.startTime,this.state=c/i.duration,this.pos=f.easing[i.animatedProperties[this.prop]](this.state,c,0,1,i.duration),this.now=this.start+(this.end-this.start)*this.pos),this.update();return!0}},f.extend(f.fx,{tick:function(){var a,b=f.timers,c=0;for(;c-1,k={},l={},m,n;j?(l=e.position(),m=l.top,n=l.left):(m=parseFloat(h)||0,n=parseFloat(i)||0),f.isFunction(b)&&(b=b.call(a,c,g)),b.top!=null&&(k.top=b.top-g.top+m),b.left!=null&&(k.left=b.left-g.left+n),"using"in b?b.using.call(a,k):e.css(k)}},f.fn.extend({position:function(){if(!this[0])return null;var a=this[0],b=this.offsetParent(),c=this.offset(),d=cx.test(b[0].nodeName)?{top:0,left:0}:b.offset();c.top-=parseFloat(f.css(a,"marginTop"))||0,c.left-=parseFloat(f.css(a,"marginLeft"))||0,d.top+=parseFloat(f.css(b[0],"borderTopWidth"))||0,d.left+=parseFloat(f.css(b[0],"borderLeftWidth"))||0;return{top:c.top-d.top,left:c.left-d.left}},offsetParent:function(){return this.map(function(){var a=this.offsetParent||c.body;while(a&&!cx.test(a.nodeName)&&f.css(a,"position")==="static")a=a.offsetParent;return a})}}),f.each({scrollLeft:"pageXOffset",scrollTop:"pageYOffset"},function(a,c){var d=/Y/.test(c);f.fn[a]=function(e){return f.access(this,function(a,e,g){var h=cy(a);if(g===b)return h?c in h?h[c]:f.support.boxModel&&h.document.documentElement[e]||h.document.body[e]:a[e];h?h.scrollTo(d?f(h).scrollLeft():g,d?g:f(h).scrollTop()):a[e]=g},a,e,arguments.length,null)}}),f.each({Height:"height",Width:"width"},function(a,c){var d="client"+a,e="scroll"+a,g="offset"+a;f.fn["inner"+a]=function(){var a=this[0];return a?a.style?parseFloat(f.css(a,c,"padding")):this[c]():null},f.fn["outer"+a]=function(a){var b=this[0];return b?b.style?parseFloat(f.css(b,c,a?"margin":"border")):this[c]():null},f.fn[c]=function(a){return f.access(this,function(a,c,h){var i,j,k,l;if(f.isWindow(a)){i=a.document,j=i.documentElement[d];return f.support.boxModel&&j||i.body&&i.body[d]||j}if(a.nodeType===9){i=a.documentElement;if(i[d]>=i[e])return i[d];return Math.max(a.body[e],i[e],a.body[g],i[g])}if(h===b){k=f.css(a,c),l=parseFloat(k);return f.isNumeric(l)?l:k}f(a).css(c,h)},c,a,arguments.length,null)}}),a.jQuery=a.$=f,typeof define=="function"&&define.amd&&define.amd.jQuery&&define("jquery",[],function(){return f})})(window); \ No newline at end of file diff --git a/framework/plugin/manifest.json b/framework/plugin/manifest.json new file mode 100644 index 0000000..5bf0654 --- /dev/null +++ b/framework/plugin/manifest.json @@ -0,0 +1,12 @@ +{ + "name": "Angry Birds Interface", + "version": "1", + "manifest_version": 2, + "content_scripts": [ + { + "matches": ["http://chrome.angrybirds.com/"], + "css": ["style.css"], + "js": ["jquery-1.7.2.min.js", "script.js"] + } + ] +} diff --git a/framework/plugin/script.js b/framework/plugin/script.js new file mode 100644 index 0000000..de3c379 --- /dev/null +++ b/framework/plugin/script.js @@ -0,0 +1,146 @@ +/***************************************************************************** + ** ANGRYBIRDS AI AGENT FRAMEWORK + ** Copyright (c) 2014,XiaoYu (Gary) Ge, Stephen Gould,Jochen Renz + ** Sahan Abeyasinghe, Jim Keys, Andrew Wang, Peng Zhang + ** All rights reserved. +**This work is licensed under the terms of the GNU Affero General Public License as published by the Free Software Foundation, either version 3 of the License, or (at your option) any later version. +**To view a copy of this license, visit http://www.gnu.org/licenses/ + *****************************************************************************/ +(function() { + var sock = null; + + function connect() { + if (sock !== null) { + return; + } + + console.log('Connecting...'); + sock = new WebSocket('ws://localhost:9000/'); + + sock.onopen = function() { + console.log('Connected!'); + }; + + sock.onclose = function(e) { + sock = null; + console.log('Connection closed (' + e.code + ')'); + reconnect(); + }; + + sock.onmessage = function(e) { + console.log('Message received: ' + e.data); + var j = JSON.parse(e.data); + + var id = j[0]; // message id + var type = j[1]; // message type (see handlers) + var data = j[2]; // message data (depends on handler) + + if (handlers[type]) { + send(id, handlers[type](data)); + } else { + console.log('Invalid message: ' + e.type); + } + }; + + sock.onerror = function(e) { + sock = null; + reconnect(); + }; + } + + function reconnect() { + setTimeout(connect, 1000); + } + + function send(id, data) { + var msg = JSON.stringify([id, data || {}]); + sock.send(msg); + } + + // define supported message handlers + var handlers = { + 'click': click, + 'drag': drag, + 'mousewheel': mousewheel, + 'screenshot': screenshot + }; + + // generate a mouse click event + function click(data) { + var x = data['x']; + var y = data['y']; + + var canvas = $('canvas'); + var offset = canvas.offset(); + x = offset.left + x; + y = offset.top + y; + + var evt = document.createEvent('MouseEvent'); + evt.initMouseEvent('mousedown', true, true, window, 1, 0, 0, x, y, false, false, false, false, 0, null); + canvas[0].dispatchEvent(evt); + + evt = document.createEvent('MouseEvent'); + evt.initMouseEvent('mouseup', true, true, window, 1, 0, 0, x, y, false, false, false, false, 0, null); + canvas[0].dispatchEvent(evt); + } + + // generate a mouse drag event + function drag(data) { + var x = data['x']; + var y = data['y']; + var dx = data['dx']; + var dy = data['dy']; + + var canvas = $('canvas'); + var offset = canvas.offset(); + x = offset.left + x; + y = offset.top + y; + dx = x + dx; + dy = y + dy; + + var evt = document.createEvent('MouseEvent'); + evt.initMouseEvent('mousedown', true, true, window, 1, 0, 0, x, y, false, false, false, false, 0, null); + canvas[0].dispatchEvent(evt); + + evt = document.createEvent('MouseEvent'); + evt.initMouseEvent('mousemove', true, true, window, 0, 0, 0, dx, dy, false, false, false, false, 0, null); + canvas[0].dispatchEvent(evt); + + evt = document.createEvent('MouseEvent'); + evt.initMouseEvent('mouseup', true, true, window, 1, 0, 0, dx, dy, false, false, false, false, 0, null); + canvas[0].dispatchEvent(evt); + } + + // generate a mouse wheel event + function mousewheel(data) { + var delta = data['delta']; + var canvas = $('canvas'); + //var evt = document.createEvent('WheelEvent'); + var eventInit = { deltaX: 0, deltaY: -delta*120 } + var evt = new WheelEvent("mousewheel", eventInit); + //evt.initWebKitWheelEvent(0, delta, window, 0, 0, 0, 0, false, false, false, false); + canvas[0].dispatchEvent(evt); + } + + // capture a screenshot and send it to the client + function screenshot(data) { + // get the original canvas + var srcCanvas = $('#playn-root canvas'); + + // create a new canvas + var canvas = $('').attr('height', srcCanvas.height() + 'px').attr('width', srcCanvas.width() + 'px')[0]; + var context = canvas.getContext('2d'); + + // copy the original canvas into the new canvas + srcCanvas = srcCanvas[0]; + context.drawImage(srcCanvas, 0, 0); + + // obtain a png of the canvas + var imageString = canvas.toDataURL(); + + return {'data': imageString, 'time': new Date().getTime()}; + } + + // wait for the client to connect + connect(); +})(); diff --git a/framework/plugin/style.css b/framework/plugin/style.css new file mode 100644 index 0000000..9ef3712 --- /dev/null +++ b/framework/plugin/style.css @@ -0,0 +1,14 @@ +.ai_button { + border: 1px solid black; + background-color: red; + cursor: pointer; +} + +.ai_button:hover { + background-color: yellow; +} + +.ai_mark { + position: absolute; + border: 1px solid black; +} diff --git a/framework/src/ab/demo/ClientNaiveAgent.java b/framework/src/ab/demo/ClientNaiveAgent.java new file mode 100644 index 0000000..e3bec30 --- /dev/null +++ b/framework/src/ab/demo/ClientNaiveAgent.java @@ -0,0 +1,362 @@ +/***************************************************************************** + ** ANGRYBIRDS AI AGENT FRAMEWORK + ** Copyright (c) 2014, XiaoYu (Gary) Ge, Stephen Gould, Jochen Renz + ** Sahan Abeyasinghe,Jim Keys, Andrew Wang, Peng Zhang + ** All rights reserved. +**This work is licensed under the terms of the GNU Affero General Public License as published by the Free Software Foundation, either version 3 of the License, or (at your option) any later version. +**To view a copy of this license, visit http://www.gnu.org/licenses/ + *****************************************************************************/ +package ab.demo; + +import java.awt.Point; +import java.awt.Rectangle; +import java.awt.image.BufferedImage; +import java.util.ArrayList; +import java.util.List; +import java.util.Random; + +import ab.demo.other.ClientActionRobot; +import ab.demo.other.ClientActionRobotJava; +import ab.planner.TrajectoryPlanner; +import ab.vision.ABObject; +import ab.vision.GameStateExtractor.GameState; +import ab.vision.Vision; +//Naive agent (server/client version) + +public class ClientNaiveAgent implements Runnable { + + + //Wrapper of the communicating messages + private ClientActionRobotJava ar; + public byte currentLevel = -1; + public int failedCounter = 0; + public int[] solved; + TrajectoryPlanner tp; + private int id = 28888; + private boolean firstShot; + private Point prevTarget; + private Random randomGenerator; + /** + * Constructor using the default IP + * */ + public ClientNaiveAgent() { + // the default ip is the localhost + ar = new ClientActionRobotJava("127.0.0.1"); + tp = new TrajectoryPlanner(); + randomGenerator = new Random(); + prevTarget = null; + firstShot = true; + + } + /** + * Constructor with a specified IP + * */ + public ClientNaiveAgent(String ip) { + ar = new ClientActionRobotJava(ip); + tp = new TrajectoryPlanner(); + randomGenerator = new Random(); + prevTarget = null; + firstShot = true; + + } + public ClientNaiveAgent(String ip, int id) + { + ar = new ClientActionRobotJava(ip); + tp = new TrajectoryPlanner(); + randomGenerator = new Random(); + prevTarget = null; + firstShot = true; + this.id = id; + } + public int getNextLevel() + { + int level = 0; + boolean unsolved = false; + //all the level have been solved, then get the first unsolved level + for (int i = 0; i < solved.length; i++) + { + if(solved[i] == 0 ) + { + unsolved = true; + level = i + 1; + if(level <= currentLevel && currentLevel < solved.length) + continue; + else + return level; + } + } + if(unsolved) + return level; + level = (currentLevel + 1)%solved.length; + if(level == 0) + level = solved.length; + return level; + } + /* + * Run the Client (Naive Agent) + */ + private void checkMyScore() + { + + int[] scores = ar.checkMyScore(); + System.out.println(" My score: "); + int level = 1; + for(int i: scores) + { + System.out.println(" level " + level + " " + i); + if (i > 0) + solved[level - 1] = 1; + level ++; + } + } + public void run() { + byte[] info = ar.configure(ClientActionRobot.intToByteArray(id)); + solved = new int[info[2]]; + + //load the initial level (default 1) + //Check my score + checkMyScore(); + + currentLevel = (byte)getNextLevel(); + ar.loadLevel(currentLevel); + //ar.loadLevel((byte)9); + GameState state; + while (true) { + + state = solve(); + //If the level is solved , go to the next level + if (state == GameState.WON) { + + ///System.out.println(" loading the level " + (currentLevel + 1) ); + checkMyScore(); + System.out.println(); + currentLevel = (byte)getNextLevel(); + ar.loadLevel(currentLevel); + //ar.loadLevel((byte)9); + //display the global best scores + int[] scores = ar.checkScore(); + System.out.println("Global best score: "); + for (int i = 0; i < scores.length ; i ++) + { + + System.out.print( " level " + (i+1) + ": " + scores[i]); + } + System.out.println(); + + // make a new trajectory planner whenever a new level is entered + tp = new TrajectoryPlanner(); + + // first shot on this level, try high shot first + firstShot = true; + + } else + //If lost, then restart the level + if (state == GameState.LOST) { + failedCounter++; + if(failedCounter > 3) + { + failedCounter = 0; + currentLevel = (byte)getNextLevel(); + ar.loadLevel(currentLevel); + + //ar.loadLevel((byte)9); + } + else + { + System.out.println("restart"); + ar.restartLevel(); + } + + } else + if (state == GameState.LEVEL_SELECTION) { + System.out.println("unexpected level selection page, go to the last current level : " + + currentLevel); + ar.loadLevel(currentLevel); + } else if (state == GameState.MAIN_MENU) { + System.out + .println("unexpected main menu page, reload the level : " + + currentLevel); + ar.loadLevel(currentLevel); + } else if (state == GameState.EPISODE_MENU) { + System.out.println("unexpected episode menu page, reload the level: " + + currentLevel); + ar.loadLevel(currentLevel); + } + + } + + } + + + /** + * Solve a particular level by shooting birds directly to pigs + * @return GameState: the game state after shots. + */ + public GameState solve() + + { + + // capture Image + BufferedImage screenshot = ar.doScreenShot(); + + // process image + Vision vision = new Vision(screenshot); + + Rectangle sling = vision.findSlingshotMBR(); + + //If the level is loaded (in PLAYING state)but no slingshot detected, then the agent will request to fully zoom out. + while (sling == null && ar.checkState() == GameState.PLAYING) { + System.out.println("no slingshot detected. Please remove pop up or zoom out"); + + try { + Thread.sleep(1000); + } catch (InterruptedException e) { + + e.printStackTrace(); + } + ar.fullyZoomOut(); + screenshot = ar.doScreenShot(); + vision = new Vision(screenshot); + sling = vision.findSlingshotMBR(); + } + + + // get all the pigs + List pigs = vision.findPigsMBR(); + + GameState state = ar.checkState(); + // if there is a sling, then play, otherwise skip. + if (sling != null) { + + + //If there are pigs, we pick up a pig randomly and shoot it. + if (!pigs.isEmpty()) { + Point releasePoint = null; + // random pick up a pig + ABObject pig = pigs.get(randomGenerator.nextInt(pigs.size())); + + Point _tpt = pig.getCenter(); + + + // if the target is very close to before, randomly choose a + // point near it + if (prevTarget != null && distance(prevTarget, _tpt) < 10) { + double _angle = randomGenerator.nextDouble() * Math.PI * 2; + _tpt.x = _tpt.x + (int) (Math.cos(_angle) * 10); + _tpt.y = _tpt.y + (int) (Math.sin(_angle) * 10); + System.out.println("Randomly changing to " + _tpt); + } + + prevTarget = new Point(_tpt.x, _tpt.y); + + // estimate the trajectory + ArrayList pts = tp.estimateLaunchPoint(sling, _tpt); + + // do a high shot when entering a level to find an accurate velocity + if (firstShot && pts.size() > 1) { + releasePoint = pts.get(1); + } else + if (pts.size() == 1) + releasePoint = pts.get(0); + else + if(pts.size() == 2) + { + // System.out.println("first shot " + firstShot); + // randomly choose between the trajectories, with a 1 in + // 6 chance of choosing the high one + if (randomGenerator.nextInt(6) == 0) + releasePoint = pts.get(1); + else + releasePoint = pts.get(0); + } + Point refPoint = tp.getReferencePoint(sling); + + // Get the release point from the trajectory prediction module + int tapTime = 0; + if (releasePoint != null) { + double releaseAngle = tp.getReleaseAngle(sling, + releasePoint); + System.out.println("Release Point: " + releasePoint); + System.out.println("Release Angle: " + + Math.toDegrees(releaseAngle)); + int tapInterval = 0; + switch (ar.getBirdTypeOnSling()) + { + + case RedBird: + tapInterval = 0; break; // start of trajectory + case YellowBird: + tapInterval = 65 + randomGenerator.nextInt(25);break; // 65-90% of the way + case WhiteBird: + tapInterval = 50 + randomGenerator.nextInt(20);break; // 50-70% of the way + case BlackBird: + tapInterval = 0;break; // 70-90% of the way + case BlueBird: + tapInterval = 65 + randomGenerator.nextInt(20);break; // 65-85% of the way + default: + tapInterval = 60; + } + + tapTime = tp.getTapTime(sling, releasePoint, _tpt, tapInterval); + + } else + { + System.err.println("No Release Point Found"); + return ar.checkState(); + } + + + // check whether the slingshot is changed. the change of the slingshot indicates a change in the scale. + ar.fullyZoomOut(); + screenshot = ar.doScreenShot(); + vision = new Vision(screenshot); + Rectangle _sling = vision.findSlingshotMBR(); + if(_sling != null) + { + double scale_diff = Math.pow((sling.width - _sling.width),2) + Math.pow((sling.height - _sling.height),2); + if(scale_diff < 25) + { + int dx = (int) releasePoint.getX() - refPoint.x; + int dy = (int) releasePoint.getY() - refPoint.y; + if(dx < 0) + { + long timer = System.currentTimeMillis(); + ar.shoot(refPoint.x, refPoint.y, dx, dy, 0, tapTime, false); + System.out.println("It takes " + (System.currentTimeMillis() - timer) + " ms to take a shot"); + state = ar.checkState(); + if ( state == GameState.PLAYING ) + { + screenshot = ar.doScreenShot(); + vision = new Vision(screenshot); + List traj = vision.findTrajPoints(); + tp.adjustTrajectory(traj, sling, releasePoint); + firstShot = false; + } + } + } + else + System.out.println("Scale is changed, can not execute the shot, will re-segement the image"); + } + else + System.out.println("no sling detected, can not execute the shot, will re-segement the image"); + + } + } + return state; + } + + private double distance(Point p1, Point p2) { + return Math.sqrt((double) ((p1.x - p2.x) * (p1.x - p2.x) + (p1.y - p2.y)* (p1.y - p2.y))); + } + + public static void main(String args[]) { + + ClientNaiveAgent na; + if(args.length > 0) + na = new ClientNaiveAgent(args[0]); + else + na = new ClientNaiveAgent(); + na.run(); + + } +} diff --git a/framework/src/ab/demo/LoadLevelAgent.java b/framework/src/ab/demo/LoadLevelAgent.java new file mode 100644 index 0000000..b0a9478 --- /dev/null +++ b/framework/src/ab/demo/LoadLevelAgent.java @@ -0,0 +1,60 @@ +/* + * Modified by Angry-HEX Team + * Commented because it no longer works due to changes in the framework + * Removed Auto-generated TODOs + */ +/******************************************************************************* + * Angry-HEX - an artificial player for Angry Birds based on declarative knowledge bases + * Copyright (C) 2012-2015 Francesco Calimeri, Michael Fink, Stefano Germano, Andreas Humenberger, Giovambattista Ianni, Christoph Redl, Daria Stepanova, Andrea Tucci, Anton Wimmer. + * + * This file is part of Angry-HEX. + * + * Angry-HEX is free software: you can redistribute it and/or modify it under the terms of the GNU Affero General Public License as published by the Free Software Foundation, either version 3 of the License, or (at your option) any later version. + * + * Angry-HEX is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU Affero General Public License for more details. + * + * You should have received a copy of the GNU Affero General Public License along with this program. If not, see . + *******************************************************************************/ +//package ab.demo; +// +//import java.awt.image.BufferedImage; +//import java.io.File; +//import java.io.IOException; +// +//import javax.imageio.ImageIO; +// +//import ab.demo.other.ActionRobot; +//import ab.vision.TestVision; +// +//public class LoadLevelAgent { +//public static void main(String args[]) +//{ +// ActionRobot ar = new ActionRobot(); +// Thread thre = new Thread(new TestVision()); +// thre.start(); +// //Start Load Level; +// for (int i = 1; i < 22; i++) +// { +// System.out.println("load level " + i); +// ar.loadLevel(i); +// System.out.println("save screenshot "); +// BufferedImage image = ActionRobot.doScreenShot(); +// try { +// ImageIO.write(image, "png", new File("level_" + i + ".png")); +// } catch (IOException e) { +// e.printStackTrace(); +// } +// int[][] meta = TestVision.computeMetaInformation(image); +// image = TestVision.analyseScreenShot(image); +// try { +// ImageIO.write(image, "png", new File("level_seg_" + i + ".png")); +// } catch (IOException e) { +// e.printStackTrace(); +// } +// +// } +// System.out.println("Finished"); +// System.exit(0); +// +//} +//} diff --git a/framework/src/ab/demo/MainEntry.java b/framework/src/ab/demo/MainEntry.java new file mode 100644 index 0000000..26da65e --- /dev/null +++ b/framework/src/ab/demo/MainEntry.java @@ -0,0 +1,144 @@ +package ab.demo; + +import ab.planner.abTrajectory; +import ab.utils.GameImageRecorder; +import ab.vision.ShowSeg; + +/***************************************************************************** + ** ANGRYBIRDS AI AGENT FRAMEWORK + ** Copyright (c) 2014, XiaoYu (Gary) Ge, Jochen Renz,Stephen Gould, + ** Sahan Abeyasinghe,Jim Keys, Andrew Wang, Peng Zhang + ** All rights reserved. +**This work is licensed under the terms of the GNU Affero General Public License as published by the Free Software Foundation, either version 3 of the License, or (at your option) any later version. +**To view a copy of this license, visit http://www.gnu.org/licenses/ + *****************************************************************************/ + +public class MainEntry { + // the entry of the software. + public static void main(String args[]) + { + String command = ""; + if(args.length > 0) + { + command = args[0]; + if (args.length == 1 && command.equalsIgnoreCase("-na")) + { + NaiveAgent na = new NaiveAgent(); + na.run(); + } + else + if(command.equalsIgnoreCase("-cshoot")) + { + ShootingAgent.shoot(args, true); + } + else + if(command.equalsIgnoreCase("-pshoot")) + { + ShootingAgent.shoot(args, false); + } + + else + if (args.length == 1 && command.equalsIgnoreCase("-nasc")) + { + ClientNaiveAgent na = new ClientNaiveAgent(); + na.run(); + } + else + if (args.length == 2 && command.equalsIgnoreCase("-nasc")) + { + ClientNaiveAgent na = new ClientNaiveAgent(args[1]); + na.run(); + } + else + if(args.length == 3 && command.equalsIgnoreCase("-nasc")) + { + int id = Integer.parseInt(args[2]); + ClientNaiveAgent na = new ClientNaiveAgent(args[1],id); + na.run(); + } + + else + if (args.length == 2 && command.equalsIgnoreCase("-na")) + { + NaiveAgent na = new NaiveAgent(); + if(! (args[1].equalsIgnoreCase("-showMBR") || args[1].equals("-showReal"))) + { + int initialLevel = 1; + try{ + initialLevel = Integer.parseInt(args[1]); + } + catch (NumberFormatException e) + { + System.out.println("wrong level number, will use the default one"); + } + na.currentLevel = initialLevel; + na.run(); + } + else + { + Thread nathre = new Thread(na); + nathre.start(); + if(args[1].equalsIgnoreCase("-showReal")) + ShowSeg.useRealshape = true; + Thread thre = new Thread(new ShowSeg()); + thre.start(); + } + } + else if (args.length == 3 && (args[2].equalsIgnoreCase("-showMBR") || args[2].equalsIgnoreCase("-showReal")) && command.equalsIgnoreCase("-na")) + { + NaiveAgent na = new NaiveAgent(); + int initialLevel = 1; + try{ + initialLevel = Integer.parseInt(args[1]); + } + catch (NumberFormatException e) + { + System.out.println("wrong level number, will use the default one"); + } + na.currentLevel = initialLevel; + Thread nathre = new Thread(na); + nathre.start(); + if(args[2].equalsIgnoreCase("-showReal")) + ShowSeg.useRealshape = true; + Thread thre = new Thread(new ShowSeg()); + thre.start(); + + } + + else if(command.equalsIgnoreCase("-showMBR")) + { + ShowSeg showseg = new ShowSeg(); + showseg.run(); + } + else if (command.equalsIgnoreCase("-showReal")) + { + ShowSeg showseg = new ShowSeg(); + ShowSeg.useRealshape = true; + showseg.run(); + } + else if (command.equalsIgnoreCase("-showTraj")) + { + String[] param = {}; + abTrajectory.main(param); + } + else if (command.equalsIgnoreCase("-recordImg")) + { + + if(args.length < 2) + System.out.println("please specify the directory"); + else + { + String[] param = {args[1]}; + + GameImageRecorder.main(param); + } + } + else + System.out.println("Please input the correct command"); + } + else + System.out.println("Please input the correct command"); + + + } +} diff --git a/framework/src/ab/demo/NaiveAgent.java b/framework/src/ab/demo/NaiveAgent.java new file mode 100644 index 0000000..54c4c47 --- /dev/null +++ b/framework/src/ab/demo/NaiveAgent.java @@ -0,0 +1,281 @@ +/***************************************************************************** + ** ANGRYBIRDS AI AGENT FRAMEWORK + ** Copyright (c) 2014, XiaoYu (Gary) Ge, Stephen Gould, Jochen Renz + ** Sahan Abeyasinghe,Jim Keys, Andrew Wang, Peng Zhang + ** All rights reserved. +**This work is licensed under the terms of the GNU Affero General Public License as published by the Free Software Foundation, either version 3 of the License, or (at your option) any later version. +**To view a copy of this license, visit http://www.gnu.org/licenses/ + *****************************************************************************/ +package ab.demo; + +import java.awt.Point; +import java.awt.Rectangle; +import java.awt.image.BufferedImage; +import java.util.ArrayList; +import java.util.LinkedHashMap; +import java.util.List; +import java.util.Map; +import java.util.Random; + +import ab.demo.other.ActionRobot; +import ab.demo.other.Shot; +import ab.planner.TrajectoryPlanner; +import ab.utils.StateUtil; +import ab.vision.ABObject; +import ab.vision.GameStateExtractor.GameState; +import ab.vision.Vision; + +public class NaiveAgent implements Runnable { + + private ActionRobot aRobot; + private Random randomGenerator; + public int currentLevel = 1; + public static int time_limit = 12; + private Map scores = new LinkedHashMap(); + TrajectoryPlanner tp; + private boolean firstShot; + private Point prevTarget; + // a standalone implementation of the Naive Agent + public NaiveAgent() { + + aRobot = new ActionRobot(); + tp = new TrajectoryPlanner(); + prevTarget = null; + firstShot = true; + randomGenerator = new Random(); + // --- go to the Poached Eggs episode level selection page --- + ActionRobot.GoFromMainMenuToLevelSelection(); + + } + + + // run the client + public void run() { + + aRobot.loadLevel(currentLevel); + while (true) { + GameState state = solve(); + if (state == GameState.WON) { + try { + Thread.sleep(3000); + } catch (InterruptedException e) { + e.printStackTrace(); + } + int score = StateUtil.getScore(ActionRobot.proxy); + if(!scores.containsKey(currentLevel)) + scores.put(currentLevel, score); + else + { + if(scores.get(currentLevel) < score) + scores.put(currentLevel, score); + } + int totalScore = 0; + for(Integer key: scores.keySet()){ + + totalScore += scores.get(key); + System.out.println(" Level " + key + + " Score: " + scores.get(key) + " "); + } + System.out.println("Total Score: " + totalScore); + aRobot.loadLevel(++currentLevel); + // make a new trajectory planner whenever a new level is entered + tp = new TrajectoryPlanner(); + + // first shot on this level, try high shot first + firstShot = true; + } else if (state == GameState.LOST) { + System.out.println("Restart"); + aRobot.restartLevel(); + } else if (state == GameState.LEVEL_SELECTION) { + System.out + .println("Unexpected level selection page, go to the last current level : " + + currentLevel); + aRobot.loadLevel(currentLevel); + } else if (state == GameState.MAIN_MENU) { + System.out + .println("Unexpected main menu page, go to the last current level : " + + currentLevel); + ActionRobot.GoFromMainMenuToLevelSelection(); + aRobot.loadLevel(currentLevel); + } else if (state == GameState.EPISODE_MENU) { + System.out + .println("Unexpected episode menu page, go to the last current level : " + + currentLevel); + ActionRobot.GoFromMainMenuToLevelSelection(); + aRobot.loadLevel(currentLevel); + } + + } + + } + + private double distance(Point p1, Point p2) { + return Math + .sqrt((double) ((p1.x - p2.x) * (p1.x - p2.x) + (p1.y - p2.y) + * (p1.y - p2.y))); + } + + public GameState solve() + { + + // capture Image + BufferedImage screenshot = ActionRobot.doScreenShot(); + + // process image + Vision vision = new Vision(screenshot); + + // find the slingshot + Rectangle sling = vision.findSlingshotMBR(); + + // confirm the slingshot + while (sling == null && aRobot.getState() == GameState.PLAYING) { + System.out + .println("No slingshot detected. Please remove pop up or zoom out"); + ActionRobot.fullyZoomOut(); + screenshot = ActionRobot.doScreenShot(); + vision = new Vision(screenshot); + sling = vision.findSlingshotMBR(); + } + // get all the pigs + List pigs = vision.findPigsMBR(); + + GameState state = aRobot.getState(); + + // if there is a sling, then play, otherwise just skip. + if (sling != null) { + + if (!pigs.isEmpty()) { + + Point releasePoint = null; + Shot shot = new Shot(); + int dx,dy; + { + // random pick up a pig + ABObject pig = pigs.get(randomGenerator.nextInt(pigs.size())); + + Point _tpt = pig.getCenter();// if the target is very close to before, randomly choose a + // point near it + if (prevTarget != null && distance(prevTarget, _tpt) < 10) { + double _angle = randomGenerator.nextDouble() * Math.PI * 2; + _tpt.x = _tpt.x + (int) (Math.cos(_angle) * 10); + _tpt.y = _tpt.y + (int) (Math.sin(_angle) * 10); + System.out.println("Randomly changing to " + _tpt); + } + + prevTarget = new Point(_tpt.x, _tpt.y); + + // estimate the trajectory + ArrayList pts = tp.estimateLaunchPoint(sling, _tpt); + + // do a high shot when entering a level to find an accurate velocity + if (firstShot && pts.size() > 1) + { + releasePoint = pts.get(1); + } + else if (pts.size() == 1) + releasePoint = pts.get(0); + else if (pts.size() == 2) + { + // randomly choose between the trajectories, with a 1 in + // 6 chance of choosing the high one + if (randomGenerator.nextInt(6) == 0) + releasePoint = pts.get(1); + else + releasePoint = pts.get(0); + } + else + if(pts.isEmpty()) + { + System.out.println("No release point found for the target"); + System.out.println("Try a shot with 45 degree"); + releasePoint = tp.findReleasePoint(sling, Math.PI/4); + } + + // Get the reference point + Point refPoint = tp.getReferencePoint(sling); + + + //Calculate the tapping time according the bird type + if (releasePoint != null) { + double releaseAngle = tp.getReleaseAngle(sling, + releasePoint); + System.out.println("Release Point: " + releasePoint); + System.out.println("Release Angle: " + + Math.toDegrees(releaseAngle)); + int tapInterval = 0; + switch (aRobot.getBirdTypeOnSling()) + { + + case RedBird: + tapInterval = 0; break; // start of trajectory + case YellowBird: + tapInterval = 65 + randomGenerator.nextInt(25);break; // 65-90% of the way + case WhiteBird: + tapInterval = 70 + randomGenerator.nextInt(20);break; // 70-90% of the way + case BlackBird: + tapInterval = 70 + randomGenerator.nextInt(20);break; // 70-90% of the way + case BlueBird: + tapInterval = 65 + randomGenerator.nextInt(20);break; // 65-85% of the way + default: + tapInterval = 60; + } + + int tapTime = tp.getTapTime(sling, releasePoint, _tpt, tapInterval); + dx = (int)releasePoint.getX() - refPoint.x; + dy = (int)releasePoint.getY() - refPoint.y; + shot = new Shot(refPoint.x, refPoint.y, dx, dy, 0, tapTime); + } + else + { + System.err.println("No Release Point Found"); + return state; + } + } + + // check whether the slingshot is changed. the change of the slingshot indicates a change in the scale. + { + ActionRobot.fullyZoomOut(); + screenshot = ActionRobot.doScreenShot(); + vision = new Vision(screenshot); + Rectangle _sling = vision.findSlingshotMBR(); + if(_sling != null) + { + double scale_diff = Math.pow((sling.width - _sling.width),2) + Math.pow((sling.height - _sling.height),2); + if(scale_diff < 25) + { + if(dx < 0) + { + aRobot.cshoot(shot); + state = aRobot.getState(); + if ( state == GameState.PLAYING ) + { + screenshot = ActionRobot.doScreenShot(); + vision = new Vision(screenshot); + List traj = vision.findTrajPoints(); + tp.adjustTrajectory(traj, sling, releasePoint); + firstShot = false; + } + } + } + else + System.out.println("Scale is changed, can not execute the shot, will re-segement the image"); + } + else + System.out.println("no sling detected, can not execute the shot, will re-segement the image"); + } + + } + + } + return state; + } + + public static void main(String args[]) { + + NaiveAgent na = new NaiveAgent(); + if (args.length > 0) + na.currentLevel = Integer.parseInt(args[0]); + na.run(); + + } +} diff --git a/framework/src/ab/demo/ShootingAgent.java b/framework/src/ab/demo/ShootingAgent.java new file mode 100644 index 0000000..ef4e075 --- /dev/null +++ b/framework/src/ab/demo/ShootingAgent.java @@ -0,0 +1,76 @@ +/* + * Modified by Angry-HEX Team + * Removed Auto-generated TODOs + */ +/******************************************************************************* + * Angry-HEX - an artificial player for Angry Birds based on declarative knowledge bases + * Copyright (C) 2012-2015 Francesco Calimeri, Michael Fink, Stefano Germano, Andreas Humenberger, Giovambattista Ianni, Christoph Redl, Daria Stepanova, Andrea Tucci, Anton Wimmer. + * + * This file is part of Angry-HEX. + * + * Angry-HEX is free software: you can redistribute it and/or modify it under the terms of the GNU Affero General Public License as published by the Free Software Foundation, either version 3 of the License, or (at your option) any later version. + * + * Angry-HEX is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU Affero General Public License for more details. + * + * You should have received a copy of the GNU Affero General Public License along with this program. If not, see . + *******************************************************************************/ +package ab.demo; + +import java.awt.Point; +import java.awt.Rectangle; + +import ab.demo.other.ActionRobot; +import ab.demo.other.Shot; +import ab.planner.TrajectoryPlanner; +import ab.vision.Vision; + +public class ShootingAgent { + + + public static void shoot(String[] args, boolean cshoot) + { + ActionRobot ar = new ActionRobot(); + TrajectoryPlanner tp = new TrajectoryPlanner(); + ActionRobot.fullyZoomOut(); + Vision vision = new Vision(ActionRobot.doScreenShot()); + Rectangle slingshot = vision.findSlingshotMBR(); + while(slingshot == null) + { + try { + Thread.sleep(1000); + } catch (InterruptedException e) { + e.printStackTrace(); + } + System.out.println("no slingshot detected. Please remove pop up or zoom out"); + vision = new Vision(ActionRobot.doScreenShot()); + slingshot = vision.findSlingshotMBR(); + } + Point refPoint = tp.getReferencePoint(slingshot); + int x = Integer.parseInt(args[1]); + int y = Integer.parseInt(args[2]); + int tap = 0; + if(args.length > 3) + tap = Integer.parseInt(args[3]); + + Shot shot = null; + if(cshoot) + shot = new Shot( refPoint.x, refPoint.y, -x, y,0,tap); + else + { + int r = x; + double theta = y / 100; + int dx = -(int) (r * Math.cos(Math.toRadians(theta))); + int dy = (int) (r * Math.sin(Math.toRadians(theta))); + shot = new Shot( refPoint.x, refPoint.y, dx, dy,0,tap); + } + vision = new Vision(ActionRobot.doScreenShot()); + Rectangle _slingshot = vision.findSlingshotMBR(); + if(!slingshot.equals(_slingshot)) + System.out.println("the scale is changed, the shot might not be executed properly."); + ar.cshoot(shot); + System.exit(0); + } + + + +} diff --git a/framework/src/ab/demo/abClientExample.cpp b/framework/src/ab/demo/abClientExample.cpp new file mode 100644 index 0000000..51b3f31 --- /dev/null +++ b/framework/src/ab/demo/abClientExample.cpp @@ -0,0 +1,162 @@ +/***************************************************************************** +** ANGRYBIRDS AI AGENT FRAMEWORK +** Copyright (c) 2014, XiaoYu (Gary) Ge, Jochen Renz, Stephen Gould, +** Sahan Abeyasinghe, Jim Keys, Andrew Wang, +** Peng Zhang +** All rights reserved. +** +** This work is licensed under the Creative Commons Attribution-NonCommercial-ShareAlike 3.0 Unported License. +** To view a copy of this license, visit http://creativecommons.org/licenses/by-nc-sa/3.0/ +** or send a letter to Creative Commons, 444 Castro Street, Suite 900, Mountain View, California, 94041, USA. +*****************************************************************************/ + +#include +#include +#include +#include +#include +#include +#include +#include + +#define _BSD_SOCKLEN_T_ +#include + +#include +#include +#include +#include +#include + +using namespace std; + +// Constants ----------------------------------------------------------------- + +#define DEFAULT_HOST "localhost" +#define DEFAULT_PORT 2004 + +#define CMD_SCREENSHOT 0x0B + +// initClientComms ----------------------------------------------------------- + +int initClientComms(uint16_t port, const string& host) +{ + int client_socket = socket(PF_INET, SOCK_STREAM, 0); + if (client_socket < 0) { + cerr << "COMMS: error initializing client socket (socket)" << endl; + exit(-1); + } + + struct sockaddr_in server_name; + struct hostent *hostinfo; + server_name.sin_family = AF_INET; + server_name.sin_port = htons(port); + + hostinfo = gethostbyname(host.c_str()); + if (hostinfo == NULL) { + cerr << "COMMS: unknown host " << host.c_str() << endl; + exit(-1); + } + server_name.sin_addr = *(struct in_addr *)hostinfo->h_addr; + + if (connect(client_socket, (struct sockaddr *)&server_name, sizeof(server_name)) < 0) { + cerr << "COMMS: error connecting to server" << endl; + exit(-1); + } + + return client_socket; +} + +// getScreenshot ------------------------------------------------------------- + +bool getScreenshot(int socket) +{ + // send screenshot message + unsigned char cmd = CMD_SCREENSHOT; + if (write(socket, &cmd, 1) < 0) { + cerr << "COMMS: error sending connect message" << endl; + return false; + } + + // wait for response + struct timeval timeout; + timeout.tv_sec = (int)5; + timeout.tv_usec = 0; + + if (setsockopt(socket, SOL_SOCKET, SO_RCVTIMEO, (char *)&timeout, sizeof(struct timeval)) < 0) { + cerr << "COMMS: error waiting for server to respond" << endl; + exit(-1); + } + + // allocate space for the message + const int nBytes = 1024; + unsigned char *buffer = new unsigned char[nBytes]; + string message; + + // receive the message + while (true) { + int bytesRead = read(socket, buffer, nBytes); + + if (bytesRead < 0) { + cerr << "COMMS: error receiving message after " << message.size() << " bytes" << endl; + delete[] buffer; + return false; + } + + message.insert(message.size(), (const char *)&buffer[0], bytesRead); + if (bytesRead < nBytes) + break; + } + + delete[] buffer; + + cerr << "...read " << message.size() << endl; + assert(message.size() > 8); + + // decode the message + uint32_t n; + memcpy(&n, &message[0], sizeof(uint32_t)); + const int width = (int)ntohl(n); + memcpy(&n, &message[4], sizeof(uint32_t)); + const int height = (int)ntohl(n); + + cerr << "...image is " << width << "-by-" << height << endl; + + + return true; +} + +// Main ---------------------------------------------------------------------- + +int main(int argc, char *argv[]) +{ + string host = DEFAULT_HOST; + uint16_t port = DEFAULT_PORT; + + // process command line arguments + if (argc > 2) { + cerr << "USAGE: " << argv[0] << " [[host:]port]" << endl; + return 0; + } + + if (argc == 2) { + string hostString(argv[1]); + size_t indexOfColon = hostString.find(':', 0); + if(indexOfColon == string::npos) { + port = atoi(argv[2]); + } else { + host = hostString.substr(0, indexOfColon); + port = atoi(hostString.substr(indexOfColon + 1, hostString.size()).c_str()); + } + } + + // initialize client communications + cerr << "CLIENT: connecting to server " << host << ":" << port << endl; + const int client_socket = initClientComms(port, host); + + // request a screenshot + cerr << "CLIENT: requesting a screenshot" << endl; + getScreenshot(client_socket); + + return 0; +} diff --git a/framework/src/ab/demo/abTrajectory.java b/framework/src/ab/demo/abTrajectory.java new file mode 100644 index 0000000..bf45f8a --- /dev/null +++ b/framework/src/ab/demo/abTrajectory.java @@ -0,0 +1,150 @@ +/***************************************************************************** +** ANGRYBIRDS AI AGENT FRAMEWORK +** Copyright (c) 2013, XiaoYu (Gary) Ge, Jochen Renz, Stephen Gould, +** Sahan Abeyasinghe,Jim Keys, Kar-Wai Lim, Zain Mubashir, Andrew Wang, Peng Zhang +** All rights reserved. +**This work is licensed under the Creative Commons Attribution-NonCommercial-ShareAlike 3.0 Unported License. +**To view a copy of this license, visit http://creativecommons.org/licenses/by-nc-sa/3.0/ +*or send a letter to Creative Commons, 444 Castro Street, Suite 900, Mountain View, California, 94041, USA. +*****************************************************************************/ +/* + * Modified by Angry-HEX Team + * Commented because it no longer works due to changes in the framework + */ +/******************************************************************************* + * Angry-HEX - an artificial player for Angry Birds based on declarative knowledge bases + * Copyright (C) 2012-2015 Francesco Calimeri, Michael Fink, Stefano Germano, Andreas Humenberger, Giovambattista Ianni, Christoph Redl, Daria Stepanova, Andrea Tucci, Anton Wimmer. + * + * This file is part of Angry-HEX. + * + * Angry-HEX is free software: you can redistribute it and/or modify it under the terms of the GNU Affero General Public License as published by the Free Software Foundation, either version 3 of the License, or (at your option) any later version. + * + * Angry-HEX is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU Affero General Public License for more details. + * + * You should have received a copy of the GNU Affero General Public License along with this program. If not, see . + *******************************************************************************/ +//package ab.demo; +// +//import java.awt.Color; +//import java.awt.Rectangle; +//import java.awt.image.BufferedImage; +//import java.io.ByteArrayInputStream; +//import java.io.IOException; +//import java.net.UnknownHostException; +//import java.util.List; +// +//import javax.imageio.ImageIO; +// +//import ab.planner.TrajectoryPlanner; +//import ab.server.Proxy; +//import ab.server.proxy.message.ProxyScreenshotMessage; +//import ab.utils.ShowDebuggingImage; +//import ab.vision.GameStateExtractor; +//import ab.vision.Vision; +//import ab.vision.VisionUtils; +//// User Interface of the trajectory module +//public class abTrajectory { +// private static Proxy server; +// +// public abTrajectory() { +// if (server == null) { +// try { +// server = new Proxy(9000) { +// @Override +// public void onOpen() { +// System.out.println("Client connected"); +// } +// +// @Override +// public void onClose() { +// System.out.println("Client disconnected"); +// } +// }; +// server.start(); +// +// System.out.println("Server started on port: " + server.getPort()); +// +// System.out.println("Waiting for client to connect"); +// server.waitForClients(1); +// +// } catch (UnknownHostException e) { +// e.printStackTrace(); +// } +// } +// } +// +// public BufferedImage doScreenShot() { +// byte[] imageBytes = server.send(new ProxyScreenshotMessage()); +// BufferedImage image = null; +// try { +// image = ImageIO.read(new ByteArrayInputStream(imageBytes)); +// } catch (IOException e) { +// // do something +// } +// +// return image; +// } +// +// public static void main(String args[]) { +// abTrajectory ar = new abTrajectory(); +// +// ShowDebuggingImage frame = null; +// GameStateExtractor gameStateExtractor = new GameStateExtractor(); +// TrajectoryPlanner trajectory = new TrajectoryPlanner(); +// +// while (true) { +// // capture image +// BufferedImage screenshot = ar.doScreenShot(); +// final int nHeight = screenshot.getHeight(); +// final int nWidth = screenshot.getWidth(); +// +// System.out.println("captured image of size " + nWidth + "-by-" + nHeight); +// +// // extract game state +// GameStateExtractor.GameState state = gameStateExtractor.getGameState(screenshot); +// if (state != GameStateExtractor.GameState.PLAYING) { +// continue; +// } +// +// // process image +// Vision vision = new Vision(screenshot); +// List pigs = vision.findPigs(); +// List redBirds = vision.findRedBirds(); +// +// Rectangle sling = vision.findSlingshot(); +// if (sling == null) { +// System.out.println("...could not find the slingshot"); +// continue; +// } +// System.out.println("...found " + pigs.size() + " pigs and " + redBirds.size() + " birds"); +// System.out.println("...found slingshot at " + sling.toString()); +// +// // convert screenshot to grey scale and draw bounding boxes +// screenshot = VisionUtils.convert2grey(screenshot); +// VisionUtils.drawBoundingBoxes(screenshot, pigs, Color.GREEN); +// VisionUtils.drawBoundingBoxes(screenshot, redBirds, Color.PINK); +// VisionUtils.drawBoundingBox(screenshot, sling, Color.ORANGE); +// +// // find active bird +// Rectangle activeBird = trajectory.findActiveBird(redBirds); +// if (activeBird == null) { +// System.out.println("...could not find active bird"); +// continue; +// } +// +// trajectory.plotTrajectory(screenshot, sling, activeBird); +// +// // show image +// if (frame == null) { +// frame = new ShowDebuggingImage("trajectory", screenshot); +// } else { +// frame.refresh(screenshot); +// } +// +// try { +// Thread.sleep(100); +// } catch (InterruptedException e) { +// } +// } +// } +//} diff --git a/framework/src/ab/demo/other/ActionRobot.java b/framework/src/ab/demo/other/ActionRobot.java new file mode 100644 index 0000000..1210df4 --- /dev/null +++ b/framework/src/ab/demo/other/ActionRobot.java @@ -0,0 +1,298 @@ +/***************************************************************************** + ** ANGRYBIRDS AI AGENT FRAMEWORK + ** Copyright (c) 2014,XiaoYu (Gary) Ge, Stephen Gould,Jochen Renz + ** Sahan Abeyasinghe, Jim Keys, Andrew Wang, Peng Zhang + ** All rights reserved. +**This work is licensed under the terms of the GNU Affero General Public License as published by the Free Software Foundation, either version 3 of the License, or (at your option) any later version. +**To view a copy of this license, visit http://www.gnu.org/licenses/ + *****************************************************************************/ +/* + * Modified by Angry-HEX Team + */ +/******************************************************************************* + * Angry-HEX - an artificial player for Angry Birds based on declarative knowledge bases + * Copyright (C) 2012-2015 Francesco Calimeri, Michael Fink, Stefano Germano, Andreas Humenberger, Giovambattista Ianni, Christoph Redl, Daria Stepanova, Andrea Tucci, Anton Wimmer. + * + * This file is part of Angry-HEX. + * + * Angry-HEX is free software: you can redistribute it and/or modify it under the terms of the GNU Affero General Public License as published by the Free Software Foundation, either version 3 of the License, or (at your option) any later version. + * + * Angry-HEX is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU Affero General Public License for more details. + * + * You should have received a copy of the GNU Affero General Public License along with this program. If not, see . + *******************************************************************************/ +package ab.demo.other; + +import java.awt.Rectangle; +import java.awt.image.BufferedImage; +import java.io.ByteArrayInputStream; +import java.io.IOException; +import java.net.UnknownHostException; +import java.util.Collections; +import java.util.Comparator; +import java.util.LinkedList; +import java.util.List; + +import javax.imageio.ImageIO; + +import ab.server.Proxy; +import ab.server.proxy.message.ProxyClickMessage; +import ab.server.proxy.message.ProxyDragMessage; +import ab.server.proxy.message.ProxyMouseWheelMessage; +import ab.server.proxy.message.ProxyScreenshotMessage; +import ab.utils.StateUtil; +import ab.vision.ABObject; +import ab.vision.ABType; +import ab.vision.GameStateExtractor.GameState; +import ab.vision.Vision; + +/** + * Util class for basic functions + * + */ +public class ActionRobot { + public static Proxy proxy; + public String level_status = "UNKNOWN"; + public int current_score = 0; + private LoadLevelSchema lls; + private RestartLevelSchema rls; + static { + if (proxy == null) { + try { + proxy = new Proxy(9000) { + @Override + public void onOpen() { + System.out.println("Client connected"); + } + + @Override + public void onClose() { + System.out.println("Client disconnected"); + } + }; + proxy.start(); + + System.out + .println("Server started on port: " + proxy.getPort()); + + System.out.println("Waiting for client to connect"); + proxy.waitForClients(1); + + } catch (UnknownHostException e) { + + e.printStackTrace(); + } + } + } + + // A java util class for the standalone version. It provides common + // functions an agent would use. E.g. get the screenshot + public ActionRobot() { + lls = new LoadLevelSchema(proxy); + rls = new RestartLevelSchema(proxy); + } + + public void restartLevel() { + rls.restartLevel(); + } + + public static void GoFromMainMenuToLevelSelection() { + // --- go from the main menu to the episode menu + GameState state = StateUtil.getGameState(proxy); + while (state == GameState.MAIN_MENU) { + + System.out.println("Go to the Episode Menu"); + proxy.send(new ProxyClickMessage(305, 277)); + try { + Thread.sleep(1000); + } catch (InterruptedException e) { + + e.printStackTrace(); + } + state = StateUtil.getGameState(proxy); + } + // --- go from the episode menu to the level selection menu + while (state == GameState.EPISODE_MENU) { + System.out.println("Select the Poached Eggs Episode"); + proxy.send(new ProxyClickMessage(150, 300)); + state = StateUtil.getGameState(proxy); + try { + Thread.sleep(1000); + } catch (InterruptedException e) { + + e.printStackTrace(); + } + state = StateUtil.getGameState(proxy); + } + + } + + public GameState shootWithStateInfoReturned(List csc) { + ShootingSchema ss = new ShootingSchema(); + ss.shoot(proxy, csc); + System.out.println("Shooting Completed"); + GameState state = StateUtil.getGameState(proxy); + return state; + + } + + public synchronized GameState getState() { + GameState state = StateUtil.getGameState(proxy); + return state; + } + + public void shoot(List csc) { + ShootingSchema ss = new ShootingSchema(); + + ss.shoot(proxy, csc); + System.out.println("Shooting Completed"); + System.out + .println("wait 15 seconds to ensure all objects in the scene static"); + try { + Thread.sleep(15000); + } catch (InterruptedException e) { + e.printStackTrace(); + } + + } + + public void cshoot(Shot shot) { + ShootingSchema ss = new ShootingSchema(); + LinkedList shots = new LinkedList(); + shots.add(shot); + ss.shoot(proxy, shots); + System.out.println("Shooting Completed"); + try { + Thread.sleep(10000); + } catch (InterruptedException e) { + + e.printStackTrace(); + } + } + + public void cFastshoot(Shot shot) { + ShootingSchema ss = new ShootingSchema(); + LinkedList shots = new LinkedList(); + shots.add(shot); + ss.shoot(proxy, shots); + } + + public void fshoot(Shot shot) { + ShootingSchema ss = new ShootingSchema(); + LinkedList shots = new LinkedList(); + shots.add(shot); + ss.shoot(proxy, shots); + // System.out.println(" tap time : " + shot.getT_tap()); + System.out.println("Shooting Completed"); + + } + + public void click() { + proxy.send(new ProxyClickMessage(100, 100)); + } + + public void drag() { + proxy.send(new ProxyDragMessage(0, 0, 0, 0)); + } + + public void loadLevel(int... i) { + int level = 1; + if (i.length > 0) { + level = i[0]; + } + + lls.loadLevel(level); + } + + public static void fullyZoomOut() { + for (int k = 0; k < 15; k++) { + + proxy.send(new ProxyMouseWheelMessage(-1)); + } + try { + Thread.sleep(2000); + } catch (InterruptedException e) { + e.printStackTrace(); + } + } + + public static void fullyZoomIn() { + for (int k = 0; k < 15; k++) { + + proxy.send(new ProxyMouseWheelMessage(1)); + } + try { + Thread.sleep(2000); + } catch (InterruptedException e) { + e.printStackTrace(); + } + } + + /* + * Modified by Angry-HEX Team + * Added "synchronized" + */ + public static synchronized BufferedImage doScreenShot() { + byte[] imageBytes = proxy.send(new ProxyScreenshotMessage()); + BufferedImage image = null; + try { + image = ImageIO.read(new ByteArrayInputStream(imageBytes)); + } catch (IOException e) { + + } + + return image; + } + /* + * @return the type of the bird on the sling. + * + * **/ + public ABType getBirdTypeOnSling() + { + fullyZoomIn(); + BufferedImage screenshot = doScreenShot(); + Vision vision = new Vision(screenshot); + try { + Thread.sleep(1000); + } catch (InterruptedException e) { + + e.printStackTrace(); + } + fullyZoomOut(); + List _birds = vision.findBirdsMBR(); + if(_birds.isEmpty()) + return ABType.Unknown; + Collections.sort(_birds, new Comparator(){ + + @Override + public int compare(Rectangle o1, Rectangle o2) { + + return ((Integer)(o1.y)).compareTo((Integer)(o2.y)); + } + }); + return _birds.get(0).getType(); + } + + public static void main(String args[]) { + + long time = System.currentTimeMillis(); + ActionRobot.doScreenShot(); + time = System.currentTimeMillis() - time; + System.out.println(" cost: " + time); + time = System.currentTimeMillis(); + int count = 0; + while (count < 40) { + ActionRobot.doScreenShot(); + count++; + } + + System.out.println(" time to take 40 screenshots" + + (System.currentTimeMillis() - time)); + System.exit(0); + + } + + public int getScore() { + return StateUtil.getScore(ActionRobot.proxy); + } +} diff --git a/framework/src/ab/demo/other/ClientActionRobot.java b/framework/src/ab/demo/other/ClientActionRobot.java new file mode 100644 index 0000000..bf1a1e3 --- /dev/null +++ b/framework/src/ab/demo/other/ClientActionRobot.java @@ -0,0 +1,383 @@ +/***************************************************************************** + ** ANGRYBIRDS AI AGENT FRAMEWORK + ** Copyright (c) 2014, XiaoYu (Gary) Ge, Stephen Gould, Jochen Renz + ** Sahan Abeyasinghe,Jim Keys, Andrew Wang, Peng Zhang + ** All rights reserved. +**This work is licensed under the terms of the GNU Affero General Public License as published by the Free Software Foundation, either version 3 of the License, or (at your option) any later version. +**To view a copy of this license, visit http://www.gnu.org/licenses/ + *****************************************************************************/ +/* + * Modified by Angry-HEX Team + * Added GameImageRecorder + * Removed Auto-generated TODOs + */ +/******************************************************************************* + * Angry-HEX - an artificial player for Angry Birds based on declarative knowledge bases + * Copyright (C) 2012-2015 Francesco Calimeri, Michael Fink, Stefano Germano, Andreas Humenberger, Giovambattista Ianni, Christoph Redl, Daria Stepanova, Andrea Tucci, Anton Wimmer. + * + * This file is part of Angry-HEX. + * + * Angry-HEX is free software: you can redistribute it and/or modify it under the terms of the GNU Affero General Public License as published by the Free Software Foundation, either version 3 of the License, or (at your option) any later version. + * + * Angry-HEX is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU Affero General Public License for more details. + * + * You should have received a copy of the GNU Affero General Public License along with this program. If not, see . + *******************************************************************************/ +package ab.demo.other; + + +import java.awt.Color; +import java.awt.image.BufferedImage; +import java.io.IOException; +import java.io.InputStream; +import java.io.OutputStream; +import java.net.Socket; +import java.net.UnknownHostException; + +import external.ClientMessageEncoder; +import external.ClientMessageTable; + +import ab.utils.GameImageRecorder; + + +/** + * A server/client version of the java util class that encodes client messages and decodes + * the corresponding server messages complying with the protocols. Its subclass is ClientActionRobotJava.java + * which decodes the received server messages into java objects. + * */ +public class ClientActionRobot { + Socket requestSocket; + OutputStream out; + InputStream in; + String message; + + /* + * Modified by Angry-HEX Team + * Added GameImageRecorder + */ + GameImageRecorder rec; + + public ClientActionRobot(GameImageRecorder r, String... ip) + { + this(ip); + rec = r; + } + + + public ClientActionRobot(String... ip) { + String _ip = "localhost"; + if (ip.length > 0) { + _ip = ip[0]; + } + try { + // 1. creating a socket to connect to the server + requestSocket = new Socket(_ip, 2004); + requestSocket.setReceiveBufferSize(100000); + System.out.println("Connected to " + _ip + " in port 2004"); + out = requestSocket.getOutputStream(); + out.flush(); + in = requestSocket.getInputStream(); + } catch (UnknownHostException unknownHost) { + System.err.println("You are trying to connect to an unknown host!"); + } catch (IOException ioException) { + ioException.printStackTrace(); + } + } + + + public synchronized BufferedImage doScreenShot_() { + BufferedImage bfImage = null; + try { + // 2. get Input and Output streams + byte[] doScreenShot = ClientMessageEncoder.encodeDoScreenShot(); + out.write(doScreenShot); + out.flush(); + // System.out.println("client executes command: screen shot"); + + //Read the message head : 4-byte width and 4-byte height, respectively + byte[] bytewidth = new byte[4]; + byte[] byteheight = new byte[4]; + int width, height; + in.read(bytewidth); + width = bytesToInt(bytewidth); + in.read(byteheight); + height = bytesToInt(byteheight); + + //initialize total bytes of the screenshot message + //not include the head + int totalBytes = width * height * 3; + + //read the raw RGB data + byte[] bytebuffer; + //System.out.println(width + " " + height); + byte[] imgbyte = new byte[totalBytes]; + int hasReadBytes = 0; + while (hasReadBytes < totalBytes) { + bytebuffer = new byte[2048]; + int nBytes = in.read(bytebuffer); + if (nBytes != -1) + System.arraycopy(bytebuffer, 0, imgbyte, hasReadBytes, + nBytes); + else + break; + hasReadBytes += nBytes; + } + + //set RGB data using BufferedImage + bfImage = new BufferedImage(width, height, + BufferedImage.TYPE_INT_RGB); + for (int y = 0; y < height; y++) { + for (int x = 0; x < width; x++) { + int R = imgbyte[(y * width + x) * 3] & 0xff; + int G = imgbyte[(y * width + x) * 3 + 1] & 0xff; + int B = imgbyte[(y * width + x) * 3 + 2] & 0xff; + Color color = new Color(R, G, B); + int rgb; + rgb = color.getRGB(); + bfImage.setRGB(x, y, rgb); + } + } + + } catch (IOException ioException) { + ioException.printStackTrace(); + } + catch (IllegalArgumentException e) + { + e.printStackTrace(); + } + return bfImage; + + } + + public BufferedImage doScreenShot() + { + BufferedImage bfImage = doScreenShot_(); + //if (rec != null) rec.scheduleScreenshot(bfImage); + return bfImage; + } + + + //convert a byte[4] array to int value + public int bytesToInt(byte... b) { + int value = 0; + for (int i = 0; i < 4; i++) { + int shift = (4 - 1 - i) * 8; + value += (b[i] & 0x000000FF) << shift; + } + return value; + } + + //convert an int value to byte[4] array + public static byte[] intToByteArray(int a) { + byte[] ret = new byte[4]; + ret[3] = (byte) (a & 0xFF); + ret[2] = (byte) ((a >> 8) & 0xFF); + ret[1] = (byte) ((a >> 16) & 0xFF); + ret[0] = (byte) ((a >> 24) & 0xFF); + return ret; + } + + //send message to fully zoom out + public synchronized byte fullyZoomOut() { + try { + out.write(ClientMessageEncoder.fullyZoomOut()); + out.flush(); + return (byte) in.read(); + } catch (IOException e) { + + e.printStackTrace(); + } + return 0; + + } + + //send message to fully zoom in + public synchronized byte fullyZoomIn() { + try { + out.write(ClientMessageEncoder.fullyZoomIn()); + out.flush(); + return (byte) in.read(); + } catch (IOException e) { + + e.printStackTrace(); + } + return 0; + + } + public byte clickInCenter() { + try { + out.write(ClientMessageEncoder.clickInCenter()); + out.flush(); + return (byte) in.read(); + } catch (IOException e) { + + e.printStackTrace(); + } + return 0; + + } + //register team id + public synchronized byte[] configure(byte[] team_id) { + try { + out.write(ClientMessageEncoder.configure(team_id)); + out.flush(); + byte[] result = new byte[4]; + in.read(result); + return result; + } catch (IOException e) { + e.printStackTrace(); + } + return null; + + } + + //load a certain level + public synchronized byte loadLevel(byte... i) { + try { + + out.write(ClientMessageEncoder.loadLevel(i)); + return (byte) in.read(); + } catch (IOException e) { + + e.printStackTrace(); + } + return 0; + } + + + //send a message to restart the level + public synchronized byte restartLevel() { + try { + out.write(ClientMessageEncoder.restart()); + return (byte) in.read(); + } catch (IOException e) { + e.printStackTrace(); + } + return 0; + + } + + //send a shot message to execute a shot in the safe mode + public byte[] shoot(byte[] fx, byte[] fy, byte[] dx, byte[] dy, byte[] t1, + byte[] t2, boolean polar) { + byte[] inbuffer = new byte[16]; + try { + if (polar) + out.write(ClientMessageEncoder.pshoot(fx, fy, dx, dy, t1, t2)); + else + out.write(ClientMessageEncoder.cshoot(fx, fy, dx, dy, t1, t2)); + out.flush(); + in.read(inbuffer); + return inbuffer; + } catch (IOException e) { + e.printStackTrace(); + } + return new byte[] { 0 }; + } + + //send a shot message to execute a shot in the fast mode + public byte[] shootFast(byte[] fx, byte[] fy, byte[] dx, byte[] dy, byte[] t1, + byte[] t2, boolean polar) { + byte[] inbuffer = new byte[16]; + try { + if (polar) + out.write(ClientMessageEncoder.pFastshoot(fx, fy, dx, dy, t1, t2)); + else + out.write(ClientMessageEncoder.cFastshoot(fx, fy, dx, dy, t1, t2)); + out.flush(); + in.read(inbuffer); + return inbuffer; + } catch (IOException e) { + e.printStackTrace(); + } + return new byte[] { 0 }; + } + + //send a sequence of shots message + public byte[] cshootSequence(byte[]... shots) { + byte[] inbuffer = new byte[16]; + + byte[] msg = ClientMessageEncoder.mergeArray( + new byte[] { ClientMessageTable + .getValue(ClientMessageTable.shootSeq) }, + new byte[] { (byte) shots.length }); + for (byte[] shot : shots) { + msg = ClientMessageEncoder.mergeArray(msg, + new byte[] { ClientMessageTable + .getValue(ClientMessageTable.cshoot) }, shot); + } + + try { + out.write(msg); + + in.read(inbuffer); + return inbuffer; + } catch (IOException e) { + e.printStackTrace(); + } + return new byte[] { 0 }; + } + + + //send a message to get the current state + public byte getState() { + try { + out.write(ClientMessageEncoder.getState()); + out.flush(); + // System.out.println("IN READ " + in.read()); + return (byte) in.read(); + } catch (IOException e) { + e.printStackTrace(); + } + + return 0; + } + // send a message to score of each level + public byte[] getBestScores() + { + int level = 21; + int totalBytes = level * 4; + byte[] buffer = new byte[totalBytes]; + try { + out.write(ClientMessageEncoder.getBestScores()); + out.flush(); + + in.read(buffer); + return buffer; + + + } catch (IOException e) { + e.printStackTrace(); + } + return buffer; + } + // send a message to score of each level + public byte[] getMyScore() + { + int level = 21; + int totalBytes = level * 4; + byte[] buffer = new byte[totalBytes]; + try { + out.write(ClientMessageEncoder.getMyScore()); + out.flush(); + + in.read(buffer); + return buffer; + + + } catch (IOException e) { + e.printStackTrace(); + } + return buffer; + } + + public static void main(String args[]) + { + ClientActionRobot robot = new ClientActionRobot(); + byte[] id = {1,2,3,4}; + robot.configure(id); + while(true) + robot.doScreenShot(); + } + +} diff --git a/framework/src/ab/demo/other/ClientActionRobotJava.java b/framework/src/ab/demo/other/ClientActionRobotJava.java new file mode 100644 index 0000000..43932a9 --- /dev/null +++ b/framework/src/ab/demo/other/ClientActionRobotJava.java @@ -0,0 +1,149 @@ +/***************************************************************************** + ** ANGRYBIRDS AI AGENT FRAMEWORK + ** Copyright (c) 2014, XiaoYu (Gary) Ge, Stephen Gould, Jochen Renz + ** Sahan Abeyasinghe,Jim Keys, Andrew Wang, Peng Zhang + ** All rights reserved. +**This work is licensed under the terms of the GNU Affero General Public License as published by the Free Software Foundation, either version 3 of the License, or (at your option) any later version. +**To view a copy of this license, visit http://www.gnu.org/licenses/ + *****************************************************************************/ +/* + * Modified by Angry-HEX Team + * Removed Auto-generated TODOs + */ +/******************************************************************************* + * Angry-HEX - an artificial player for Angry Birds based on declarative knowledge bases + * Copyright (C) 2012-2015 Francesco Calimeri, Michael Fink, Stefano Germano, Andreas Humenberger, Giovambattista Ianni, Christoph Redl, Daria Stepanova, Andrea Tucci, Anton Wimmer. + * + * This file is part of Angry-HEX. + * + * Angry-HEX is free software: you can redistribute it and/or modify it under the terms of the GNU Affero General Public License as published by the Free Software Foundation, either version 3 of the License, or (at your option) any later version. + * + * Angry-HEX is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU Affero General Public License for more details. + * + * You should have received a copy of the GNU Affero General Public License along with this program. If not, see . + *******************************************************************************/ +package ab.demo.other; + +import java.awt.Rectangle; +import java.awt.image.BufferedImage; +import java.util.Collections; +import java.util.Comparator; +import java.util.List; + +import ab.utils.GameImageRecorder; +import ab.vision.ABObject; +import ab.vision.ABType; +import ab.vision.Vision; +import ab.vision.GameStateExtractor.GameState; +import external.ClientMessageEncoder; + +//Java interface of ClientActionRobot +public class ClientActionRobotJava extends ClientActionRobot { + + /* + * Modified by Angry-HEX Team + * Added GameImageRecorder + */ + GameImageRecorder rec; + + public ClientActionRobotJava(GameImageRecorder r, String ip) + { + super(ip); + rec = r; + } + + + public ClientActionRobotJava(String ip) { + super(ip); + } + + //return game state as enum format + public GameState checkState() { + byte result = super.getState(); + GameState state = GameState.values()[result]; + return state; + } + //return an array of best scores. the nth slot stores the score of (n+1)th level + public int[] checkScore() + { + byte[] scores = super.getBestScores(); + int[] _scores = new int[scores.length/4]; + for (int i = 0 ; i < _scores.length ; i++){ + _scores[i] = super.bytesToInt(scores[i * 4], scores[i*4 + 1], scores[i*4 + 2], scores[i*4 + 3]); + } + return _scores; + } + + //send a shot message using int values as input + public byte[] shoot(int fx, int fy, int dx, int dy, int t1, int t2, + boolean polar) { + return super.shoot(intToByteArray(fx), intToByteArray(fy), + intToByteArray(dx), intToByteArray(dy), intToByteArray(t1), + intToByteArray(t2), polar); + } + + /* + * Modified by Angry-HEX Team + * Added method "fastshoot" + */ + public synchronized byte[] fastshoot(int fx, int fy, int dx, int dy, int t1, int t2, + boolean polar) { + return super.shootFast(intToByteArray(fx), intToByteArray(fy), + intToByteArray(dx), intToByteArray(dy), intToByteArray(t1), + intToByteArray(t2), polar); + } + + + //send a shot sequence message using int arrays as input + //one array per shot + public byte[] cshootSequence(int[]... shots) { + byte[][] byteShots = new byte[shots.length][24] ; + int shotCount = 0; + for (int[] shot : shots) { + byteShots[shotCount] = ClientMessageEncoder.mergeArray(intToByteArray(shot[0])/*fx*/, + intToByteArray(shot[1])/*fy*/, intToByteArray(shot[2])/*dx*/, + intToByteArray(shot[3])/*dy*/, intToByteArray(shot[4])/*t1*/, + intToByteArray(shot[5])/*t2*/); + shotCount++; + } + return super.cshootSequence(byteShots); + } + public ABType getBirdTypeOnSling() + { + fullyZoomIn(); + BufferedImage screenshot = doScreenShot(); + Vision vision = new Vision(screenshot); + try { + Thread.sleep(1000); + } catch (InterruptedException e) { + + e.printStackTrace(); + } + fullyZoomOut(); + List _birds = vision.findBirdsMBR(); + if(_birds.isEmpty()) + return ABType.Unknown; + Collections.sort(_birds, new Comparator(){ + + @Override + public int compare(Rectangle o1, Rectangle o2) { + + return ((Integer)(o1.y)).compareTo((Integer)(o2.y)); + } + }); + return _birds.get(0).getType(); + } + public int[] checkMyScore() { + byte[] scores = super.getMyScore(); + int[] _scores = new int[scores.length/4]; + for (int i = 0 ; i < _scores.length ; i++){ + _scores[i] = super.bytesToInt(scores[i * 4], scores[i*4 + 1], scores[i*4 + 2], scores[i*4 + 3]); + } + return _scores; + } + + public void setRecorder(GameImageRecorder rec) { + this.rec = rec; + } + +} diff --git a/framework/src/ab/demo/other/Env.java b/framework/src/ab/demo/other/Env.java new file mode 100644 index 0000000..0e6fbc9 --- /dev/null +++ b/framework/src/ab/demo/other/Env.java @@ -0,0 +1,72 @@ +/***************************************************************************** +** ANGRYBIRDS AI AGENT FRAMEWORK +** Copyright (c) 2013, XiaoYu (Gary) Ge, Jochen Renz,Stephen Gould, +** Sahan Abeyasinghe,Jim Keys, Kar-Wai Lim, Zain Mubashir, Andrew Wang, Peng Zhang +** All rights reserved. +**This work is licensed under the Creative Commons Attribution-NonCommercial-ShareAlike 3.0 Unported License. +**To view a copy of this license, visit http://creativecommons.org/licenses/by-nc-sa/3.0/ +*or send a letter to Creative Commons, 444 Castro Street, Suite 900, Mountain View, California, 94041, USA. +*****************************************************************************/ +package ab.demo.other; + +import java.awt.Point; +import java.io.BufferedReader; +import java.io.File; +import java.io.FileReader; +import java.io.IOException; +import java.util.HashMap; + +// read the focus point from the file +public class Env { + +private static HashMap focuslist = new HashMap(); + +public static HashMap getFocuslist() { + return focuslist; +} + + +static +{ + File file = new File("Setup.ini"); + if(file.exists()) + { + BufferedReader br; + try { + br = new BufferedReader(new FileReader(file)); + while(br.ready()) + { + String line = br.readLine(); + if(!line.contains("#")) + { + if(line.contains(("focus_pt"))) + { + String str = line.substring(line.lastIndexOf(":")+1); + String str_x = str.substring(0,str.indexOf(",")); + String str_y = str.substring(str.indexOf(",")+1,str.lastIndexOf(",")); + String str_z = str.substring(str.lastIndexOf(",") + 1); + int x = Integer.parseInt(str_x); + int y = Integer.parseInt(str_y); + int z = Integer.parseInt(str_z); + focuslist.put(z, new Point(x,y)); + } + + } + + } + } catch (IOException e) { + + e.printStackTrace(); + } + + + } + +} + + + + + + +} \ No newline at end of file diff --git a/framework/src/ab/demo/other/LoadLevelSchema.java b/framework/src/ab/demo/other/LoadLevelSchema.java new file mode 100644 index 0000000..5169207 --- /dev/null +++ b/framework/src/ab/demo/other/LoadLevelSchema.java @@ -0,0 +1,200 @@ +/***************************************************************************** +** ANGRYBIRDS AI AGENT FRAMEWORK +** Copyright (c) 2014, XiaoYu (Gary) Ge, Stephen Gould, Jochen Renz +** Sahan Abeyasinghe , Jim Keys, Andrew Wang, Peng Zhang +** All rights reserved. +**This work is licensed under the terms of the GNU Affero General Public License as published by the Free Software Foundation, either version 3 of the License, or (at your option) any later version. +**To view a copy of this license, visit http://www.gnu.org/licenses/ +*****************************************************************************/ +package ab.demo.other; + +import ab.server.Proxy; +import ab.server.proxy.message.ProxyClickMessage; +import ab.server.proxy.message.ProxyMouseWheelMessage; +import ab.utils.StateUtil; +import ab.vision.GameStateExtractor.GameState; + +/** + * Schema for loading level + * */ +public class LoadLevelSchema { +private Proxy proxy; +private boolean pageSwitch = false; + +public LoadLevelSchema(Proxy proxy) +{ + this.proxy = proxy; + + } +public boolean loadLevel(int i) +{ + + if(i > 21) + { + if( i == 22 || i == 43 ) + pageSwitch = true; + i =( (i % 21) == 0)? 21 : i%21; + + + + + } + //System.out.println(StateUtil.checkCurrentState(proxy)); + loadLevel(StateUtil.getGameState(proxy),i); + + GameState state = StateUtil.getGameState(proxy); + + while(state!= GameState.PLAYING) + { + System.out.println(" In state: " + state + " Try reloading..."); + loadLevel(state,i); + try { + Thread.sleep(12000); + } catch (InterruptedException e1) { + + e1.printStackTrace(); + } + + state = StateUtil.getGameState(proxy); + + } + return true; +} +private boolean loadLevel(GameState state,int i) +{ + // if still at main menu or episode menu, skip it. + ActionRobot.GoFromMainMenuToLevelSelection(); + + + if(state == GameState.WON || state == GameState.LOST) + { + + /*if(state == GameState.WON && i >= current + 1) + proxy.send(new ProxyClickMessage(500,375)); // go to the next level +*/ /*if(state == GameState.WON)*/ { + + proxy.send(new ProxyClickMessage(342,382));//Click the left most button at the end page + try { + Thread.sleep(1000); + } catch (InterruptedException e1) { + e1.printStackTrace(); + } + if(pageSwitch) + { + proxy.send(new ProxyClickMessage(378, 451)); + try { + Thread.sleep(1000); + } catch (InterruptedException e1) { + e1.printStackTrace(); + } + pageSwitch = false; + } + proxy.send(new ProxyClickMessage(54 + ((i-1)%7) * 86,110 + ((i-1)/7) * 100)); + try { + Thread.sleep(1000); + } catch (InterruptedException e) { + + e.printStackTrace(); + } + } + if(i == 1) + //skip the animation, the animation does not appear in the SD mode. + proxy.send(new ProxyClickMessage(1176,704)); + } + else if(state == GameState.PLAYING) + { + proxy.send(new ProxyClickMessage(48,44));//Click the left most button, pause + try { + Thread.sleep(1000); + } catch (InterruptedException e1) { + + e1.printStackTrace(); + } + proxy.send(new ProxyClickMessage(168,28));//Click the left most button, pause + try { + Thread.sleep(1000); + } catch (InterruptedException e1) { + e1.printStackTrace(); + } + if(pageSwitch) + { + proxy.send(new ProxyClickMessage(378, 451)); + try { + Thread.sleep(1000); + } catch (InterruptedException e1) { + e1.printStackTrace(); + } + pageSwitch = false; + } + proxy.send(new ProxyClickMessage(54 + ((i-1)%7) * 86,110 + ((i-1)/7) * 100)); + try { + Thread.sleep(1000); + } catch (InterruptedException e) { + + e.printStackTrace(); + } + if(i == 1) + proxy.send(new ProxyClickMessage(1176,704)); + } + else + { + if(pageSwitch) + { + proxy.send(new ProxyClickMessage(378, 451)); + try { + Thread.sleep(1000); + } catch (InterruptedException e1) { + e1.printStackTrace(); + } + pageSwitch = false; + } + proxy.send(new ProxyClickMessage(54 + ((i-1)%7) * 86,110 + ((i-1)/7) * 100)); + try { + Thread.sleep(1000); + } catch (InterruptedException e) { + + e.printStackTrace(); + } + if(i == 1) + proxy.send(new ProxyClickMessage(1176,704)); + } + + //Wait 9000 seconds for loading the level + GameState _state = StateUtil.getGameState(proxy); + int count = 0; // at most wait 10 seconds + while(_state!= GameState.PLAYING&& count < 3){ + try { + Thread.sleep(3000); + } catch (InterruptedException e1) { + + e1.printStackTrace(); + } + count ++; + _state = StateUtil.getGameState(proxy); + + } + + if(_state == GameState.PLAYING){ + + + for (int k = 0; k < 15; k++) + { + proxy.send(new ProxyMouseWheelMessage(-1)); + } + + try { + Thread.sleep(2500); + } catch (InterruptedException e1) { + + e1.printStackTrace(); + } + + + } + + + + return true; + +} +} diff --git a/framework/src/ab/demo/other/RestartLevelSchema.java b/framework/src/ab/demo/other/RestartLevelSchema.java new file mode 100644 index 0000000..a78499b --- /dev/null +++ b/framework/src/ab/demo/other/RestartLevelSchema.java @@ -0,0 +1,72 @@ +/***************************************************************************** +** ANGRYBIRDS AI AGENT FRAMEWORK +** Copyright (c) 2014,XiaoYu (Gary) Ge, Stephen Gould,Jochen Renz +** Sahan Abeyasinghe, Jim Keys, Andrew Wang, Peng Zhang +** All rights reserved. +**This work is licensed under the terms of the GNU Affero General Public License as published by the Free Software Foundation, either version 3 of the License, or (at your option) any later version. +**To view a copy of this license, visit http://www.gnu.org/licenses/ +*****************************************************************************/ +package ab.demo.other; + +import ab.server.Proxy; +import ab.server.proxy.message.ProxyClickMessage; +import ab.server.proxy.message.ProxyMouseWheelMessage; +import ab.utils.StateUtil; +import ab.vision.GameStateExtractor.GameState; + +public class RestartLevelSchema { +private Proxy proxy; + +//This schema is used for automatically restarting levels in the standalone version. +public RestartLevelSchema(Proxy proxy) +{ + this.proxy = proxy; +} +public boolean restartLevel() +{ + GameState state = StateUtil.getGameState(proxy); + + if(state == GameState.WON || state == GameState.LOST) + { + proxy.send( new ProxyClickMessage(420,380));//Click the left most button at the end page + System.out.println(" restart the level "); + try { + Thread.sleep(2000); + } catch (InterruptedException e1) { + e1.printStackTrace(); + } + } + else if(state == GameState.PLAYING) + { + proxy.send(new ProxyClickMessage(100,39)); + try { + Thread.sleep(1000); + } catch (InterruptedException e1) { + e1.printStackTrace(); + } + } + + //Wait 4000 seconds for loading the level + try { + Thread.sleep(4000); + } catch (InterruptedException e1) { + + e1.printStackTrace(); + } + //Zooming out + System.out.println("Zooming out"); + for (int k = 0; k < 15; k++) + { + proxy.send(new ProxyMouseWheelMessage(-1)); + } + try { + Thread.sleep(2000); + } catch (InterruptedException e1) { + + e1.printStackTrace(); + } + + return true; + +} +} diff --git a/framework/src/ab/demo/other/ShootingSchema.java b/framework/src/ab/demo/other/ShootingSchema.java new file mode 100644 index 0000000..610eabe --- /dev/null +++ b/framework/src/ab/demo/other/ShootingSchema.java @@ -0,0 +1,120 @@ +/***************************************************************************** +** ANGRYBIRDS AI AGENT FRAMEWORK +** Copyright (c) 2014,XiaoYu (Gary) Ge, Stephen Gould,Jochen Renz +** Sahan Abeyasinghe, Jim Keys, Andrew Wang, Peng Zhang +** All rights reserved. +**This work is licensed under the terms of the GNU Affero General Public License as published by the Free Software Foundation, either version 3 of the License, or (at your option) any later version. +**To view a copy of this license, visit http://www.gnu.org/licenses/ +*****************************************************************************/ +package ab.demo.other; + +import java.util.Collections; +import java.util.Comparator; +import java.util.LinkedList; +import java.util.List; + +import ab.server.Proxy; +import ab.server.proxy.message.ProxyDragMessage; + +/** + * Shooting Schema for standalone version. + * */ +public class ShootingSchema { +private boolean shootImmediately = true; + + +public void shoot(final Proxy proxy,List csc) +{ + int count = 0; + LinkedList shots = new LinkedList(); + for(Shot shot:csc) + { + if(shot.getT_shot() != 0) + shootImmediately = false; + if(shootImmediately) + { + int t_shot = 5000 * count++; + shots.add(new Shot(shot.getX(),shot.getY(),shot.getDx(),shot.getDy(),t_shot)); + if(shot.getT_tap() > 0) + shots.add(new Shot(0,0,0,0, shot.getT_tap() + t_shot)); + } + else + { + shots.add(new Shot(shot.getX(),shot.getY(),shot.getDx(),shot.getDy(),shot.getT_shot())); + if(shot.getT_tap() > 0) + shots.add(new Shot(0,0,0,0,shot.getT_tap() + shot.getT_shot())); + } + + } + + Collections.sort(shots, new Comparator(){ + + @Override + public int compare(Shot arg0, Shot arg1) { + + return ((Integer)arg0.getT_shot()).compareTo(arg1.getT_shot()); + } + }); + if(!shots.isEmpty()) + { + int start_time = shots.getFirst().getT_shot(); + //Optimize for one shot one time.. + if(shots.size() < 3) + { + Shot shot = shots.getFirst(); + if(shots.size() == 2) + { + Shot _shot = shots.getLast(); + int wait_time = (_shot.getT_shot() - start_time)==0? start_time:(_shot.getT_shot()- start_time); + long _gap = System.currentTimeMillis(); + proxy.send(new ProxyDragMessage(shot.getX(),shot.getY(),shot.getDx(),shot.getDy())); + long gap = System.currentTimeMillis() - _gap; + wait_time -= gap; + if(wait_time < 0) + wait_time = 0; + //long time = System.nanoTime(); + try { + Thread.sleep(wait_time); + } catch (InterruptedException e) { + + e.printStackTrace(); + }/* + long _time = System.nanoTime(); + System.out.println(" waiting time:" + (time - _time));*/ + proxy.send(new ProxyDragMessage(_shot.getX(),_shot.getY(),_shot.getDx(),_shot.getDy())); + } + else + { + proxy.send(new ProxyDragMessage(shot.getX(),shot.getY(),shot.getDx(),shot.getDy())); + //System.out.println(shot.getX() + " " + shot.getY() + " " + shot.getDx() + " " + shot.getDy()); + } + + } + else + { + long gap = 0; + for(Shot _shot: shots) + { + long wait_time = (_shot.getT_shot() - start_time - gap) <=0 ? 0:(_shot.getT_shot()- start_time - gap); + + try { + Thread.sleep(wait_time); + } catch (InterruptedException e) { + e.printStackTrace(); + } + start_time = _shot.getT_shot(); + gap = System.currentTimeMillis(); + proxy.send(new ProxyDragMessage(_shot.getX(),_shot.getY(),_shot.getDx(),_shot.getDy())); + gap = System.currentTimeMillis() - gap; + } + } +System.out.println("wait 10 seconds to ensure all objects in the scene static"); +try { + Thread.sleep(10000); +} catch (InterruptedException e) { + e.printStackTrace(); +} + } +} + +} diff --git a/framework/src/ab/demo/other/Shot.java b/framework/src/ab/demo/other/Shot.java new file mode 100644 index 0000000..5c9c4cc --- /dev/null +++ b/framework/src/ab/demo/other/Shot.java @@ -0,0 +1,134 @@ +/***************************************************************************** +** ANGRYBIRDS AI AGENT FRAMEWORK +** Copyright (c) 2014,XiaoYu (Gary) Ge, Stephen Gould,Jochen Renz +** Sahan Abeyasinghe, Jim Keys, Andrew Wang, Peng Zhang +** All rights reserved. +**This work is licensed under the terms of the GNU Affero General Public License as published by the Free Software Foundation, either version 3 of the License, or (at your option) any later version. +**To view a copy of this license, visit http://www.gnu.org/licenses/ +*****************************************************************************/ +package ab.demo.other; + + + +public class Shot { + + private int x; + private int y; + private int dx; + private int dy; + public int getDx() { + return dx; + } + + + public void setDx(int dx) { + this.dx = dx; + } + + + public int getDy() { + return dy; + } + + + public Shot(int x, int y, int dx, int dy, int t_shot, int t_tap) { + super(); + this.x = x; + this.y = y; + this.dx = dx; + this.dy = dy; + this.t_shot = t_shot; + this.t_tap = t_tap; + } + + public Shot(int x, int y, int dx, int dy, int t_shot) { + super(); + this.x = x; + this.y = y; + this.dx = dx; + this.dy = dy; + this.t_shot = t_shot; + } + + + public void setDy(int dy) { + this.dy = dy; + } + private int t_shot; + private int t_tap; +public Shot() +{ + x = 0; + y = 0; + dx = 0; + dy = 0; + t_shot = 0; + t_tap = 0; +} + + +public Shot(int x, int y, int t_shot, int t_tap) { + super(); + this.x = x; + this.y = y; + this.t_shot = t_shot; + this.t_tap = t_tap; +} + + +public int getX() { + return x; +} + + +public void setX(int x) { + this.x = x; +} + + +public int getY() { + return y; +} + + +public void setY(int y) { + this.y = y; +} + + +public int getT_shot() { + return t_shot; +} + + +public void setT_shot(int t_shot) { + this.t_shot = t_shot; +} + + +public int getT_tap() { + return t_tap; +} + + +public void setT_tap(int t_tap) { + this.t_tap = t_tap; +} + + +public String toString() +{ + String result = ""; + if(x == 0 && y == 0) + { + if(t_tap!=0) + result+= "tap at: " + t_tap; + } + else + result += "Shoot from: ("+ (x + dx)+ " " + (y + dy) +" )" + " at time " + t_shot ; + + return result; + +} + +} diff --git a/framework/src/ab/planner/TrajectoryPlanner.java b/framework/src/ab/planner/TrajectoryPlanner.java new file mode 100644 index 0000000..a93736d --- /dev/null +++ b/framework/src/ab/planner/TrajectoryPlanner.java @@ -0,0 +1,547 @@ +/***************************************************************************** +** ANGRYBIRDS AI AGENT FRAMEWORK +** Copyright (c) 2014, XiaoYu (Gary) Ge, Stephen Gould,Jochen Renz +** Sahan Abeyasinghe, Jim Keys, Andrew Wang, Peng Zhang +** All rights reserved. +**This work is licensed under the terms of the GNU Affero General Public License as published by the Free Software Foundation, either version 3 of the License, or (at your option) any later version. +**To view a copy of this license, visit http://www.gnu.org/licenses/ +*****************************************************************************/ +/* + * Modified by Angry-HEX Team + * Removed unused "import" and variables + */ +/******************************************************************************* + * Angry-HEX - an artificial player for Angry Birds based on declarative knowledge bases + * Copyright (C) 2012-2015 Francesco Calimeri, Michael Fink, Stefano Germano, Andreas Humenberger, Giovambattista Ianni, Christoph Redl, Daria Stepanova, Andrea Tucci, Anton Wimmer. + * + * This file is part of Angry-HEX. + * + * Angry-HEX is free software: you can redistribute it and/or modify it under the terms of the GNU Affero General Public License as published by the Free Software Foundation, either version 3 of the License, or (at your option) any later version. + * + * Angry-HEX is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU Affero General Public License for more details. + * + * You should have received a copy of the GNU Affero General Public License along with this program. If not, see . + *******************************************************************************/ +package ab.planner; + +import java.awt.Color; +import java.awt.Graphics2D; +import java.awt.Point; +import java.awt.Rectangle; +import java.awt.image.BufferedImage; +import java.util.ArrayList; +import java.util.List; + +import angryhexclient.Configuration; + +/* TrajectoryPlanner ------------------------------------------------------ */ +public class TrajectoryPlanner { + + + private static double X_OFFSET = 0.5; + private static double Y_OFFSET = 0.65; + private static double BOUND = 0.1; + private static double STRETCH = 0.4; + private static int X_MAX = 640; + + // 10, 15, 20, 25, 30, 35, 40, 45, 50, 55, 60, 65, 70 + private static double _launchAngle [] = {0.13, 0.215, 0.296, 0.381, 0.476, 0.567, 0.657, 0.741, 0.832, 0.924, 1.014, 1.106, 1.197}; + private static double _changeAngle [] = {0.052, 0.057, 0.063, 0.066, 0.056, 0.054, 0.050, 0.053, 0.042, 0.038, 0.034, 0.029, 0.025}; + private static double _launchVelocity[] = {2.9, 2.88, 2.866, 2.838, 2.810, 2.800, 2.790, 2.773, 2.763, 2.745, 2.74, 2.735, 2.73}; + + // small modification to the scale and angle + private double _scaleFactor = 1.005; + + +// private double _angleAdjust = 0.0; + + + // conversion between the trajectory time and actual time in milliseconds + private double _timeUnit = 815; + + // boolean flag on set trajectory + private boolean _trajSet = false; + + // parameters of the set trajectory + private Point _release; + private double _theta, _velocity, _ux, _uy, _a, _b; + + // the trajectory points + ArrayList _trajectory; + + // reference point and current scale + private Point _ref; + private double _scale; + + // create a trajectory planner object + public TrajectoryPlanner() { + + } + + /* Fit a quadratic to the given points and adjust parameters for the current scene + * namely the scale factor, which is a number used to find the correct exit velocity + * + * @param pts - list of points (on screen) the trajectory passed through + * slingshot - bounding box of the slingshot + * releasePoint - where the mouse click was released from + */ + public void adjustTrajectory(final List pts, Rectangle slingshot, Point releasePoint) + { + double Sx2 = 0.0; + double Sx3 = 0.0; + double Sx4 = 0.0; + double Syx = 0.0; + double Syx2 = 0.0; + + // find scene scale and reference point + double sceneScale = getSceneScale(slingshot); + Point refPoint = getReferencePoint(slingshot); + + for (Point p : pts) { + // normalise the points + double x = (p.x - refPoint.x) / sceneScale; + double y = (p.y - refPoint.y) / sceneScale; + + final double x2 = x * x; + Sx2 += x2; + Sx3 += x * x2; + Sx4 += x2 * x2; + Syx += y * x; + Syx2 += y * x2; + } + + final double a = (Syx2 * Sx2 - Syx * Sx3) / (Sx4 * Sx2 - Sx3 * Sx3); + final double b = (Syx - a * Sx3) / Sx2; + + //System.out.println("a: " + a + " b: " + b); + + // launch angle + double theta = -Math.atan2(refPoint.y - releasePoint.y, refPoint.x - releasePoint.x); +// // actual angle +// double theta2 = -Math.atan2(b, 1); + + + //System.out.println("angles: " + theta + ", " + theta2); + + + // find initial velocity + double ux = Math.sqrt(0.5/a); + double uy = ux * b; + + //System.out.println("velocity: " + Math.sqrt(ux*ux+uy*uy)); + + // adjust the scale and angle change + adjustScale(Math.sqrt(ux*ux + uy*uy), theta); + System.out.println("\nscale factor changed to: " + _scaleFactor); + _trajSet = false; + } + + /* Calculate the y-coordinate of a point on the set trajectory + * + * @param sling - bounding rectangle of the slingshot + * releasePoint - point the mouse click is released from + * x - x-coordinate (on screen) of the requested point + * @return y-coordinate (on screen) of the requested point + */ + public int getYCoordinate(Rectangle sling, Point releasePoint, int x) + { + setTrajectory(sling, releasePoint); + + // find the normalised coordinates + double xn = (x - _ref.x) / _scale; + + return _ref.y - (int)((_a * xn * xn + _b * xn) * _scale); + } + + /* + * Modified by Angry-HEX Team + * Added method "fitAngle" + */ + private double fitAngle(double start, double end, double x, double y) + { + double retAngle = 0; + double bestError = 100000; + //System.out.println("ST:"+start+" END:"+end); + for (double theta = start; theta <= end; theta += 0.0005) + { + double velocity = getVelocity(theta); + + // initial velocities + double u_x = velocity * Math.cos(theta); + double u_y = velocity * Math.sin(theta); + + // the normalised coefficients + double a = -0.5 / (u_x * u_x); + double b = u_y / u_x; + + // the error in y-coordinate + double error = Math.abs(a*x*x + b*x - y); + if (error < bestError) + { + retAngle = theta; + bestError = error; + } + } + return retAngle; + } + + /* Estimate launch points given a desired target point using maximum velocity + * If there are two launch point for the target, they are both returned in + * the list {lower point, higher point) + * Note - angles greater than 75 are not considered + * + * @param slingshot - bounding rectangle of the slingshot + * targetPoint - coordinates of the target to hit + * @return A list containing 2 possible release points + */ + public ArrayList estimateLaunchPoint(Rectangle slingshot, Point targetPoint) { + + // calculate relative position of the target (normalised) + double scale = getSceneScale(slingshot); + //System.out.println("scale " + scale); + Point ref = getReferencePoint(slingshot); + + double x = (targetPoint.x - ref.x) / scale; + double y = -(targetPoint.y - ref.y) / scale; + // System.out.println("X:"+y+" Y:"+y); + + //commented out because it's not used +// double bestError = 1000; + double theta1 = 0; + double theta2 = 0; + + // first estimate launch angle using the projectile equation (constant velocity) + double v = _scaleFactor * _launchVelocity[6]; + double v2 = v * v; + double v4 = v2 * v2; + /* + * Modified by Angry-HEX Team + * Added Math.abs + */ + double tangent1 = (v2 - Math.sqrt(Math.abs(v4 - (x * x + 2 * y * v2)))) / x; + double tangent2 = (v2 + Math.sqrt(Math.abs(v4 - (x * x + 2 * y * v2)))) / x; + + //System.out.println("TANGENTS: "+tangent1+" "+tangent2); + + double t1 = actualToLaunch(Math.atan(tangent1)); + double t2 = actualToLaunch(Math.atan(tangent2)); + + /* + * Modified by Angry-HEX Team + * Moved code to fitAngle method + * Added call to fitAngle method + */ + theta1 = fitAngle(t1-BOUND,t1+BOUND,x,y); + theta2 = fitAngle(t2-BOUND,t2+BOUND,x,y); + //System.out.println("FORMER THETAS: "+Math.toDegrees(theta1)+" "+Math.toDegrees(theta2)); + + theta1 = actualToLaunch(theta1); + theta2 = actualToLaunch(theta2); + + //System.out.println("NEW THETAS: " + Math.toDegrees(theta1) + ", " + Math.toDegrees(theta2)); + + // add launch points to the list + ArrayList pts = new ArrayList(); + pts.add(findReleasePoint(slingshot, theta1)); + + // add the higher point if it is below 75 degrees and not same as first + if (theta2 < Math.toRadians(75) && theta2 != theta1) + pts.add(findReleasePoint(slingshot, theta2)); + + return pts; + } + + + /* the estimated tap time given the tap point + * + * @param sling - bounding box of the slingshot + * release - point the mouse clicked was released from + * tapPoint - point the tap should be made + * @return tap time (relative to the release time) in milli-seconds + */ + /* + * Modified by Angry-HEX Team + * Changed modifier to public + */ + public int getTimeByDistance(Rectangle sling, Point release, Point tapPoint) + { + // update trajectory parameters + setTrajectory(sling, release); + + double pullback = _scale * STRETCH * Math.cos(_theta); + double distance = (tapPoint.x - _ref.x + pullback) / _scale; + + //System.out.println("distance " + distance); + //System.out.println("velocity " + _ux); + + return (int)(distance / _ux * _timeUnit); + } + + + /* Choose a trajectory by specifying the sling location and release point + * Derive all related parameters (angle, velocity, equation of the parabola, etc) + * + * @param sling - bounding rectangle of the slingshot + * releasePoint - point where the mouse click was released from + */ + public void setTrajectory(Rectangle sling, Point releasePoint) + { + // don't update parameters if the ref point and release point are the same + if (_trajSet && + _ref != null && _ref.equals(getReferencePoint(sling)) && + _release != null && _release.equals(releasePoint)) + return; + + // set the scene parameters + _scale = sling.height + sling.width; + _ref = getReferencePoint(sling); + + // set parameters for the trajectory + _release = new Point(releasePoint.x, releasePoint.y); + + // find the launch angle + _theta = Math.atan2(_release.y - _ref.y, _ref.x - _release.x); + _theta = launchToActual(_theta); + + // work out initial velocities and coefficients of the parabola + _velocity = getVelocity(_theta); + _ux = _velocity * Math.cos(_theta); + _uy = _velocity * Math.sin(_theta); + _a = -0.5 / (_ux * _ux); + _b = _uy / _ux; + + + // work out points of the trajectory + _trajectory = new ArrayList(); + for (int x = 0; x < X_MAX; x++) { + double xn = x / _scale; + int y = _ref.y - (int)((_a * xn * xn + _b * xn) * _scale); + _trajectory.add(new Point(x + _ref.x, y)); + } + + // turn on the setTraj flag + _trajSet = true; + } + + /* Plot a trajectory + * + * @param canvas - the canvas to draw onto + * slingshot - bounding rectangle of the slingshot + * releasePoint - point where the mouse click was released from + * @return the canvas with trajectory drawn + */ + public BufferedImage plotTrajectory(BufferedImage canvas, Rectangle slingshot, Point releasePoint) { + List trajectory = predictTrajectory(slingshot, releasePoint); + + // draw estimated trajectory + Graphics2D g2d = canvas.createGraphics(); + g2d.setColor(Color.RED); + for (Point p : trajectory) { + if ((p.y > 0) && (p.y < canvas.getHeight(null))) { + g2d.drawRect(p.x, p.y, 1, 1); + } + } + + return canvas; + } + + // plot trajectory given the bounding box of the active bird + public BufferedImage plotTrajectory(BufferedImage canvas, Rectangle slingshot, Rectangle activeBird) { + + // get active bird location + Point bird = new Point((int)(activeBird.x + 0.5 * activeBird.width), + (int)(activeBird.y + 0.85 * activeBird.height)); + + return plotTrajectory(canvas, slingshot, bird); + } + + /* find the release point given the sling location and launch angle, using maximum velocity + * + * @param sling - bounding rectangle of the slingshot + * theta - launch angle in radians (anticlockwise from positive direction of the x-axis) + * @return the release point on screen + */ + public Point findReleasePoint(Rectangle sling, double theta) + { + /* + * Modified by Angry-HEX Team + * Added call to Configuration.getShotMagnitude() + */ + double mag = sling.height * Configuration.getShotMagnitude(); + Point ref = getReferencePoint(sling); + + //System.out.println("SH:"+mag+" THETA:"+theta+" DEG:"+Math.toDegrees(theta)); + Point release = new Point((int)(ref.x - mag * Math.cos(theta)), (int)(ref.y + mag * Math.sin(theta))); + //Point release1 = new Point((int)(ref.x - mag * Math.cos(theta)), (int)(ref.y - mag * Math.sin(theta))); + //System.out.println("REFPOINT:("+ref.x+","+ref.y+") "); + //System.out.println("RELPOINT:("+release.x+","+release.y+") "); + //System.out.println("PPOINT:("+release1.x+","+release1.y+")"); + return release; + } + + /* find the release point given the sling location, launch angle and velocity + * + * @param sling - bounding rectangle of the slingshot + * theta - launch angle in radians (anticlockwise from positive direction of the x-axis) + * v - exit velocity as a proportion of the maximum velocity (maximum STRETCH) + * @return the release point on screen + */ + public Point findReleasePoint(Rectangle sling, double theta, double v) + { + double mag = getSceneScale(sling) * STRETCH * v; + Point ref = getReferencePoint(sling); + Point release = new Point((int)(ref.x - mag * Math.cos(theta)), (int)(ref.y + mag * Math.sin(theta))); + + return release; + } + + // find the reference point given the sling + public Point getReferencePoint(Rectangle sling) + { + Point p = new Point((int)(sling.x + X_OFFSET * sling.width), (int)(sling.y + Y_OFFSET * sling.width)); + return p; + } + + //get release angle + public double getReleaseAngle(Rectangle sling, Point releasePoint ) + { + Point ref = getReferencePoint(sling); + + return -Math.atan2(ref.y - releasePoint.y, ref.x - releasePoint.x); + } + + // predicts a trajectory + public List predictTrajectory(Rectangle slingshot, Point launchPoint) { + setTrajectory(slingshot, launchPoint); + return _trajectory; + } + + // take the initial angle of the desired trajectory and return the launch angle required + private double actualToLaunch(double theta) + { + for (int i = 1; i < _launchAngle.length; i++) + { + if (theta > _launchAngle[i-1] && theta < _launchAngle[i]) + return theta + _changeAngle[i-1]; + } + return theta + _changeAngle[_launchAngle.length-1]; + } + + // take the launch angle and return the actual angle of the resulting trajectory + private double launchToActual(double theta) + { + for (int i = 1; i < _launchAngle.length; i++) + { + if (theta > _launchAngle[i-1] && theta < _launchAngle[i]) + return theta - _changeAngle[i-1]; + } + return theta - _changeAngle[_launchAngle.length-1]; + } + + // adjust the scale setting for this scene + private void adjustScale(double v, double theta) + { + int i = 0; + while (i < _launchVelocity.length && theta > _launchAngle[i]) + i++; + if (i == 0) + i = 1; + + double temp = v / _launchVelocity[i-1]; + + // avoid setting velocity to NaN + if (temp != temp) + return; + + // ignore very large changes + if (temp > 1.1 || temp < 0.9) + { + //System.out.println(" temp : " + temp); + return; + } + + if (theta > Math.toRadians(50)) + _scaleFactor = temp; + else if (theta > Math.toRadians(25)) + _scaleFactor = temp * 0.6 + _scaleFactor * 0.4; + + } + + // get the velocity for the desired angle + public double getVelocity(double theta) + { + if (theta < _launchAngle[0]) + return _scaleFactor * _launchVelocity[0]; + + for (int i = 1; i < _launchAngle.length; i++) + { + if (theta < _launchAngle[i]) + return _scaleFactor * _launchVelocity[i-1]; + } + + return _scaleFactor * _launchVelocity[_launchVelocity.length-1]; + } + + // return scene scale determined by the sling size + /* + * Modified by Angry-HEX Team + * Changed modifier to public + */ + public double getSceneScale(Rectangle sling) + { + return sling.height + sling.width; + } + + // finds the active bird, i.e., the one in the slingshot + public Rectangle findActiveBird(List birds) { + // assumes that the active bird is the bird at the highest position + Rectangle activeBird = null; + for (Rectangle r : birds) { + if ((activeBird == null) || (activeBird.y > r.y)) { + activeBird = r; + } + } + return activeBird; + } + + /* + * Modified by Angry-HEX Team + * Added method "getScaleFactor" + */ + public double getScaleFactor() + { + return _scaleFactor; + } + public int getTapTime(Rectangle sling, Point release, Point target, int tapInterval) + { + if (tapInterval == 0) + return 0; + Point tapPoint = new Point(); + int distance = target.x - sling.x; + double r = ((double)tapInterval/100); + tapPoint.setLocation(new Point((int)(distance * r + sling.x) , target.y)); + return getTimeByDistance(sling, release, tapPoint); + + } + /* the estimated tap time given the tap point + * + * @param sling - bounding box of the slingshot + * release - point the mouse clicked was released from + * tapPoint - point the tap should be made + * @return tap time (relative to the release time) in milli-seconds + */ + public int getTapTime(Rectangle sling, Point release, Point tapPoint) + { + // update trajectory parameters + setTrajectory(sling, release); + + double pullback = _scale * STRETCH * Math.cos(_theta); + double distance = (tapPoint.x - _ref.x + pullback) / _scale; + + //System.out.println("distance " + distance); + //System.out.println("velocity " + _ux); + + return (int)(distance / _ux * _timeUnit); + } + +} diff --git a/framework/src/ab/planner/abTrajectory.java b/framework/src/ab/planner/abTrajectory.java new file mode 100644 index 0000000..6cf8d23 --- /dev/null +++ b/framework/src/ab/planner/abTrajectory.java @@ -0,0 +1,146 @@ +package ab.planner; + +/***************************************************************************** +** ANGRYBIRDS AI AGENT FRAMEWORK +** Copyright (c) 2014, XiaoYu (Gary) Ge, Jochen Renz, Stephen Gould, +** Sahan Abeyasinghe,Jim Keys, Andrew Wang, Peng Zhang +** All rights reserved. +**This work is licensed under the terms of the GNU Affero General Public License as published by the Free Software Foundation, either version 3 of the License, or (at your option) any later version. +**To view a copy of this license, visit http://www.gnu.org/licenses/ +*****************************************************************************/ + +import java.awt.Color; +import java.awt.Rectangle; +import java.awt.image.BufferedImage; +import java.io.ByteArrayInputStream; +import java.io.IOException; +import java.net.UnknownHostException; +import java.util.LinkedList; +import java.util.List; + +import javax.imageio.ImageIO; + +import ab.planner.TrajectoryPlanner; +import ab.server.Proxy; +import ab.server.proxy.message.ProxyScreenshotMessage; +import ab.utils.ImageSegFrame; +import ab.vision.GameStateExtractor; +import ab.vision.VisionMBR; +import ab.vision.VisionUtils; +// User Interface of the trajectory module +public class abTrajectory { + private static Proxy server; + + public abTrajectory() { + if (server == null) { + try { + server = new Proxy(9000) { + @Override + public void onOpen() { + System.out.println("Client connected"); + } + + @Override + public void onClose() { + System.out.println("Client disconnected"); + } + }; + server.start(); + + System.out.println("Server started on port: " + server.getPort()); + + System.out.println("Waiting for client to connect"); + server.waitForClients(1); + + } catch (UnknownHostException e) { + e.printStackTrace(); + } + } + } + + public BufferedImage doScreenShot() { + byte[] imageBytes = server.send(new ProxyScreenshotMessage()); + BufferedImage image = null; + try { + image = ImageIO.read(new ByteArrayInputStream(imageBytes)); + } catch (IOException e) { + // do something + } + + return image; + } + + public static void main(String args[]) { + abTrajectory ar = new abTrajectory(); + + ImageSegFrame frame = null; + GameStateExtractor gameStateExtractor = new GameStateExtractor(); + TrajectoryPlanner trajectory = new TrajectoryPlanner(); + + while (true) { + // capture image + BufferedImage screenshot = ar.doScreenShot(); + final int nHeight = screenshot.getHeight(); + final int nWidth = screenshot.getWidth(); + + System.out.println("captured image of size " + nWidth + "-by-" + nHeight); + + // extract game state + GameStateExtractor.GameState state = gameStateExtractor.getGameState(screenshot); + if (state != GameStateExtractor.GameState.PLAYING) { + continue; + } + + // process image + VisionMBR vision = new VisionMBR(screenshot); + //List pigs = vision.findPigsMBR(); + + List redBirds = vision.findRedBirdsMBRs(); + List yellowBirds = vision.findYellowBirdsMBRs(); + List blueBirds = vision.findBlueBirdsMBRs(); + List whiteBirds = vision.findWhiteBirdsMBRs(); + List blackBirds = vision.findBlackBirdsMBRs(); + List birds = new LinkedList(); + birds.addAll(redBirds); + birds.addAll(yellowBirds); + birds.addAll(blueBirds); + birds.addAll(blackBirds); + birds.addAll(whiteBirds); + + Rectangle sling = vision.findSlingshotMBR(); + if (sling == null) { + System.out.println("...could not find the slingshot"); + continue; + } + // System.out.println("...found " + pigs.size() + " pigs and " + redBirds.size() + " birds"); + System.out.println("...found slingshot at " + sling.toString()); + + // convert screenshot to grey scale and draw bounding boxes + //screenshot = VisionUtils.convert2grey(screenshot); + //VisionUtils.drawBoundingBoxes(screenshot, pigs, Color.GREEN); + VisionUtils.drawBoundingBoxes(screenshot, redBirds, Color.PINK); + VisionUtils.drawBoundingBox(screenshot, sling, Color.ORANGE); + + // find active bird + Rectangle activeBird = trajectory.findActiveBird(birds); + if (activeBird == null) { + System.out.println("...could not find active bird"); + continue; + } + + trajectory.plotTrajectory(screenshot, sling, activeBird); + + // show image + if (frame == null) { + frame = new ImageSegFrame("trajectory", screenshot); + } else { + frame.refresh(screenshot); + } + + try { + Thread.sleep(100); + } catch (InterruptedException e) { + } + } + } +} diff --git a/framework/src/ab/server/Proxy.java b/framework/src/ab/server/Proxy.java new file mode 100644 index 0000000..f07ab08 --- /dev/null +++ b/framework/src/ab/server/Proxy.java @@ -0,0 +1,120 @@ +/***************************************************************************** +** ANGRYBIRDS AI AGENT FRAMEWORK +** Copyright (c) 2014,XiaoYu (Gary) Ge, Stephen Gould,Jochen Renz +** Sahan Abeyasinghe, Jim Keys, Andrew Wang, Peng Zhang +** All rights reserved. +**This work is licensed under the terms of the GNU Affero General Public License as published by the Free Software Foundation, either version 3 of the License, or (at your option) any later version. +**To view a copy of this license, visit http://www.gnu.org/licenses/ +*****************************************************************************/ + +package ab.server; + +import java.net.InetSocketAddress; +import java.net.UnknownHostException; +import java.util.HashMap; +import java.util.concurrent.SynchronousQueue; + +import org.java_websocket.WebSocket; +import org.java_websocket.handshake.ClientHandshake; +import org.java_websocket.server.WebSocketServer; +import org.json.simple.JSONArray; +import org.json.simple.JSONObject; +import org.json.simple.JSONValue; + +/* Proxy ------------------------------------------------------------------ */ + +public class Proxy extends WebSocketServer { + private Long id = 0L; + private HashMap> results = new HashMap>(); + + private class ProxyResult { + public ProxyMessage message; + public SynchronousQueue queue = new SynchronousQueue(); + } + + public Proxy(int port) throws UnknownHostException { + super(new InetSocketAddress(port)); + } + + public Proxy(InetSocketAddress address) { + super(address); + } + + @Override + public void onOpen(WebSocket conn, ClientHandshake handshake) { + //System.out.println(conn.getRemoteSocketAddress().toString()); + onOpen(); + } + + @Override + public void onClose(WebSocket conn, int code, String reason, boolean remote) { + onClose(); + } + + @Override + public void onMessage(WebSocket conn, String message) { + JSONArray j = (JSONArray) JSONValue.parse(message); + Long id = (Long) j.get(0); + JSONObject data = (JSONObject) j.get(1); + + ProxyResult result = results.get(id); + + if (result != null) { + results.remove(id); + try { + result.queue.put(result.message.gotResponse(data)); + } catch (InterruptedException e) { + + e.printStackTrace(); + } + } + } + + @Override + public void onError(WebSocket conn, Exception ex) { + ex.printStackTrace(); + } + + @SuppressWarnings("unchecked") + public synchronized T send(ProxyMessage message) { + //Long t1 = System.nanoTime(); + JSONArray a = new JSONArray(); + a.add(id); + a.add(message.getMessageName()); + a.add(message.getJSON()); + + ProxyResult result = new ProxyResult(); + result.message = message; + results.put(id, result); + + for (WebSocket conn : connections()) { + conn.send(a.toJSONString()); + } + + + + id++; + + try { + + return (T)result.queue.take(); + } catch (InterruptedException e) { + + e.printStackTrace(); + } + return null; + } + + public void onOpen() { } + + public void onClose() { } + + public void waitForClients(int numClients) { + while (connections().size() < numClients) { + try { + Thread.sleep(100); + } catch (InterruptedException e) { + } + } + } +} diff --git a/framework/src/ab/server/ProxyMessage.java b/framework/src/ab/server/ProxyMessage.java new file mode 100644 index 0000000..f6e3551 --- /dev/null +++ b/framework/src/ab/server/ProxyMessage.java @@ -0,0 +1,19 @@ +/***************************************************************************** +** ANGRYBIRDS AI AGENT FRAMEWORK +** Copyright (c) 2014,XiaoYu (Gary) Ge, Stephen Gould,Jochen Renz +** Sahan Abeyasinghe, Jim Keys, Andrew Wang, Peng Zhang +** All rights reserved. +**This work is licensed under the terms of the GNU Affero General Public License as published by the Free Software Foundation, either version 3 of the License, or (at your option) any later version. +**To view a copy of this license, visit http://www.gnu.org/licenses/ +*****************************************************************************/ + +package ab.server; + +import org.json.simple.JSONObject; + +// interface for communicating messages between javascript plugin and server +public interface ProxyMessage { + public String getMessageName(); + public JSONObject getJSON(); + public T gotResponse(JSONObject data); +} diff --git a/framework/src/ab/server/proxy/message/ProxyClickMessage.java b/framework/src/ab/server/proxy/message/ProxyClickMessage.java new file mode 100644 index 0000000..84377e6 --- /dev/null +++ b/framework/src/ab/server/proxy/message/ProxyClickMessage.java @@ -0,0 +1,41 @@ +/***************************************************************************** +** ANGRYBIRDS AI AGENT FRAMEWORK +** Copyright (c) 2014,XiaoYu (Gary) Ge, Stephen Gould,Jochen Renz +** Sahan Abeyasinghe, Jim Keys, Andrew Wang, Peng Zhang +** All rights reserved. +**This work is licensed under the terms of the GNU Affero General Public License as published by the Free Software Foundation, either version 3 of the License, or (at your option) any later version. +**To view a copy of this license, visit http://www.gnu.org/licenses/ +*****************************************************************************/ +package ab.server.proxy.message; + +import org.json.simple.JSONObject; + +import ab.server.ProxyMessage; + +public class ProxyClickMessage implements ProxyMessage { + private int x, y; + + public ProxyClickMessage(int x, int y) { + this.x = x; + this.y = y; + } + + @Override + public String getMessageName() { + return "click"; + } + + @SuppressWarnings("unchecked") + @Override + public JSONObject getJSON() { + JSONObject o = new JSONObject(); + o.put("x", x); + o.put("y", y); + return o; + } + + @Override + public Object gotResponse(JSONObject data) { + return new Object(); + } +} diff --git a/framework/src/ab/server/proxy/message/ProxyDragMessage.java b/framework/src/ab/server/proxy/message/ProxyDragMessage.java new file mode 100644 index 0000000..e782d81 --- /dev/null +++ b/framework/src/ab/server/proxy/message/ProxyDragMessage.java @@ -0,0 +1,45 @@ +/***************************************************************************** +** ANGRYBIRDS AI AGENT FRAMEWORK +** Copyright (c) 2014,XiaoYu (Gary) Ge, Stephen Gould,Jochen Renz +** Sahan Abeyasinghe, Jim Keys, Andrew Wang, Peng Zhang +** All rights reserved. +**This work is licensed under the terms of the GNU Affero General Public License as published by the Free Software Foundation, either version 3 of the License, or (at your option) any later version. +**To view a copy of this license, visit http://www.gnu.org/licenses/ +*****************************************************************************/ +package ab.server.proxy.message; + +import org.json.simple.JSONObject; + +import ab.server.ProxyMessage; + +public class ProxyDragMessage implements ProxyMessage { + private int x, y, dx, dy; + + public ProxyDragMessage(int x, int y, int dx, int dy) { + this.x = x; + this.y = y; + this.dx = dx; + this.dy = dy; + } + + @Override + public String getMessageName() { + return "drag"; + } + + @SuppressWarnings("unchecked") + @Override + public JSONObject getJSON() { + JSONObject o = new JSONObject(); + o.put("x", x); + o.put("y", y); + o.put("dx", dx); + o.put("dy", dy); + return o; + } + + @Override + public Object gotResponse(JSONObject data) { + return new Object(); + } +} diff --git a/framework/src/ab/server/proxy/message/ProxyMouseWheelMessage.java b/framework/src/ab/server/proxy/message/ProxyMouseWheelMessage.java new file mode 100644 index 0000000..8ecad8b --- /dev/null +++ b/framework/src/ab/server/proxy/message/ProxyMouseWheelMessage.java @@ -0,0 +1,44 @@ +/***************************************************************************** +** ANGRYBIRDS AI AGENT FRAMEWORK +** Copyright (c) 2014,XiaoYu (Gary) Ge, Stephen Gould,Jochen Renz +** Sahan Abeyasinghe, Jim Keys, Andrew Wang, Peng Zhang +** All rights reserved. +**This work is licensed under the terms of the GNU Affero General Public License as published by the Free Software Foundation, either version 3 of the License, or (at your option) any later version. +**To view a copy of this license, visit http://www.gnu.org/licenses/ +*****************************************************************************/ +package ab.server.proxy.message; + +import org.json.simple.JSONObject; + +import ab.server.ProxyMessage; + +public class ProxyMouseWheelMessage implements ProxyMessage { + private int delta; + + /** + * Simulate a scroll of the mouse wheel + * + * @param delta the direction to scroll (-1 = up, 1 = down) + */ + public ProxyMouseWheelMessage(int delta) { + this.delta = delta; + } + + @Override + public String getMessageName() { + return "mousewheel"; + } + + @SuppressWarnings("unchecked") + @Override + public JSONObject getJSON() { + JSONObject o = new JSONObject(); + o.put("delta", delta); + return o; + } + + @Override + public Object gotResponse(JSONObject data) { + return new Object(); + } +} diff --git a/framework/src/ab/server/proxy/message/ProxyScreenshotMessage.java b/framework/src/ab/server/proxy/message/ProxyScreenshotMessage.java new file mode 100644 index 0000000..cf91461 --- /dev/null +++ b/framework/src/ab/server/proxy/message/ProxyScreenshotMessage.java @@ -0,0 +1,35 @@ +/***************************************************************************** +** ANGRYBIRDS AI AGENT FRAMEWORK +** Copyright (c) 2014,XiaoYu (Gary) Ge, Stephen Gould,Jochen Renz +** Sahan Abeyasinghe, Jim Keys, Andrew Wang, Peng Zhang +** All rights reserved. +**This work is licensed under the terms of the GNU Affero General Public License as published by the Free Software Foundation, either version 3 of the License, or (at your option) any later version. +**To view a copy of this license, visit http://www.gnu.org/licenses/ +*****************************************************************************/ +package ab.server.proxy.message; + +import org.apache.commons.codec.binary.Base64; +import org.json.simple.JSONObject; + +import ab.server.ProxyMessage; + +// request a screenshot from the game +public class ProxyScreenshotMessage implements ProxyMessage { + @Override + public String getMessageName() { + return "screenshot"; + } + + @Override + public JSONObject getJSON() { + return new JSONObject(); + } + + @Override + public byte[] gotResponse(JSONObject data) { + String imageStr = (String) data.get("data"); + imageStr = imageStr.split(",", 2)[1]; + byte[] imageBytes = Base64.decodeBase64(imageStr); + return imageBytes; + } +} diff --git a/framework/src/ab/utils/ABUtil.java b/framework/src/ab/utils/ABUtil.java new file mode 100644 index 0000000..83279bf --- /dev/null +++ b/framework/src/ab/utils/ABUtil.java @@ -0,0 +1,81 @@ +package ab.utils; + +import java.awt.Point; +import java.util.LinkedList; +import java.util.List; + +import ab.demo.other.Shot; +import ab.planner.TrajectoryPlanner; +import ab.vision.ABObject; +import ab.vision.Vision; + +public class ABUtil { + + public static int gap = 5; //vision tolerance. + private static TrajectoryPlanner tp = new TrajectoryPlanner(); + + // If o1 supports o2, return true + public static boolean isSupport(ABObject o2, ABObject o1) + { + if(o2.x == o1.x && o2.y == o1.y && o2.width == o1.width && o2.height == o1.height) + return false; + + int ex_o1 = o1.x + o1.width; + int ex_o2 = o2.x + o2.width; + + int ey_o2 = o2.y + o2.height; + if( + (Math.abs(ey_o2 - o1.y) < gap) + && + !( o2.x - ex_o1 > gap || o1.x - ex_o2 > gap ) + ) + return true; + + return false; + } + //Return a link list of ABObjects that support o1 (test by isSupport function ). + //objs refers to a list of potential supporters. + //Empty list will be returned if no such supporters. + public static List getSupporters(ABObject o2, List objs) + { + List result = new LinkedList(); + //Loop through the potential supporters + for(ABObject o1: objs) + { + if(isSupport(o2,o1)) + result.add(o1); + } + return result; + } + + //Return true if the target can be hit by releasing the bird at the specified release point + public static boolean isReachable(Vision vision, Point target, Shot shot) + { + //test whether the trajectory can pass the target without considering obstructions + Point releasePoint = new Point(shot.getX() + shot.getDx(), shot.getY() + shot.getDy()); + int traY = tp.getYCoordinate(vision.findSlingshotMBR(), releasePoint, target.x); + if (Math.abs(traY - target.y) > 100) + { + //System.out.println(Math.abs(traY - target.y)); + return false; + } + boolean result = true; + List points = tp.predictTrajectory(vision.findSlingshotMBR(), releasePoint); + for(Point point: points) + { + if(point.x < 840 && point.y < 480 && point.y > 100 && point.x > 400) + for(ABObject ab: vision.findBlocksMBR()) + { + if( + ((ab.contains(point) && !ab.contains(target))||Math.abs(vision.getMBRVision()._scene[point.y][point.x] - 72 ) < 10) + && point.x < target.x + ) + return false; + } + + } + return result; + } + + +} diff --git a/framework/src/ab/utils/GameImageRecorder.java b/framework/src/ab/utils/GameImageRecorder.java new file mode 100644 index 0000000..a7c8842 --- /dev/null +++ b/framework/src/ab/utils/GameImageRecorder.java @@ -0,0 +1,241 @@ +/***************************************************************************** +** ANGRYBIRDS AI AGENT FRAMEWORK +** Copyright (c) 2014,XiaoYu (Gary) Ge, Stephen Gould,Jochen Renz +** Sahan Abeyasinghe, Jim Keys, Andrew Wang, Peng Zhang +** All rights reserved. +**This work is licensed under the terms of the GNU Affero General Public License as published by the Free Software Foundation, either version 3 of the License, or (at your option) any later version. +**To view a copy of this license, visit http://www.gnu.org/licenses/ +*****************************************************************************/ +/* + * Modified by Angry-HEX Team + * Now implements Runnable + * Removed unused "import" + * Removed Auto-generated TODOs + */ +/******************************************************************************* + * Angry-HEX - an artificial player for Angry Birds based on declarative knowledge bases + * Copyright (C) 2012-2015 Francesco Calimeri, Michael Fink, Stefano Germano, Andreas Humenberger, Giovambattista Ianni, Christoph Redl, Daria Stepanova, Andrea Tucci, Anton Wimmer. + * + * This file is part of Angry-HEX. + * + * Angry-HEX is free software: you can redistribute it and/or modify it under the terms of the GNU Affero General Public License as published by the Free Software Foundation, either version 3 of the License, or (at your option) any later version. + * + * Angry-HEX is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU Affero General Public License for more details. + * + * You should have received a copy of the GNU Affero General Public License along with this program. If not, see . + *******************************************************************************/ +package ab.utils; + +import java.awt.image.BufferedImage; +import java.io.BufferedReader; +import java.io.File; +import java.io.IOException; +import java.io.InputStreamReader; +import java.util.concurrent.ArrayBlockingQueue; +import java.util.concurrent.BlockingQueue; + +import javax.imageio.ImageIO; + +import ab.demo.other.ClientActionRobotJava; +import ab.server.Proxy; + +/* GameImageRecorder ------------------------------------------------------ */ + +public class GameImageRecorder implements Runnable { + + /* + * Modified by Angry-HEX Team + * We kept the main method only for compatibility reasons + */ + static public void main(String[] args) { + + // check command line arguments + if (args.length != 1) { + System.err.println("USAGE: java GameImageRecorder "); + System.exit(1); + } + if (!(new File(args[0])).isDirectory()) { + System.err.println("ERROR: directory " + args[0] + " does not exist"); + System.exit(1); + } + } + + /* + * Modified by Angry-HEX Team + * Added new class members + */ + ClientActionRobotJava ar; + String path; + public BufferedImage currentScreenshot; + BlockingQueue queue = new ArrayBlockingQueue(100); + int frameCount; + Proxy proxy; + public static GameImageRecorder theRecorder; + /* + * Modified by Angry-HEX Team + * Added method "captureImage" + */ + //commented out because it's not used +// private BufferedImage captureImage() +// { +// byte[] imageBytes = proxy.send(new ProxyScreenshotMessage()); +// BufferedImage image = null; +// try { +// image = ImageIO.read(new ByteArrayInputStream(imageBytes)); +// } +// catch (IOException e) { e.printStackTrace(); } +// return image; +// } + /* + * Modified by Angry-HEX Team + * Added method "save" + */ + public void save(String inputFile) + + { + frameCount += 1; + + String destFile = String.format(path + File.separator + "program%04d.hex", frameCount); + Process p; + try { + p = Runtime.getRuntime().exec("cp -v "+inputFile+" "+destFile); + p.waitFor(); + + BufferedReader reader = + new BufferedReader(new InputStreamReader( + p.getInputStream())); + String line = reader.readLine(); + while (line != null) { + line = reader.readLine(); + System.out.println(line); + } + saveScreenshot(currentScreenshot); + } catch (Exception e) { + e.printStackTrace(); + } + + } + /* + * Modified by Angry-HEX Team + * Added constructor + */ + public GameImageRecorder(String p,ClientActionRobotJava a) + { + path = p; + ar = a; + //ar = new ClientActionRobotJava("localhost"); + //ar.configure(ClientActionRobot.intToByteArray(1040)); + /* + try { + proxy = new Proxy(9001) { + @Override + public void onOpen() { + System.out.println("Connected to game proxy"); + } + + @Override + public void onClose() { + System.out.println("Disconnected from game proxy"); + } + }; + } catch (UnknownHostException e) { + e.printStackTrace(); + } + proxy.start(); + System.out.println("Proxy Started"); + // proxy.waitForClients(1); + */ + + /* + Thread t = new Thread() { public void run () { + // try { + + //ar.waitConfiguration(); + /* + * while(true) { + + System.out.println("Taking Timed Screenshot"); + //scheduleScreenshot(ar.doScreenShot()); + BufferedImage im = ar.doScreenShot_(); + System.out.println("Scheduling Timed Screenshot"); + scheduleScreenshot(im); + System.out.println("Scheduled Timed Screenshot"); + Thread.sleep(50); + } + } + catch (InterruptedException e) { + e.printStackTrace(); + } + + } + }; + t.start(); + */ + // new Thread(this).start(); + } + public void run() + { + while(true) + { + + try { + //System.out.println("Waiting screenshot request"); + BufferedImage im = queue.take(); + //System.out.println("Performing screenshot PRETAKEN="+(im != null)); + saveScreenshot(im == null ? ar.doScreenShot() : im); + //System.out.println("Processed screenshot"); + } catch (InterruptedException e) { + e.printStackTrace(); + } + } + } + /* + * Modified by Angry-HEX Team + * Added method "scheduleScreenshot" + */ + public void scheduleScreenshot(BufferedImage image) + { + try { + queue.put(image); + } catch (InterruptedException e) { + e.printStackTrace(); + } + } + /* + * Modified by Angry-HEX Team + * Added method "saveScreenshot" + */ + private void saveScreenshot(BufferedImage image) { + + // enter game loop +// ar.waitConfiguration(); + /* + // capture screenshot + byte[] imageBytes = proxy.send(new ProxyScreenshotMessage()); + BufferedImage image = null; + try { + image = ImageIO.read(new ByteArrayInputStream(imageBytes)); + } catch (IOException e) { + e.printStackTrace(); + } + */ + //System.out.println("Saving Screenshot..."); + // write image to disk + //if ((screenshot == null) || + // (VisionUtils.numPixelsDifferent(screenshot, image) > 2048)) { + final String imgFilename = String.format(path + File.separator + "program%04d.png", frameCount); + //System.out.println("saving image to " + imgFilename); + try { + ImageIO.write(image, "png", new File(imgFilename)); + } catch (IOException e) { + System.err.println("failed to save image " + imgFilename); + e.printStackTrace(); + } + + // update frame count + // screenshot = image; + //} + + // sleep for a while + } +}; diff --git a/framework/src/ab/utils/ImageSegFrame.java b/framework/src/ab/utils/ImageSegFrame.java new file mode 100644 index 0000000..4b4f26d --- /dev/null +++ b/framework/src/ab/utils/ImageSegFrame.java @@ -0,0 +1,424 @@ +/***************************************************************************** +** ANGRYBIRDS AI AGENT FRAMEWORK +** Copyright (c) 2014,XiaoYu (Gary) Ge, Stephen Gould,Jochen Renz +** Sahan Abeyasinghe, Jim Keys, Andrew Wang, Peng Zhang +** All rights reserved. +**This work is licensed under the terms of the GNU Affero General Public License as published by the Free Software Foundation, either version 3 of the License, or (at your option) any later version. +**To view a copy of this license, visit http://www.gnu.org/licenses/ +*****************************************************************************/ +package ab.utils; + +import java.awt.BasicStroke; +import java.awt.Color; +import java.awt.Graphics; +import java.awt.Graphics2D; +import java.awt.GraphicsDevice; +import java.awt.GraphicsEnvironment; +import java.awt.Image; +import java.awt.Insets; +import java.awt.Point; +import java.awt.Rectangle; +import java.awt.event.KeyEvent; +import java.awt.event.KeyListener; +import java.awt.event.MouseAdapter; +import java.awt.event.MouseEvent; +import java.awt.event.MouseListener; +import java.awt.image.BufferedImage; +import java.io.File; +import java.io.FileWriter; +import java.io.IOException; +import java.io.PrintWriter; +import java.util.LinkedList; +import java.util.List; + +import javax.imageio.ImageIO; +import javax.swing.JFrame; +import javax.swing.JPanel; +import javax.swing.JToolTip; +import javax.swing.Popup; +import javax.swing.PopupFactory; +import javax.swing.SwingUtilities; + +import ab.demo.other.ActionRobot; +import ab.vision.VisionUtils; + +public class ImageSegFrame { + + private static int _saveCount = 0; + public static String saveFileDir = ""; + public static volatile boolean recordScreenshot = false; + public static volatile boolean saveAndExit = false; + public class ImagePanel extends JPanel implements KeyListener, MouseListener { + /** + * + */ + private static final long serialVersionUID = -1162922707389749340L; + protected JFrame _parent; + protected Image _img = null; + protected Popup _tip = null; + protected int[][] _meta = null; + protected Boolean _highlightMode = false; + protected int _highlightIndex = -1; + + public Boolean bWaitingForKey = false; + + + public ImagePanel(JFrame parent) { + _parent = parent; + addKeyListener(this); + addMouseListener(this); + setDoubleBuffered(true); + //set focusable then you can use key listener + setFocusable(true); + } + + public void refresh(Image img) { + refresh(img, null); + } + + public void refresh(Image img, int[][] meta) + { + _img = img; + _meta = meta; + repaint(); + } + + public void paint(Graphics g) { + + if (_img != null) { + if ((_meta != null) && (_highlightIndex != -1)) { + BufferedImage canvas = VisionUtils.highlightRegions(_img, _meta, _highlightIndex, Color.RED); + g.drawImage(canvas, 0, 0, null); + } else { + + g.drawImage(_img, 0, 0, null); + } + } + } + public void highlightTarget(Point point) + { + Graphics2D g = (Graphics2D)getGraphics(); + paint(g); + if(_img != null) + { + + g.setColor(Color.red); + g.setStroke(new BasicStroke(3)); + g.drawLine(point.x - 5, point.y - 5, point.x + 5, point.y + 5); + g.drawLine(point.x + 5, point.y - 5, point.x - 5, point.y + 5); + } + } + + public void keyPressed(KeyEvent key) { + // process key + + if (key.getKeyCode() == KeyEvent.VK_ENTER) { + _parent.setVisible(false); + _parent.dispose(); + + } + else if (key.getKeyCode() == KeyEvent.VK_D) { + + String imgFilename = saveFileDir + String.format("img%04d.png", _saveCount); + System.out.println("saving image to " + imgFilename); + BufferedImage bi = new BufferedImage(_img.getWidth(null), _img.getHeight(null), BufferedImage.TYPE_INT_ARGB); + Graphics2D g2d = bi.createGraphics(); + g2d.drawImage(_img, 0, 0, null); + g2d.dispose(); + try { + ImageIO.write(bi, "png", new File(imgFilename)); + } catch (IOException e) { + System.err.println("failed to save image " + imgFilename); + e.printStackTrace(); + } + + if (_meta != null) { + String metaFilename = String.format("meta%04d.txt", _saveCount); + System.out.println("saving meta-data to " + metaFilename); + try { + PrintWriter ofs = new PrintWriter(new FileWriter(metaFilename)); + for (int i = 0; i < _meta.length; i++) { + for (int j = 0; j < _meta[i].length; j++) { + if (j > 0) ofs.print(' '); + ofs.print(_meta[i][j]); + } + ofs.println(); + } + ofs.close(); + + } catch (IOException e) { + e.printStackTrace(); + } + + _saveCount += 1; + } + } else if (key.getKeyCode() == KeyEvent.VK_H) { + // toggle highlight mode + if (_highlightMode) { + _highlightMode = false; + this.repaint(); + } else { + _highlightMode = true; + _highlightIndex = -1; + } + + + } else if (key.getKeyCode() == KeyEvent.VK_S) + { + String imgFilename = String.format("img%04d.png", _saveCount); + System.out.println("saving image to " + imgFilename); + BufferedImage bi = new BufferedImage(_img.getWidth(null), _img.getHeight(null), BufferedImage.TYPE_INT_ARGB); + Graphics2D g2d = bi.createGraphics(); + g2d.drawImage(_img, 0, 0, null); + g2d.dispose(); + try { + ImageIO.write(bi, "png", new File(imgFilename)); + } catch (IOException e) { + System.err.println("failed to save image " + imgFilename); + e.printStackTrace(); + } + _saveCount += 1; + } + + // check if usercode is waiting for a keypress + if (bWaitingForKey) { + bWaitingForKey = false; + return; + } + } + + public void keyTyped(KeyEvent key) { + + } + public void keyReleased(KeyEvent key) { } + + public void mousePressed(MouseEvent e) { } + public void mouseReleased(MouseEvent e) { } + + public void mouseEntered(MouseEvent e) { } + public void mouseExited(MouseEvent e) { } + + public void mouseClicked(MouseEvent e) + { + if (_tip == null) { + JToolTip toolTip = this.createToolTip(); + if (_meta == null) + { + toolTip.setTipText("(" + e.getX() + ", " + e.getY() + ")"); + + } + else { + toolTip.setTipText("(" + e.getX() + ", " + e.getY() + "): " + + _meta[e.getY()][e.getX()]); + + if (_highlightMode) { + _highlightIndex = _meta[e.getY()][e.getX()]; + this.repaint(); + } + } + + Point p = new Point(e.getX(), e.getY()); + SwingUtilities.convertPointToScreen(p, this); + _tip = PopupFactory.getSharedInstance().getPopup(this, toolTip, p.x, p.y); + _tip.show(); + toolTip.addMouseListener(new MouseAdapter(){ + public void mouseClicked(MouseEvent e){ + if (_highlightMode) { + _highlightIndex = -1; + repaint(); + } + _tip.hide(); + _tip = null; + } + }); + } else { + if (_highlightMode) { + _highlightIndex = -1; + this.repaint(); + } + _tip.hide(); + _tip = null; + } + } + } + + protected JFrame frame; + protected ImagePanel panel; + protected Image img; + protected int[][] meta; + protected String name; + protected volatile boolean refresh = false; + private int bound_x = -1; + private int bound_y = -1; + public JFrame getFrame() + { + return frame; + } + public ImageSegFrame(String name, Image img, int[][] meta, int bound_x, int bound_y) + { + this.name = name; + this.img = img; + this.meta = meta; + frame = new JFrame(name); + frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); + //frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); + frame.setResizable(false); + panel = new ImagePanel(frame); + + frame.getContentPane().add(panel); + + frame.pack(); + Insets insets = frame.getInsets(); + frame.setSize(img.getWidth(null) + insets.left + insets.right, + img.getHeight(null) + insets.top + insets.bottom); + if(bound_x != -1 && bound_y != -1) + frame.setBounds(bound_x, bound_y, frame.getSize().width, frame.getSize().height); + else + { + GraphicsEnvironment ge = GraphicsEnvironment.getLocalGraphicsEnvironment(); + GraphicsDevice defaultScreen = ge.getDefaultScreenDevice(); + Rectangle rect = defaultScreen.getDefaultConfiguration().getBounds(); + int x = (int) rect.getMaxX() - frame.getWidth(); + int y = 0; + //System.out.println(frame.getWidth()); + frame.setLocation(x, y); + + } + frame.setVisible(true); + if(img != null && meta != null) + panel.refresh(img, meta); + } + public ImageSegFrame(String name, Image img, int[][] meta) { + + this.name = name; + this.img = img; + this.meta = meta; + frame = new JFrame(name); + frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); + panel = new ImagePanel(frame); + + frame.getContentPane().add(panel); + + frame.pack(); + Insets insets = frame.getInsets(); + frame.setSize(img.getWidth(null) + insets.left + insets.right, + img.getHeight(null) + insets.top + insets.bottom); + if(bound_x != -1 && bound_y != -1) + frame.setBounds(bound_x, bound_y, frame.getSize().width, frame.getSize().height); + else + { + int x = 0; + int y = 0; + frame.setLocation(x, y); + + } + frame.setVisible(true); + frame.setResizable(false); + if(img != null && meta != null) + panel.refresh(img, meta); + + //panel.requestFocus(); + } + + public ImageSegFrame(String name, Image img) { + this(name, img, null); + } + + // set new image + public void refresh(Image img) { + panel.refresh(img); + } + public void refreshNow(Image img, int[][] meta) + { + this.img = img; + this.meta = meta; + refresh = true; + } + // set new image and meta information for tooltip + public void refresh(Image img, int[][] meta) { + + panel.refresh(img, meta); + + } + public void highlightTarget(Point point) + { + panel.highlightTarget(point); + } + // close the window + public void close() { + frame.setVisible(false); + frame.dispose(); + } + + // wait for user input + public void waitForKeyPress() { + panel.bWaitingForKey = true; + while (panel.bWaitingForKey) { + try { + Thread.sleep(100); + } catch (InterruptedException e) { + } + } + } + public static void main(String args[]) throws InterruptedException, IOException + { + long timegap = 0; + if(args.length == 1) + ImageSegFrame.saveFileDir = (args[0]) + ""; + else + if(args.length == 2) + { + ImageSegFrame.saveFileDir = args[0] + ""; + timegap = Long.parseLong(args[1]); + } + + new ActionRobot(); + BufferedImage screenshot = null; + ImageSegFrame frame = null; + screenshot = ActionRobot.doScreenShot(); + frame = new ImageSegFrame(" Screenshots ", screenshot, null); + List images = new LinkedList(); + long time; + long avg = 0; + while(true) + { + if(recordScreenshot){ + time = System.nanoTime(); + screenshot = ActionRobot.doScreenShot(); + images.add(screenshot); + Thread.sleep(timegap); + avg += (System.nanoTime() - time); + } + else + { + screenshot = ActionRobot.doScreenShot(); + } + frame.refresh(screenshot); + if(saveAndExit) + { + saveFileDir += "_" + (avg/images.size()/1000000) + "\\"; + File file = new File(ImageSegFrame.saveFileDir); + if(!file.exists()) + file.mkdir(); + for (BufferedImage image : images) + { + String imgFilename = saveFileDir + String.format("img%04d.png", _saveCount ++); + System.out.println("saving image to " + imgFilename); + ImageIO.write(image, "png", new File(imgFilename)); + } + System.exit(0); + } + } + +/* if(recordScreenshot) + for (BufferedImage image : images) + { + String imgFilename = saveFileDir + String.format("img%04d.png", _saveCount ++); + ImageIO.write(image, "png", new File(imgFilename)); + } + */ + + + } + +} diff --git a/framework/src/ab/utils/StateUtil.java b/framework/src/ab/utils/StateUtil.java new file mode 100644 index 0000000..d9d2794 --- /dev/null +++ b/framework/src/ab/utils/StateUtil.java @@ -0,0 +1,97 @@ +/***************************************************************************** +** ANGRYBIRDS AI AGENT FRAMEWORK +** Copyright (c) 2014,XiaoYu (Gary) Ge, Stephen Gould,Jochen Renz +** Sahan Abeyasinghe, Jim Keys, Andrew Wang, Peng Zhang +** All rights reserved. +**This work is licensed under the terms of the GNU Affero General Public License as published by the Free Software Foundation, either version 3 of the License, or (at your option) any later version. +**To view a copy of this license, visit http://www.gnu.org/licenses/ +*****************************************************************************/ + +package ab.utils; + +import java.awt.image.BufferedImage; +import java.io.ByteArrayInputStream; +import java.io.IOException; + +import javax.imageio.ImageIO; + +import ab.server.Proxy; +import ab.server.proxy.message.ProxyScreenshotMessage; +import ab.vision.GameStateExtractor; +import ab.vision.GameStateExtractor.GameState; + + +public class StateUtil { + /** + * Get the current game state + * @return GameState: the current state + * */ + public static GameState getGameState(Proxy proxy) + { + byte[] imageBytes = proxy.send(new ProxyScreenshotMessage()); + + BufferedImage image = null; + try { + image = ImageIO.read(new ByteArrayInputStream(imageBytes)); + } catch (IOException e) { + + } + GameStateExtractor gameStateExtractor = new GameStateExtractor(); + GameStateExtractor.GameState state = gameStateExtractor.getGameState(image); + return state; + } + + private static int _getScore(Proxy proxy) + { + byte[] imageBytes = proxy.send(new ProxyScreenshotMessage()); + int score = -1; + + BufferedImage image = null; + try { + image = ImageIO.read(new ByteArrayInputStream(imageBytes)); + } + catch (IOException e) { + e.printStackTrace(); + } + + GameStateExtractor gameStateExtractor = new GameStateExtractor(); + GameState state = gameStateExtractor.getGameState(image); + if (state == GameState.PLAYING) + score = gameStateExtractor.getScoreInGame(image); + else + if(state == GameState.WON) + score = gameStateExtractor.getScoreEndGame(image); + if(score == -1) + System.out.println(" Game score is unavailable "); + return score; + } + /** + * The method checks the score every second, and return when the score is stable (not flashing). + * + * @return score: the current score. + * + * */ + public static int getScore(Proxy proxy) + { + + int current_score = -1; + while (current_score != _getScore(proxy)) + { + try { + Thread.sleep(1000); + } catch (InterruptedException e) { + + e.printStackTrace(); + } + if(getGameState(proxy) == GameState.WON) + { + current_score = _getScore(proxy); + } + else + System.out.println(" Unexpected state: PLAYING"); + } + return current_score; + } + + +} diff --git a/framework/src/ab/utils/VisionPerformanceTest.java b/framework/src/ab/utils/VisionPerformanceTest.java new file mode 100644 index 0000000..76a9f21 --- /dev/null +++ b/framework/src/ab/utils/VisionPerformanceTest.java @@ -0,0 +1,30 @@ +package ab.utils; + +import java.awt.image.BufferedImage; + +import ab.demo.other.ActionRobot; +import ab.vision.Vision; + +public class VisionPerformanceTest { + + private static void log(String message) + { + System.out.println(message); + } + /** + * @param args + */ + public static void main(String[] args) { + + new ActionRobot(); + while(true) + { + long time = System.nanoTime(); + BufferedImage image = ActionRobot.doScreenShot(); + Vision vision = new Vision(image); + vision.findBlocksMBR(); + log((System.nanoTime() - time) + ""); + } + } + +} diff --git a/framework/src/ab/vision/ABObject.java b/framework/src/ab/vision/ABObject.java new file mode 100644 index 0000000..d755307 --- /dev/null +++ b/framework/src/ab/vision/ABObject.java @@ -0,0 +1,66 @@ +/***************************************************************************** + ** ANGRYBIRDS AI AGENT FRAMEWORK + ** Copyright (c) 2014, XiaoYu (Gary) Ge, Stephen Gould, Jochen Renz + ** Sahan Abeyasinghe,Jim Keys, Andrew Wang, Peng Zhang + ** All rights reserved. +**This work is licensed under the terms of the GNU Affero General Public License as published by the Free Software Foundation, either version 3 of the License, or (at your option) any later version. +**To view a copy of this license, visit http://www.gnu.org/licenses/ + *****************************************************************************/ +package ab.vision; + +import java.awt.Point; +import java.awt.Rectangle; + +public class ABObject extends Rectangle { + private static final long serialVersionUID = 1L; + private static int counter = 0; + public int id; + //object type + public ABType type; + + public int area = 0; + //For all MBRs, the shape is Rect by default. + public ABShape shape = ABShape.Rect; + +//For all MBRs, the angle is 0 by default. + public double angle = 0; + +//is Hollow or not + public boolean hollow = false; + + +public ABObject(Rectangle mbr, ABType type) { + super(mbr); + this.type = type; + this.id = counter++; +} +public ABObject(Rectangle mbr, ABType type, int id) { + super(mbr); + this.type = type; + this.id = id; +} +public ABObject(ABObject ab) +{ + super(ab.getBounds()); + this.type = ab.type; + this.id = ab.id; +} +public ABObject() +{ + this.id = counter ++; + this.type = ABType.Unknown; +} +public ABType getType() +{ + return type; +} + +public Point getCenter() { + return new Point((int)getCenterX(), (int)getCenterY()); +} + +public static void resetCounter() { + counter = 0; +} + +} diff --git a/framework/src/ab/vision/ABShape.java b/framework/src/ab/vision/ABShape.java new file mode 100644 index 0000000..b739383 --- /dev/null +++ b/framework/src/ab/vision/ABShape.java @@ -0,0 +1,12 @@ +package ab.vision; +/***************************************************************************** + ** ANGRYBIRDS AI AGENT FRAMEWORK + ** Copyright (c) 2014, XiaoYu (Gary) Ge, Stephen Gould, Jochen Renz + ** Sahan Abeyasinghe,Jim Keys, Andrew Wang, Peng Zhang + ** All rights reserved. +**This work is licensed under the terms of the GNU Affero General Public License as published by the Free Software Foundation, either version 3 of the License, or (at your option) any later version. +**To view a copy of this license, visit http://www.gnu.org/licenses/ + *****************************************************************************/ +public enum ABShape { + Rect,Poly,Circle,Triangle +} diff --git a/framework/src/ab/vision/ABType.java b/framework/src/ab/vision/ABType.java new file mode 100644 index 0000000..03bbd25 --- /dev/null +++ b/framework/src/ab/vision/ABType.java @@ -0,0 +1,32 @@ +/***************************************************************************** + ** ANGRYBIRDS AI AGENT FRAMEWORK + ** Copyright (c) 2014, XiaoYu (Gary) Ge, Stephen Gould, Jochen Renz + ** Sahan Abeyasinghe,Jim Keys, Andrew Wang, Peng Zhang + ** All rights reserved. +**This work is licensed under the terms of the GNU Affero General Public License as published by the Free Software Foundation, either version 3 of the License, or (at your option) any later version. +**To view a copy of this license, visit http://www.gnu.org/licenses/ + *****************************************************************************/ +package ab.vision; + +public enum ABType { + + Ground(1), + Hill(2), + Sling(3), + RedBird(4), + YellowBird(5), + BlueBird(6), + BlackBird(7), + WhiteBird(8), + Pig(9), + Ice(10), + Wood(11), + Stone(12), + TNT(18), + Unknown(0); + public int id; + private ABType(int id) + { + this.id = id; + } +} diff --git a/framework/src/ab/vision/BirdType.java b/framework/src/ab/vision/BirdType.java new file mode 100644 index 0000000..b2f746c --- /dev/null +++ b/framework/src/ab/vision/BirdType.java @@ -0,0 +1,6 @@ +package ab.vision; + + +public enum BirdType { red, yellow, blue, white, black }; + + diff --git a/framework/src/ab/vision/GameStateExtractor.java b/framework/src/ab/vision/GameStateExtractor.java new file mode 100644 index 0000000..5f01f25 --- /dev/null +++ b/framework/src/ab/vision/GameStateExtractor.java @@ -0,0 +1,347 @@ +/***************************************************************************** + ** ANGRYBIRDS AI AGENT FRAMEWORK + ** Copyright (c) 2014,XiaoYu (Gary) Ge, Stephen Gould,Jochen Renz + ** Sahan Abeyasinghe, Jim Keys, Andrew Wang, Peng Zhang + ** All rights reserved. +**This work is licensed under the terms of the GNU Affero General Public License as published by the Free Software Foundation, either version 3 of the License, or (at your option) any later version. +**To view a copy of this license, visit http://www.gnu.org/licenses/ + *****************************************************************************/ + +package ab.vision; + +import java.awt.Graphics2D; +import java.awt.Rectangle; +import java.awt.image.BufferedImage; +import java.io.IOException; +import java.util.Arrays; + +import javax.imageio.ImageIO; + +/* GameStateExtractor ----------------------------------------------------- */ + +public class GameStateExtractor { + + public enum GameState { + UNKNOWN, MAIN_MENU, EPISODE_MENU, LEVEL_SELECTION, LOADING, PLAYING, WON, LOST + } + + static int repeatCount = 0; + static int prevScore = 0; + static boolean saved = false; + + // images for determining game state + private static BufferedImage _mainmenu = null; + private static BufferedImage _episodemenu = null; + private static BufferedImage _levelselection = null; + private static BufferedImage _loading = null; + private static BufferedImage _loading2 = null; + private static BufferedImage _gamewon1 = null; + private static BufferedImage _gamewon2 = null; + private static BufferedImage _gamelost = null; + + // images for classifying end game score + private static BufferedImage _endGame0 = null; + private static BufferedImage _endGame1 = null; + private static BufferedImage _endGame2 = null; + private static BufferedImage _endGame3 = null; + private static BufferedImage _endGame4 = null; + private static BufferedImage _endGame5 = null; + private static BufferedImage _endGame6 = null; + private static BufferedImage _endGame7 = null; + private static BufferedImage _endGame8 = null; + private static BufferedImage _endGame9 = null; + + + + private static class RectLeftOf implements java.util.Comparator { + public int compare(Rectangle rA, Rectangle rB) { + return (rA.x - rB.x); + } + } + + // create a game state extractor and load subimages + public GameStateExtractor() { + try { + _mainmenu = ImageIO.read(getClass().getResource( + "resources/mainmenu.png")); + _episodemenu = ImageIO.read(getClass().getResource( + "resources/episodemenu.png")); + _levelselection = ImageIO.read(getClass().getResource( + "resources/levelselection.png")); + _loading = ImageIO.read(getClass().getResource( + "resources/loading.png")); + _loading2 = ImageIO.read(getClass().getResource( + "resources/loading2.png")); + _gamewon1 = ImageIO.read(getClass().getResource( + "resources/gamewon1.png")); + _gamewon2 = ImageIO.read(getClass().getResource( + "resources/gamewon2.png")); + _gamelost = ImageIO.read(getClass().getResource( + "resources/gamelost.png")); + _endGame0 = ImageIO.read(getClass().getResource( + "resources/0endScreen.png")); + _endGame1 = ImageIO.read(getClass().getResource( + "resources/1endScreen.png")); + _endGame2 = ImageIO.read(getClass().getResource( + "resources/2endScreen.png")); + _endGame3 = ImageIO.read(getClass().getResource( + "resources/3endScreen.png")); + _endGame4 = ImageIO.read(getClass().getResource( + "resources/4endScreen.png")); + _endGame5 = ImageIO.read(getClass().getResource( + "resources/5endScreen.png")); + _endGame6 = ImageIO.read(getClass().getResource( + "resources/6endScreen.png")); + _endGame7 = ImageIO.read(getClass().getResource( + "resources/7endScreen.png")); + _endGame8 = ImageIO.read(getClass().getResource( + "resources/8endScreen.png")); + _endGame9 = ImageIO.read(getClass().getResource( + "resources/9endScreen.png")); + + } catch (IOException e) { + System.err.println("failed to load resources"); + e.printStackTrace(); + } + } + + public GameState getGameState(BufferedImage screenshot) { + + // pixel colour deviation threshold for valid detection + final int avgColourThreshold = 5; + + // check for main menu or episode menu or level selection + BufferedImage wnd = screenshot.getSubimage(636, 24, 192, 26); + + + int numBytes = 3 * wnd.getWidth() * wnd.getHeight(); + if (VisionUtils.imageDifference(wnd, _mainmenu) < numBytes + * avgColourThreshold) { + return GameState.MAIN_MENU; + } else if (VisionUtils.imageDifference(wnd, _episodemenu) < numBytes + * avgColourThreshold) { + return GameState.EPISODE_MENU; + } else if (VisionUtils.imageDifference(wnd, _levelselection) < numBytes + * avgColourThreshold) { + return GameState.LEVEL_SELECTION; + } else if ((VisionUtils.imageDifference(wnd, _loading) < numBytes + * avgColourThreshold) + || (VisionUtils.imageDifference(wnd, _loading2) < numBytes + * avgColourThreshold)) { + return GameState.LOADING; + } + // otherwise check for end game or playing + wnd = screenshot.getSubimage(467, 350, 61, 60); + numBytes = 3 * wnd.getWidth() * wnd.getHeight(); + if (VisionUtils.imageDifference(wnd, _gamewon1) < numBytes + * avgColourThreshold || VisionUtils.imageDifference(wnd, _gamewon2) < numBytes + * avgColourThreshold) { + return GameState.WON; + } + + wnd = screenshot.getSubimage(320, 112, 192, 26); + numBytes = 3 * wnd.getWidth() * wnd.getHeight(); + if (VisionUtils.imageDifference(wnd, _gamelost) < numBytes + * avgColourThreshold) { + return GameState.LOST; + } + + return GameState.PLAYING; + } + + public int getScoreInGame(BufferedImage screenshot) { + // crop score image + BufferedImage scoreImage = screenshot.getSubimage(632, 21, 200, 32); + + // extract characters + int mask[][] = new int[scoreImage.getHeight()][scoreImage.getWidth()]; + for (int y = 0; y < scoreImage.getHeight(); y++) { + for (int x = 0; x < scoreImage.getWidth(); x++) { + final int colour = scoreImage.getRGB(x, y); + mask[y][x] = ((colour & 0x00ffffff) == 0x00ffffff) ? 1 : -1; + } + } + scoreImage = VisionUtils.int2image(mask); + mask = VisionUtils.findConnectedComponents(mask); + Rectangle[] letters = VisionUtils.findBoundingBoxes(mask); + Arrays.sort(letters, new RectLeftOf()); + + // decode letters + int score = 0; + for (int i = 0; i < letters.length; i++) { + if (letters[i].width < 2) + continue; + + BufferedImage letterImage = scoreImage.getSubimage(letters[i].x, + letters[i].y, letters[i].width, letters[i].height); + final String letterHash = VisionUtils.imageDigest(letterImage); + + int value = 0; + if (letterHash.equals("62d05c5ce368be507a096aa6b5c68aeb")) { + value = 1; + } else if (letterHash.equals("518b4a3878a75aad32e23da4781e4c14")) { + value = 2; + } else if (letterHash.equals("be2b93e09c0f94a7c93b1b9cc675b26d")) { + value = 3; + } else if (letterHash.equals("3171f145ff67389b22d50ade7a13b5f7")) { + value = 4; + } else if (letterHash.equals("96c7dc988a5ad5aa50c3958a0f7869f4")) { + value = 5; + } else if (letterHash.equals("049b9aa34adf05ff2cca8cd4057a4d6b")) { + value = 6; + } else if (letterHash.equals("897aca1b39d4e2f6bc58b658e8819191")) { + value = 7; + } else if (letterHash.equals("e66e8aca895a06c1c9200b1b6b781567")) { + value = 8; + } else if (letterHash.equals("41c3010757c2e707146aa5d136e72c7a")) { + value = 9; + } + + score = 10 * score + value; + // System.out.println(i + " : " + letters[i] + " : " + letterHash + + // " : " + value); + } + + /* + * VisionUtils.drawBoundingBoxes(scoreImage, letters, Color.BLUE); if + * (_debug == null) { _debug = new ShowDebuggingImage("score", + * scoreImage); } else { _debug.refresh(scoreImage); } + */ + + return score; + } + + //transform image into black-white format + private static BufferedImage extractNumber(BufferedImage image) { + + int mask[][] = new int[image.getHeight()][image.getWidth()]; + for (int y = 0; y < image.getHeight(); y++) { + for (int x = 0; x < image.getWidth(); x++) { + final int colour = image.getRGB(x, y); + mask[y][x] = (((colour & 0x00ff0000) >> 16) > 192) ? 1 : -1; + } + } + + BufferedImage numberImage = VisionUtils.int2image(mask); + mask = VisionUtils.findConnectedComponents(mask); + Rectangle number[] = VisionUtils.findBoundingBoxes(mask); + + return numberImage.getSubimage(number[0].x, number[0].y, number[0].width, number[0].height); + } + + public int getScoreEndGame(BufferedImage screenshot) { + // crop score image + BufferedImage scoreImage = screenshot.getSubimage(370, 265, 100, 32); + + + + // transform template images into black-white format + BufferedImage[] endGameNumberTemplates = { extractNumber(_endGame0), + extractNumber(_endGame1), extractNumber(_endGame2), + extractNumber(_endGame3), extractNumber(_endGame4), + extractNumber(_endGame5), extractNumber(_endGame6), + extractNumber(_endGame7), extractNumber(_endGame8), + extractNumber(_endGame9) }; + + + // extract characters + int mask[][] = new int[scoreImage.getHeight()][scoreImage.getWidth()]; + for (int y = 0; y < scoreImage.getHeight(); y++) { + for (int x = 0; x < scoreImage.getWidth(); x++) { + final int colour = scoreImage.getRGB(x, y); + mask[y][x] = (((colour & 0x00ff0000) >> 16) > 192) ? 1 : -1; + } + } + scoreImage = VisionUtils.int2image(mask); + mask = VisionUtils.findConnectedComponents(mask); + Rectangle[] letters = VisionUtils.findBoundingBoxes(mask); + Arrays.sort(letters, new RectLeftOf()); + + // decode letters + int score = 0; + for (int i = 0; i < letters.length; i++) { + if (letters[i].width < 2) + continue; + + BufferedImage letterImage = scoreImage.getSubimage(letters[i].x, + letters[i].y, letters[i].width, letters[i].height); + + int value = 0; + + //init min different between target number and template + int minDiff = Integer.MAX_VALUE; + + //loop to find a template with minimum difference + for (int j = 0; j < 10; j++) { + int diff = getPixelDifference(letterImage, endGameNumberTemplates[j]); + if(diff < minDiff){ + minDiff = diff; + value = j; + } + } + score = 10 * score + value; + } + + /* + if (score != prevScore) + { + saved = false; + repeatCount = 0; + prevScore = score; + } + else if (score != 0 && !saved) + { + repeatCount++; + if (repeatCount > 0) + { + saved = true; + try { + File outputfile = new File("scoreImage/" + score + ".png"); + ImageIO.write(saveImage, "png", outputfile); + } catch (IOException e) { + + } + } + }*/ + + /* + * VisionUtils.drawBoundingBoxes(scoreImage, letters, Color.BLUE); if + * (_debug == null) { _debug = new ShowDebuggingImage("score", + * scoreImage); } else { _debug.refresh(scoreImage); } + */ + + return score; + } + + public int getPixelDifference(BufferedImage letter, BufferedImage template) + { + // resize the template image + int height = letter.getHeight(); + int width = (int) ((double) height / template.getHeight() * template.getWidth()); + if (height == 0 || width == 0) + return 0; + template = VisionUtils.resizeImage(template, height, width); + + // fill blank pixels + if (width < letter.getWidth()) + { + int minX = (letter.getWidth() - width) / 2; + width = letter.getWidth(); + BufferedImage temp = new BufferedImage(width, height, BufferedImage.TYPE_INT_RGB); + Graphics2D g = temp.createGraphics(); + g.drawImage(template, null, minX, 0); + template = temp; + } + else + { + int minX = (width - letter.getWidth()) / 2; + BufferedImage temp = new BufferedImage(width, height, BufferedImage.TYPE_INT_RGB); + Graphics2D g = temp.createGraphics(); + g.drawImage(letter, null, minX, 0); + letter = temp; + } + + // return image difference + return VisionUtils.imageDifference(letter, template); + } +} diff --git a/framework/src/ab/vision/ShowSeg.java b/framework/src/ab/vision/ShowSeg.java new file mode 100644 index 0000000..110d383 --- /dev/null +++ b/framework/src/ab/vision/ShowSeg.java @@ -0,0 +1,301 @@ +/***************************************************************************** +** ANGRYBIRDS AI AGENT FRAMEWORK +** Copyright (c) 2014,XiaoYu (Gary) Ge, Stephen Gould,Jochen Renz +** Sahan Abeyasinghe, Jim Keys, Andrew Wang, Peng Zhang +** All rights reserved. +**This work is licensed under the terms of the GNU Affero General Public License as published by the Free Software Foundation, either version 3 of the License, or (at your option) any later version. +**To view a copy of this license, visit http://www.gnu.org/licenses/ +*****************************************************************************/ + +package ab.vision; + +import java.awt.Color; +import java.awt.Point; +import java.awt.Rectangle; +import java.awt.image.BufferedImage; +import java.io.ByteArrayInputStream; +import java.io.File; +import java.io.FilenameFilter; +import java.io.IOException; +import java.net.UnknownHostException; +import java.util.Arrays; +import java.util.List; + +import javax.imageio.ImageIO; + +import Jama.Matrix; +import ab.demo.other.ActionRobot; +import ab.server.Proxy; +import ab.server.proxy.message.ProxyScreenshotMessage; +import ab.utils.ImageSegFrame; + +/* TestVision ------------------------------------------------------------- */ + +public class ShowSeg implements Runnable { + private static List pigs, redBirds, blueBirds, yellowBirds, blackBirds, whiteBirds, iceBlocks, woodBlocks, stoneBlocks, TNTs; + private static List trajPoints; + public static boolean useRealshape = false; + private static VisionRealShape vision; + static public Proxy getGameConnection(int port) { + Proxy proxy = null; + try { + proxy = new Proxy(port) { + @Override + public void onOpen() { + System.out.println("...connected to game proxy"); + } + + @Override + public void onClose() { + System.out.println("...disconnected from game proxy"); + } + }; + } catch (UnknownHostException e) { + e.printStackTrace(); + } + proxy.start(); + System.out.println("Waiting for proxy to connect..."); + proxy.waitForClients(1); + + return proxy; + } + + static public int[][] computeMetaInformation(BufferedImage screenshot) { + // image size + final int nHeight = screenshot.getHeight(); + final int nWidth = screenshot.getWidth(); + + // meta debugging information + int[][] meta = new int[nHeight][nWidth]; + for (int y = 0; y < nHeight; y++) { + for (int x = 0; x < nWidth; x++) { + final int colour = screenshot.getRGB(x, y); + meta[y][x] = ((colour & 0x00e00000) >> 15) + | ((colour & 0x0000e000) >> 10) + | ((colour & 0x000000e0) >> 5); + } + } + + return meta; + } + public static BufferedImage drawRealshape(BufferedImage screenshot) + { + // get game state + GameStateExtractor game = new GameStateExtractor(); + GameStateExtractor.GameState state = game.getGameState(screenshot); + if (state != GameStateExtractor.GameState.PLAYING) + { + screenshot = VisionUtils.convert2grey(screenshot); + return screenshot; + } + vision = new VisionRealShape(screenshot); + + vision.findObjects(); + vision.findPigs(); + vision.findHills(); + vision.findBirds(); + + vision.findSling(); + + vision.findTrajectory(); + vision.drawObjects(screenshot, true); + + + return screenshot; + + } + public static BufferedImage drawMBRs(BufferedImage screenshot) { + + + // get game state + GameStateExtractor game = new GameStateExtractor(); + GameStateExtractor.GameState state = game.getGameState(screenshot); + if (state != GameStateExtractor.GameState.PLAYING) { + screenshot = VisionUtils.convert2grey(screenshot); + return screenshot; + } + + + // process image + Vision vision = new Vision(screenshot); + pigs = vision.getMBRVision().findPigsMBR(); + redBirds = vision.getMBRVision().findRedBirdsMBRs(); + blueBirds = vision.getMBRVision().findBlueBirdsMBRs(); + yellowBirds = vision.getMBRVision().findYellowBirdsMBRs(); + woodBlocks = vision.getMBRVision().findWoodMBR(); + stoneBlocks = vision.getMBRVision().findStonesMBR(); + iceBlocks = vision.getMBRVision().findIceMBR(); + whiteBirds = vision.getMBRVision().findWhiteBirdsMBRs(); + blackBirds = vision.getMBRVision().findBlackBirdsMBRs(); + TNTs = vision.getMBRVision().findTNTsMBR(); + trajPoints = vision.findTrajPoints(); + + Rectangle sling = vision.findSlingshotMBR(); + + + // draw objects + screenshot = VisionUtils.convert2grey(screenshot); + VisionUtils.drawBoundingBoxes(screenshot, pigs, Color.GREEN); + VisionUtils.drawBoundingBoxes(screenshot, redBirds, Color.RED); + VisionUtils.drawBoundingBoxes(screenshot, blueBirds, Color.BLUE); + VisionUtils.drawBoundingBoxes(screenshot, yellowBirds, Color.YELLOW); + VisionUtils.drawBoundingBoxes(screenshot, woodBlocks, Color.WHITE, + Color.ORANGE); + VisionUtils.drawBoundingBoxes(screenshot, stoneBlocks, Color.WHITE, + Color.GRAY); + VisionUtils.drawBoundingBoxes(screenshot, iceBlocks, Color.WHITE, + Color.CYAN); + VisionUtils.drawBoundingBoxes(screenshot, whiteBirds, Color.WHITE, + Color.lightGray); + VisionUtils.drawBoundingBoxes(screenshot, TNTs, Color.WHITE, + Color.PINK); + VisionUtils.drawBoundingBoxes(screenshot, blackBirds, + Color.BLACK); + if (sling != null) { + VisionUtils.drawBoundingBox(screenshot, sling, Color.ORANGE, + Color.BLACK); + + // generate traj points using estimated parameters + Matrix W = vision.getMBRVision().fitParabola(trajPoints); + int p[][] = new int[2][100]; + int startx = (int) sling.getCenterX(); + for (int i = 0; i < 100; i++) { + p[0][i] = startx; + double tem = W.get(0, 0) * Math.pow(p[0][i], 2) + W.get(1, 0) + * p[0][i] + W.get(2, 0); + p[1][i] = (int) tem; + startx += 10; + } + if (W.get(0, 0) > 0) + VisionUtils.drawtrajectory(screenshot, p, Color.RED); + + } + + return screenshot; + } + + public static void main(String[] args) + { + + ImageSegFrame frame = null; + BufferedImage screenshot = null; + + // check command line arguments + if (args.length > 1) { + System.err.println(" USAGE: java TestVision [( | )]"); + System.exit(1); + } + + // connect to game proxy if no arguments given + if (args.length == 0) { + + Proxy game = getGameConnection(9000); + + while (true) { + // Capture an image + byte[] imageBytes = game.send(new ProxyScreenshotMessage()); + try { + screenshot = ImageIO.read(new ByteArrayInputStream( + imageBytes)); + } catch (IOException e) { + e.printStackTrace(); + } + + // Analyze and show image + screenshot = drawMBRs(screenshot); + //screenshot = drawRealshape(screenshot); + if (frame == null) { + frame = new ImageSegFrame("Vision", screenshot, + null); + } else { + frame.refresh(screenshot, null); + } + // sleep for 50ms + try { + Thread.sleep(50); + } catch (InterruptedException e) { + System.err.println("Thread Interrupted"); + } + } + } + + // Get list of images to process + File[] images = null; + + // Check if argument is a directory or an image + if ((new File(args[0])).isDirectory()) { + images = new File(args[0]).listFiles(new FilenameFilter() { + @Override + public boolean accept(File directory, String fileName) { + return fileName.endsWith(".png"); + } + }); + } else { + images = new File[1]; + images[0] = new File(args[0]); + } + + // Iterate through the images + Arrays.sort(images); + for (File filename : images) { + if (filename.isDirectory()) { + continue; + } + + // Load the screenshot + try { + screenshot = ImageIO.read(filename); + } catch (IOException e) { + System.err.println("ERROR: could not load image " + filename); + System.exit(1); + } + + // analyse and show image + int[][] meta = computeMetaInformation(screenshot); + screenshot = drawMBRs(screenshot); + if (frame == null) { + frame = new ImageSegFrame("Image Segementation", screenshot, meta); + } else { + frame.refresh(screenshot, meta); + } + frame.waitForKeyPress(); + } + + frame.close(); + } + //add for LoadLevel Agent + + @Override + public void run() { + + ImageSegFrame frame = null; + BufferedImage screenshot = null; + while (true) { + // capture an image + screenshot = ActionRobot.doScreenShot(); + // analyse and show image + //int[][] meta = computeMetaInformation(screenshot); + + if(!useRealshape) + screenshot = drawMBRs(screenshot); + else + screenshot = drawRealshape(screenshot); + + if (frame == null) { + + frame = new ImageSegFrame("Image Segmentation", screenshot, + null); + } else { + frame.refresh(screenshot, null); + } + + // sleep for 50ms + try { + Thread.sleep(50); + } catch (InterruptedException e) { + System.err.println(" Thread Interrupt"); + } + } + } + +} diff --git a/framework/src/ab/vision/TestVision.java b/framework/src/ab/vision/TestVision.java new file mode 100644 index 0000000..0b400f4 --- /dev/null +++ b/framework/src/ab/vision/TestVision.java @@ -0,0 +1,291 @@ +/***************************************************************************** +** ANGRYBIRDS AI AGENT FRAMEWORK +** Copyright (c) 2013,XiaoYu (Gary) Ge, Stephen Gould,Jochen Renz +** Sahan Abeyasinghe, Jim Keys, Kar-Wai Lim, Zain Mubashir, Andrew Wang, Peng Zhang +** All rights reserved. +**This work is licensed under the Creative Commons Attribution-NonCommercial-ShareAlike 3.0 Unported License. +**To view a copy of this license, visit http://creativecommons.org/licenses/by-nc-sa/3.0/ +*or send a letter to Creative Commons, 444 Castro Street, Suite 900, Mountain View, California, 94041, USA. +*****************************************************************************/ +/* + * Modified by Angry-HEX Team + * Commented because it no longer works due to changes in the framework + */ +/******************************************************************************* + * Angry-HEX - an artificial player for Angry Birds based on declarative knowledge bases + * Copyright (C) 2012-2015 Francesco Calimeri, Michael Fink, Stefano Germano, Andreas Humenberger, Giovambattista Ianni, Christoph Redl, Daria Stepanova, Andrea Tucci, Anton Wimmer. + * + * This file is part of Angry-HEX. + * + * Angry-HEX is free software: you can redistribute it and/or modify it under the terms of the GNU Affero General Public License as published by the Free Software Foundation, either version 3 of the License, or (at your option) any later version. + * + * Angry-HEX is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU Affero General Public License for more details. + * + * You should have received a copy of the GNU Affero General Public License along with this program. If not, see . + *******************************************************************************/ +//package ab.vision; +// +//import java.awt.Color; +//import java.awt.Point; +//import java.awt.Rectangle; +//import java.awt.image.BufferedImage; +//import java.io.ByteArrayInputStream; +//import java.io.File; +//import java.io.FilenameFilter; +//import java.io.IOException; +//import java.net.UnknownHostException; +//import java.util.Arrays; +//import java.util.List; +// +//import javax.imageio.ImageIO; +// +//import Jama.Matrix; +//import ab.demo.other.ActionRobot; +//import ab.demo.util.StateUtil; +//import ab.server.Proxy; +//import ab.server.proxy.message.ProxyScreenshotMessage; +//import ab.utils.ShowDebuggingImage; +// +///* TestVision ------------------------------------------------------------- */ +// +//public class TestVision implements Runnable { +// +// static public Proxy getGameConnection(int port) { +// Proxy proxy = null; +// try { +// proxy = new Proxy(port) { +// @Override +// public void onOpen() { +// System.out.println("...connected to game proxy"); +// } +// +// @Override +// public void onClose() { +// System.out.println("...disconnected from game proxy"); +// } +// }; +// } catch (UnknownHostException e) { +// e.printStackTrace(); +// } +// proxy.start(); +// System.out.println("Waiting for proxy to connect..."); +// proxy.waitForClients(1); +// +// return proxy; +// } +// +// static public int[][] computeMetaInformation(BufferedImage screenshot) { +// // image size +// final int nHeight = screenshot.getHeight(); +// final int nWidth = screenshot.getWidth(); +// +// // meta debugging information +// int[][] meta = new int[nHeight][nWidth]; +// for (int y = 0; y < nHeight; y++) { +// for (int x = 0; x < nWidth; x++) { +// final int colour = screenshot.getRGB(x, y); +// meta[y][x] = ((colour & 0x00e00000) >> 15) +// | ((colour & 0x0000e000) >> 10) +// | ((colour & 0x000000e0) >> 5); +// } +// } +// +// return meta; +// } +// +// static public BufferedImage analyseScreenShot(BufferedImage screenshot) { +// +// +// // get game state +// GameStateExtractor game = new GameStateExtractor(); +// GameStateExtractor.GameState state = game.getGameState(screenshot); +// // System.out.println(state.toString()); +// +// if (state != GameStateExtractor.GameState.PLAYING) { +// System.out.println("End game score : " + game.getScoreEndGame(screenshot)); +// screenshot = VisionUtils.convert2grey(screenshot); +// return screenshot; +// } +// +// System.out.println("In game score : " + game.getScoreInGame(screenshot)); +// // process image +// Vision vision = new Vision(screenshot); +// List pigs = vision.findPigs(); +// List redBirds = vision.findRedBirds(); +// List blueBirds = vision.findBlueBirds(); +// List yellowBirds = vision.findYellowBirds(); +// List woodBlocks = vision.findWoodAsRectangles(); +// List stoneBlocks = vision.findStonesAsRectangles(); +// List iceBlocks = vision.findIceAsRectangles(); +// List whiteBirds = vision.findWhiteBirds(); +// List blackBirds = vision.findBlackBirds(); +// List TNTs = vision.findTNTs(); +// List trajPoints = vision.findTrajPoints(); +// +// Rectangle sling = vision.findSlingshot(); +// +// +// // draw objects +// screenshot = VisionUtils.convert2grey(screenshot); +// VisionUtils.drawBoundingBoxes(screenshot, pigs, Color.GREEN); +// VisionUtils.drawBoundingBoxes(screenshot, redBirds, Color.RED); +// VisionUtils.drawBoundingBoxes(screenshot, blueBirds, Color.BLUE); +// VisionUtils.drawBoundingBoxes(screenshot, yellowBirds, Color.YELLOW); +// VisionUtils.drawBoundingBoxes(screenshot, woodBlocks, Color.WHITE, +// Color.ORANGE); +// VisionUtils.drawBoundingBoxes(screenshot, stoneBlocks, Color.WHITE, +// Color.GRAY); +// VisionUtils.drawBoundingBoxes(screenshot, iceBlocks, Color.WHITE, +// Color.CYAN); +// VisionUtils.drawBoundingBoxes(screenshot, whiteBirds, Color.WHITE, +// Color.lightGray); +// VisionUtils.drawBoundingBoxes(screenshot, TNTs, Color.WHITE, +// Color.PINK); +// VisionUtils.drawBoundingBoxes(screenshot, blackBirds, +// Color.BLACK); +// if (sling != null) { +// VisionUtils.drawBoundingBox(screenshot, sling, Color.ORANGE, +// Color.BLACK); +// +// // generate traj points using estimated parameters +// Matrix W = vision.fitParabola(trajPoints); +// int p[][] = new int[2][100]; +// int startx = (int) sling.getCenterX(); +// for (int i = 0; i < 100; i++) { +// p[0][i] = startx; +// double tem = W.get(0, 0) * Math.pow(p[0][i], 2) + W.get(1, 0) +// * p[0][i] + W.get(2, 0); +// p[1][i] = (int) tem; +// startx += 10; +// } +// if (W.get(0, 0) > 0) +// VisionUtils.drawtrajectory(screenshot, p, Color.RED); +// +// } +// +// return screenshot; +// } +// +// static public void main(String[] args) { +// +// ShowDebuggingImage frame = null; +// BufferedImage screenshot = null; +// StateUtil stateUtil = new StateUtil(); +// // check command line arguments +// if (args.length > 1) { +// System.err.println(" USAGE: java TestVision [( | )]"); +// System.exit(1); +// } +// +// // connect to game proxy if no arguments given +// if (args.length == 0) { +// GameStateExtractor gameStateExtractor = new GameStateExtractor(); +// Proxy game = getGameConnection(9000); +// +// while (true) { +// // capture an image +// byte[] imageBytes = game.send(new ProxyScreenshotMessage()); +// try { +// screenshot = ImageIO.read(new ByteArrayInputStream( +// imageBytes)); +// } catch (IOException e) { +// e.printStackTrace(); +// } +// System.out.println(" The game state is : " + gameStateExtractor.getGameState(screenshot)); +// +// // analyse and show image +// int[][] meta = computeMetaInformation(screenshot); +// screenshot = analyseScreenShot(screenshot); +// +// if (frame == null) { +// frame = new ShowDebuggingImage("TestVision", screenshot, +// meta); +// } else { +// frame.refresh(screenshot, meta); +// } +// +// // sleep for 100ms +// try { +// Thread.sleep(100); +// } catch (InterruptedException e) { +// // do nothing +// } +// } +// } +// +// // get list of images to process +// File[] images = null; +// +// // check if argument is a directory or an image +// if ((new File(args[0])).isDirectory()) { +// images = new File(args[0]).listFiles(new FilenameFilter() { +// @Override +// public boolean accept(File directory, String fileName) { +// return fileName.endsWith(".png"); +// } +// }); +// } else { +// images = new File[1]; +// images[0] = new File(args[0]); +// } +// +// // iterate through the images +// Arrays.sort(images); +// for (File filename : images) { +// if (filename.isDirectory()) { +// continue; +// } +// +// // load the screenshot +// try { +// screenshot = ImageIO.read(filename); +// } catch (IOException e) { +// System.err.println("ERROR: could not load image " + filename); +// System.exit(1); +// } +// +// // analyse and show image +// int[][] meta = computeMetaInformation(screenshot); +// screenshot = analyseScreenShot(screenshot); +// if (frame == null) { +// frame = new ShowDebuggingImage("TestVision", screenshot, meta); +// } else { +// frame.refresh(screenshot, meta); +// } +// frame.waitForKeyPress(); +// } +// +// frame.close(); +// } +// +// //add for LoadLevel Agent +// +// @Override +// public void run() { +// ShowDebuggingImage frame = null; +// BufferedImage screenshot = null; +// +// while (true) { +// // capture an image +// screenshot = ActionRobot.doScreenShot(); +// // analyse and show image +// int[][] meta = computeMetaInformation(screenshot); +// screenshot = analyseScreenShot(screenshot); +// if (frame == null) { +// +// frame = new ShowDebuggingImage("TestVision", screenshot, +// meta); +// } else { +// frame.refresh(screenshot, meta); +// } +// +// // sleep for 100ms +// try { +// Thread.sleep(100); +// } catch (InterruptedException e) { +// // do nothing +// } +// } +// } +// +//} diff --git a/framework/src/ab/vision/Vision.java b/framework/src/ab/vision/Vision.java new file mode 100644 index 0000000..7293581 --- /dev/null +++ b/framework/src/ab/vision/Vision.java @@ -0,0 +1,159 @@ +/***************************************************************************** + ** ANGRYBIRDS AI AGENT FRAMEWORK + ** Copyright (c) 2014,XiaoYu (Gary) Ge, Stephen Gould, Jochen Renz + ** Sahan Abeyasinghe, Jim Keys, Andrew Wang, Peng Zhang + ** All rights reserved. +**This work is licensed under the terms of the GNU Affero General Public License as published by the Free Software Foundation, either version 3 of the License, or (at your option) any later version. +**To view a copy of this license, visit http://www.gnu.org/licenses/ + *****************************************************************************/ +/* + * Modified by Angry-HEX Team + */ +/******************************************************************************* + * Angry-HEX - an artificial player for Angry Birds based on declarative knowledge bases + * Copyright (C) 2012-2015 Francesco Calimeri, Michael Fink, Stefano Germano, Andreas Humenberger, Giovambattista Ianni, Christoph Redl, Daria Stepanova, Andrea Tucci, Anton Wimmer. + * + * This file is part of Angry-HEX. + * + * Angry-HEX is free software: you can redistribute it and/or modify it under the terms of the GNU Affero General Public License as published by the Free Software Foundation, either version 3 of the License, or (at your option) any later version. + * + * Angry-HEX is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU Affero General Public License for more details. + * + * You should have received a copy of the GNU Affero General Public License along with this program. If not, see . + *******************************************************************************/ +package ab.vision; + +import java.awt.Point; +import java.awt.Rectangle; +import java.awt.image.BufferedImage; +import java.util.List; + +public class Vision { + private BufferedImage image; + private VisionMBR visionMBR = null; + private VisionRealShape visionRealShape = null; + + public Vision(BufferedImage image) + { + this.image = image; + } + + public List findBirdsMBR() + { + if (visionMBR == null) + { + visionMBR = new VisionMBR(image); + } + return visionMBR.findBirds(); + + } + /** + * @return a list of MBRs of the blocks in the screenshot. Blocks: Stone, Wood, Ice + * */ + public List findBlocksMBR() + { + if (visionMBR == null) + { + visionMBR = new VisionMBR(image); + } + return visionMBR.findBlocks(); + } + + public List findTNTs() + { + if(visionMBR == null) + { + visionMBR = new VisionMBR(image); + } + return visionMBR.findTNTs(); + } + public List findPigsMBR() + { + if (visionMBR == null) + { + visionMBR = new VisionMBR(image); + } + return visionMBR.findPigs(); + } + public List findPigsRealShape() + { + if(visionRealShape == null) + { + visionRealShape = new VisionRealShape(image); + } + + return visionRealShape.findPigs(); + } + public List findBirdsRealShape() + { + if(visionRealShape == null) + { + visionRealShape = new VisionRealShape(image); + } + + return visionRealShape.findBirds(); + } + + public List findHills() + { + if(visionRealShape == null) + { + visionRealShape = new VisionRealShape(image); + } + + return visionRealShape.findHills(); + } + + + public Rectangle findSlingshotMBR() + { + if (visionMBR == null) + { + visionMBR = new VisionMBR(image); + } + return visionMBR.findSlingshotMBR(); + } + + + /** + * Modified by Angry-HEX Team + * We added this method for a better recognition of the slingshot + * using the real shape vision after its fixed bug. + */ + public Rectangle findSlingshotRealShape() + { + if (visionRealShape == null) + { + visionRealShape = new VisionRealShape(image); + } + return visionRealShape.findSling(); + } + + public List findTrajPoints() + { + if (visionMBR == null) + { + visionMBR = new VisionMBR(image); + } + return visionMBR.findTrajPoints(); + } + /** + * @return a list of real shapes (represented by Body.java) of the blocks in the screenshot. Blocks: Stone, Wood, Ice + * */ + public List findBlocksRealShape() + { + if(visionRealShape == null) + { + visionRealShape = new VisionRealShape(image); + } + List allBlocks = visionRealShape.findObjects(); + + return allBlocks; + } + public VisionMBR getMBRVision() + { + if(visionMBR == null) + visionMBR = new VisionMBR(image); + return visionMBR; + } +} diff --git a/framework/src/ab/vision/VisionMBR.java b/framework/src/ab/vision/VisionMBR.java new file mode 100644 index 0000000..8e5357d --- /dev/null +++ b/framework/src/ab/vision/VisionMBR.java @@ -0,0 +1,1170 @@ +/***************************************************************************** + ** ANGRYBIRDS AI AGENT FRAMEWORK + ** Copyright (c) 2014,XiaoYu (Gary) Ge, Stephen Gould,Jochen Renz + ** Sahan Abeyasinghe, Jim Keys, Andrew Wang, Peng Zhang + ** All rights reserved. +**This work is licensed under the terms of the GNU Affero General Public License as published by the Free Software Foundation, either version 3 of the License, or (at your option) any later version. +**To view a copy of this license, visit http://www.gnu.org/licenses/ + *****************************************************************************/ + +package ab.vision; + +import java.awt.Point; +import java.awt.Rectangle; +import java.awt.image.BufferedImage; +import java.util.ArrayList; +import java.util.Arrays; +import java.util.HashSet; +import java.util.LinkedList; +import java.util.List; +import java.util.Set; + +import Jama.Matrix; + +/* Vision ----------------------------------------------------------------- */ + +public class VisionMBR { + + private int _nHeight; // height of the scene + private int _nWidth; // width of the scene + public int _scene[][]; // quantized scene colours + private int _nSegments; // number of segments + private int _segments[][]; // connected components (0 to _nSegments) + private int _colours[]; // colour for each segment + private Rectangle _boxes[]; // bounding box for each segment + private int _regionThreshold = 10; // minimal pixels in a region + + // create a vision object for processing a given screenshot + public VisionMBR(BufferedImage screenshot) { + + //Reset the ID counter for each segmentation + ABObject.resetCounter(); + processScreenShot(screenshot); + } + + //find slingshot + //only return one rectangle + public Rectangle findSlingshotMBR() { + Rectangle obj; + + + Boolean ignorePixel[][] = new Boolean[_nHeight][_nWidth]; + + for (int i = 0; i < _nHeight; i++) { + for (int j = 0; j < _nWidth; j++) { + ignorePixel[i][j] = false; + } + } + + for (int i = 0; i < _nHeight; i++) { + for (int j = 0; j < _nWidth; j++) { + if ((_scene[i][j] != 345) || ignorePixel[i][j]) + continue; + obj = new Rectangle(j, i, 0, 0); + LinkedList l = new LinkedList(); + + LinkedList pointsinRec = new LinkedList(); + + l.add(new Point(j, i)); + ignorePixel[i][j] = true; + while (true) { + if (l.isEmpty()) + break; + Point p = l.pop(); + // check if the colours of the adjacent points of p is + // belong to slingshot + + //check underneath pixel + if (p.y < _nHeight - 1) + if ((_scene[p.y + 1][p.x] == 345 + || _scene[p.y + 1][p.x] == 418 + || _scene[p.y + 1][p.x] == 273 + || _scene[p.y + 1][p.x] == 281 + || _scene[p.y + 1][p.x] == 209 + || _scene[p.y + 1][p.x] == 346 + || _scene[p.y + 1][p.x] == 354 + || _scene[p.y + 1][p.x] == 282 || _scene[p.y + 1][p.x] == 351) + && !ignorePixel[p.y + 1][p.x]) { + l.add(new Point(p.x, p.y + 1)); + obj.add(p.x, p.y + 1); + pointsinRec.add(new Point(p.x, p.y + 1)); + } + + //check right pixel + if (p.x < _nWidth - 1) + if ((_scene[p.y][p.x + 1] == 345 + || _scene[p.y][p.x + 1] == 418 + || _scene[p.y][p.x + 1] == 346 + || _scene[p.y][p.x + 1] == 354 + || _scene[p.y][p.x + 1] == 273 + || _scene[p.y][p.x + 1] == 281 + || _scene[p.y][p.x + 1] == 209 + || _scene[p.y][p.x + 1] == 282 || _scene[p.y][p.x + 1] == 351) + && !ignorePixel[p.y][p.x + 1]) { + l.add(new Point(p.x + 1, p.y)); + obj.add(p.x + 1, p.y); + pointsinRec.add(new Point(p.x, p.y + 1)); + } + + //check upper pixel + if (p.y > 0) + if ((_scene[p.y - 1][p.x] == 345 + || _scene[p.y - 1][p.x] == 418 + || _scene[p.y - 1][p.x] == 346 + || _scene[p.y - 1][p.x] == 354 + || _scene[p.y - 1][p.x] == 273 + || _scene[p.y - 1][p.x] == 281 + || _scene[p.y - 1][p.x] == 209 + || _scene[p.y - 1][p.x] == 282 || _scene[p.y - 1][p.x] == 351) + && !ignorePixel[p.y - 1][p.x]) { + l.add(new Point(p.x, p.y - 1)); + obj.add(p.x, p.y - 1); + pointsinRec.add(new Point(p.x, p.y + 1)); + } + + //check left pixel + if (p.x > 0) + if ((_scene[p.y][p.x - 1] == 345 + || _scene[p.y][p.x - 1] == 418 + || _scene[p.y][p.x - 1] == 346 + || _scene[p.y][p.x - 1] == 354 + || _scene[p.y][p.x - 1] == 273 + || _scene[p.y][p.x - 1] == 281 + || _scene[p.y][p.x - 1] == 209 + || _scene[p.y][p.x - 1] == 282 || _scene[p.y][p.x - 1] == 351) + && !ignorePixel[p.y][p.x - 1]) { + l.add(new Point(p.x - 1, p.y)); + obj.add(p.x - 1, p.y); + pointsinRec.add(new Point(p.x, p.y + 1)); + } + + //ignore checked pixels + if (p.y < _nHeight - 1) + ignorePixel[p.y + 1][p.x] = true; + if (p.x < _nWidth - 1) + ignorePixel[p.y][p.x + 1] = true; + if (p.y > 0) + ignorePixel[p.y - 1][p.x] = true; + if (p.x > 0) + ignorePixel[p.y][p.x - 1] = true; + + } + int[] hist = histogram(obj); + + // abandon shelf underneath + if (obj.height > 10) { + Rectangle col = new Rectangle(obj.x, obj.y, 1, obj.height); + int[] histCol = histogram(col); + + + if (_scene[obj.y][obj.x] == 511 + || _scene[obj.y][obj.x] == 447) { + for (int m = obj.y; m < obj.y + obj.height; m++) { + if (_scene[m][obj.x] == 345 + || _scene[m][obj.x] == 418 + || _scene[m][obj.x] == 346 + || _scene[m][obj.x] == 354 + || _scene[m][obj.x] == 273 + || _scene[m][obj.x] == 281 + || _scene[m][obj.x] == 209 + || _scene[m][obj.x] == 282 + || _scene[m][obj.x] == 351) { + obj.setSize(obj.width, m - obj.y); + break; + } + } + } + + while (histCol[511] >= obj.height * 0.8) { + obj.setBounds(obj.x + 1, obj.y, obj.width - 1, + obj.height); + col = new Rectangle(obj.x + 1, obj.y, 1, obj.height); + histCol = histogram(col); + } + + col = new Rectangle(obj.x + obj.width, obj.y, 1, obj.height); + histCol = histogram(col); + while (histCol[511] >= obj.height * 0.8 && obj.height > 10) { + obj.setSize(obj.width - 1, obj.height); + col = new Rectangle(obj.x + obj.width, obj.y, 1, + obj.height); + histCol = histogram(col); + } + } + + if (obj.width > obj.height) + continue; + + if ((hist[345] > Math.max(32, 0.1 * obj.width * obj.height)) + && (hist[64] != 0)) { + obj.add(new Rectangle(obj.x - obj.width / 10, obj.y + - obj.height / 3, obj.width / 10 * 12, + obj.height / 3 * 4)); + return obj; + } + } + } + return null; + } + + // find pigs in the current scene + public List findPigsMBR() { + ArrayList objects = new ArrayList(); + + // find candidates + Boolean ignore[] = new Boolean[_nSegments]; + Arrays.fill(ignore, false); + + for (int n = 0; n < _nSegments; n++) { + if ((_colours[n] != 376) || ignore[n]) + continue; + + // dilate bounding box of colour 376 + Rectangle bounds = VisionUtils.dialateRectangle(_boxes[n], + _boxes[n].width / 2 + 1, _boxes[n].height / 2 + 1); + Rectangle obj = _boxes[n]; + + // look for overlapping bounding boxes of colour 376 + for (int m = n + 1; m < _nSegments; m++) { + if (_colours[m] != 376) + continue; + final Rectangle bounds2 = VisionUtils.dialateRectangle( + _boxes[m], _boxes[m].width / 2 + 1, + _boxes[m].height / 2 + 1); + if (bounds.intersects(bounds2)) { + bounds.add(bounds2); + obj.add(_boxes[m]); + ignore[m] = true; + } + } + + // look for overlapping bounding boxes of colour 250 + Boolean bValidObject = false; + for (int m = 0; m < _nSegments; m++) { + if (_colours[m] != 250) + continue; + if (bounds.intersects(_boxes[m])) { + bValidObject = true; + break; + } + } + + // add object if valid + if (bValidObject) { + obj = VisionUtils.dialateRectangle(obj, obj.width / 2 + 1, + obj.height / 2 + 1); + obj = VisionUtils.cropBoundingBox(obj, _nWidth, _nHeight); + objects.add(obj); + } + } + + return objects; + } + + // find birds in the current scene + public List findRedBirdsMBRs() { + ArrayList objects = new ArrayList(); + + // test for red birds (385, 488, 501) + Boolean ignore[] = new Boolean[_nSegments]; + Arrays.fill(ignore, false); + + for (int n = 0; n < _nSegments; n++) { + if ((_colours[n] != 385) || ignore[n]) + continue; + + // dilate bounding box around colour 385 + Rectangle bounds = VisionUtils.dialateRectangle(_boxes[n], 1, + _boxes[n].height / 2 + 1); + Rectangle obj = _boxes[n]; + + // look for overlapping bounding boxes of colour 385 + for (int m = n + 1; m < _nSegments; m++) { + if (_colours[m] != 385) + continue; + final Rectangle bounds2 = VisionUtils.dialateRectangle( + _boxes[m], 1, _boxes[m].height / 2 + 1); + if (bounds.intersects(bounds2)) { + bounds.add(bounds2); + obj.add(_boxes[m]); + ignore[m] = true; + } + } + + // look for overlapping bounding boxes of colours 488 and 501 + Boolean bValidObject = false; + for (int m = 0; m < _nSegments; m++) { + if ((_colours[m] != 488) && (_colours[m] != 501)) + continue; + if (bounds.intersects(_boxes[m])) { + obj.add(_boxes[m]); + bValidObject = true; + } + } + + if (bValidObject) { + obj = VisionUtils.cropBoundingBox(obj, _nWidth, _nHeight); + objects.add(obj); + } + } + + return objects; + } + + public List findBlueBirdsMBRs() { + ArrayList objects = new ArrayList(); + + // test for blue birds (238) + Boolean ignore[] = new Boolean[_nSegments]; + Arrays.fill(ignore, false); + + for (int n = 0; n < _nSegments; n++) { + if ((_colours[n] != 238) || ignore[n]) + continue; + + // dilate bounding box around colour 238 + Rectangle bounds = VisionUtils.dialateRectangle(_boxes[n], 1, + _boxes[n].height / 2 + 1); + Rectangle obj = _boxes[n]; + + // look for overlapping bounding boxes of colours 238, 165, 280, + // 344, 488, 416 + for (int m = n + 1; m < _nSegments; m++) { + if ((_colours[m] != 238) && (_colours[m] != 165) + && (_colours[m] != 280) && (_colours[m] != 344) + && (_colours[m] != 488) && (_colours[m] != 416)) + continue; + final Rectangle bounds2 = VisionUtils.dialateRectangle( + _boxes[m], 2, _boxes[m].height / 2 + 1); + if (bounds.intersects(bounds2)) { + bounds.add(bounds2); + obj.add(_boxes[m]); + ignore[m] = true; + } + } + + for (int m = n + 1; m < _nSegments; m++) { + if (_colours[m] != 238) + continue; + final Rectangle bounds2 = VisionUtils.dialateRectangle( + _boxes[m], 2, _boxes[m].height / 2 + 1); + if (bounds.intersects(bounds2)) { + ignore[m] = true; + } + } + + // look for overlapping bounding boxes of colours 488 + Boolean bValidObject = false; + for (int m = 0; m < _nSegments; m++) { + if (_colours[m] != 488) + continue; + if (bounds.intersects(_boxes[m])) { + obj.add(_boxes[m]); + bValidObject = true; + } + } + + if (bValidObject && (obj.width > 3)) { + obj = VisionUtils.cropBoundingBox(obj, _nWidth, _nHeight); + objects.add(obj); + } + } + + return objects; + } + + public List findYellowBirdsMBRs() { + ArrayList objects = new ArrayList(); + + // test for blue birds (497) + Boolean ignore[] = new Boolean[_nSegments]; + Arrays.fill(ignore, false); + + for (int n = 0; n < _nSegments; n++) { + if ((_colours[n] != 497) || ignore[n]) + continue; + + // dilate bounding box around colour 497 + Rectangle bounds = VisionUtils.dialateRectangle(_boxes[n], 2, 2); + Rectangle obj = _boxes[n]; + + // look for overlapping bounding boxes of colours 497 + for (int m = n + 1; m < _nSegments; m++) { + if (_colours[m] != 497) + continue; + final Rectangle bounds2 = VisionUtils.dialateRectangle( + _boxes[m], 2, 2); + if (bounds.intersects(bounds2)) { + bounds.add(bounds2); + obj.add(_boxes[m]); + ignore[m] = true; + } + } + + // confirm secondary colours 288 + obj = VisionUtils.dialateRectangle(obj, 2, 2); + obj = VisionUtils.cropBoundingBox(obj, _nWidth, _nHeight); + int[] hist = histogram(obj); + if (hist[288] > 0) { + objects.add(obj); + } + } + + return objects; + } + + public List findWhiteBirdsMBRs() { + ArrayList objects = new ArrayList(); + + // test for white birds (490) + Boolean ignore[] = new Boolean[_nSegments]; + Arrays.fill(ignore, false); + + for (int n = 0; n < _nSegments; n++) { + if ((_colours[n] != 490) || ignore[n]) + continue; + + // dilate bounding box around colour 490 + Rectangle bounds = VisionUtils.dialateRectangle(_boxes[n], 2, 2); + Rectangle obj = _boxes[n]; + + // look for overlapping bounding boxes of colour 490 + for (int m = n + 1; m < _nSegments; m++) { + if (_colours[m] != 490 + && _colours[m] != 508 + && _colours[m] != 510) + continue; + final Rectangle bounds2 = VisionUtils.dialateRectangle( + _boxes[m], 2, 2); + if (bounds.intersects(bounds2)) { + bounds.add(bounds2); + obj.add(_boxes[m]); + ignore[m] = true; + } + } + + // confirm secondary colour 510 + obj = VisionUtils.dialateRectangle(obj, 2, 2); + obj = VisionUtils.cropBoundingBox(obj, _nWidth, _nHeight); + // remove objects too high or too low in the image + // (probably false positives) + if ((obj.y < 60) || (obj.y > 385)) { + continue; + } + int[] hist = histogram(obj); + if (hist[510] > 0 && hist[508] > 0) { + objects.add(obj); + } + } + + return objects; + } + public List findBlocks(){ + List stone = findStonesMBR(); + List wood = findWoodMBR(); + List ice = findIceMBR(); + List objects = new LinkedList(); + objects.addAll(constructABObjects(stone,ABType.Stone)); + objects.addAll(constructABObjects(wood,ABType.Wood)); + objects.addAll(constructABObjects(ice,ABType.Ice)); + return objects; + } + public List findBirds(){ + + List rbirds = findRedBirdsMBRs(); + List ybirds = findYellowBirdsMBRs(); + List blbirds = findBlueBirdsMBRs(); + List blackbirds = findBlackBirdsMBRs(); + List wbirds = findWhiteBirdsMBRs(); + List objects = new LinkedList(); + objects.addAll(constructABObjects(rbirds, ABType.RedBird)); + objects.addAll(constructABObjects(ybirds,ABType.YellowBird)); + objects.addAll(constructABObjects(blbirds,ABType.BlueBird)); + objects.addAll(constructABObjects(blackbirds,ABType.BlackBird)); + objects.addAll(constructABObjects(wbirds,ABType.WhiteBird)); + return objects; + } + + public List findPigs(){ + + return constructABObjects(findPigsMBR(), ABType.Pig); + } + + private List constructABObjects(List mbrs, ABType type) + { + + List objects = new LinkedList(); + if(type == ABType.Wood || type == ABType.Ice || type == ABType.Stone || type == ABType.TNT) + for(Rectangle rec: mbrs) + objects.add(new ABObject(rec, type)); + else + if(type == ABType.Pig) + for(Rectangle rec: mbrs) + objects.add(new ABObject(rec, type)); + else + for(Rectangle rec: mbrs) + objects.add(new ABObject(rec, type)); + return objects; + } + public List findBlackBirdsMBRs() { + ArrayList objects = new ArrayList(); + + // test for white birds (488) + Boolean ignore[] = new Boolean[_nSegments]; + Arrays.fill(ignore, false); + + for (int n = 0; n < _nSegments; n++) { + if ((_colours[n] != 488) || ignore[n]) + continue; + + // dilate bounding box around colour 488 + Rectangle bounds = VisionUtils.dialateRectangle(_boxes[n], 2, 2); + Rectangle obj = _boxes[n]; + + // look for overlapping bounding boxes of colour 488 + for (int m = n + 1; m < _nSegments; m++) { + if (_colours[m] != 488 + && _colours[m] != 146 + && _colours[m] != 64 + && _colours[m] != 0) + continue; + final Rectangle bounds2 = VisionUtils.dialateRectangle( + _boxes[m], 2, 2); + if (bounds.intersects(bounds2)) { + bounds.add(bounds2); + obj.add(_boxes[m]); + ignore[m] = true; + } + } + + // confirm secondary colour + obj = VisionUtils.dialateRectangle(obj, 2, 2); + obj = VisionUtils.cropBoundingBox(obj, _nWidth, _nHeight); + int[] hist = histogram(obj); + if ((hist[0] > Math.max(32, 0.1 * obj.width * obj.height))&& hist[64] > 0 && hist[385] == 0) { + objects.add(obj); + } + } + + return objects; + } + public List findStonesMBR() { + ArrayList objects = new ArrayList(); + + + Boolean ignorePixel[][] = new Boolean[_nHeight][_nWidth]; + + for (int i = 0; i < _nHeight; i++) { + for (int j = 0; j < _nWidth; j++) { + ignorePixel[i][j] = false; + } + } + + for (int i = 0; i < _nHeight; i++) { + for (int j = 0; j < _nWidth; j++) { + if ((_scene[i][j] != 365) || ignorePixel[i][j]) + continue; + Rectangle obj = new Rectangle(j, i, 0, 0); + LinkedList l = new LinkedList(); + l.add(new Point(j, i)); + ignorePixel[i][j] = true; + while (true) { + if (l.isEmpty()) + break; + Point p = l.pop(); + // check if the colours of the adjacent points of p is + // belong to stone + if (p.y < _nHeight - 1) + if ((_scene[p.y + 1][p.x] == 365) + && !ignorePixel[p.y + 1][p.x]) { + l.add(new Point(p.x, p.y + 1)); + obj.add(p.x, p.y + 1); + } + if (p.x < _nWidth - 1) + if ((_scene[p.y][p.x + 1] == 365) + && !ignorePixel[p.y][p.x + 1]) { + l.add(new Point(p.x + 1, p.y)); + obj.add(p.x + 1, p.y); + } + + if (p.y > 0) + if ((_scene[p.y - 1][p.x] == 365) + && !ignorePixel[p.y - 1][p.x]) { + l.add(new Point(p.x, p.y - 1)); + obj.add(p.x, p.y - 1); + } + + if (p.x > 0) + if ((_scene[p.y][p.x - 1] == 365) + && !ignorePixel[p.y][p.x - 1]) { + l.add(new Point(p.x - 1, p.y)); + obj.add(p.x - 1, p.y); + } + + if (p.y < _nHeight - 1) + ignorePixel[p.y + 1][p.x] = true; + if (p.x < _nWidth - 1) + ignorePixel[p.y][p.x + 1] = true; + if (p.y > 0) + ignorePixel[p.y - 1][p.x] = true; + if (p.x > 0) + ignorePixel[p.y][p.x - 1] = true; + + } + if (obj.width * obj.height > _regionThreshold + && !(new Rectangle(0, 0, 190, 55).contains(obj))) + objects.add(obj); + } + } + return objects; + } + + public List findIceMBR() { + ArrayList objects = new ArrayList(); + + + Boolean ignorePixel[][] = new Boolean[_nHeight][_nWidth]; + + for (int i = 0; i < _nHeight; i++) { + for (int j = 0; j < _nWidth; j++) { + ignorePixel[i][j] = false; + } + + } + + for (int i = 0; i < _nHeight; i++) { + for (int j = 0; j < _nWidth; j++) { + if ((_scene[i][j] != 311) || ignorePixel[i][j]) + continue; + Rectangle obj = new Rectangle(j, i, 0, 0); + LinkedList l = new LinkedList(); + l.add(new Point(j, i)); + ignorePixel[i][j] = true; + while (true) { + if (l.isEmpty()) + break; + Point p = l.pop(); + // check if the colours of the adjacent points of p is + // belong to ice + if (p.y < _nHeight - 1) + if ((_scene[p.y + 1][p.x] == 311 + || _scene[p.y + 1][p.x] == 247 || _scene[p.y + 1][p.x] == 183) + && !ignorePixel[p.y + 1][p.x]) { + l.add(new Point(p.x, p.y + 1)); + obj.add(p.x, p.y + 1); + } + if (p.x < _nWidth - 1) + if ((_scene[p.y][p.x + 1] == 311 + || _scene[p.y][p.x + 1] == 247 || _scene[p.y][p.x + 1] == 183) + && !ignorePixel[p.y][p.x + 1]) { + l.add(new Point(p.x + 1, p.y)); + obj.add(p.x + 1, p.y); + } + if (p.y > 0) + if ((_scene[p.y - 1][p.x] == 311 + || _scene[p.y - 1][p.x] == 247 || _scene[p.y - 1][p.x] == 183) + && !ignorePixel[p.y - 1][p.x]) { + l.add(new Point(p.x, p.y - 1)); + obj.add(p.x, p.y - 1); + } + if (p.x > 0) + if ((_scene[p.y][p.x - 1] == 311 + || _scene[p.y][p.x - 1] == 247 || _scene[p.y][p.x - 1] == 183) + && !ignorePixel[p.y][p.x - 1]) { + l.add(new Point(p.x - 1, p.y)); + obj.add(p.x - 1, p.y); + } + + if (p.y < _nHeight - 1) + ignorePixel[p.y + 1][p.x] = true; + if (p.x < _nWidth - 1) + ignorePixel[p.y][p.x + 1] = true; + if (p.y > 0) + ignorePixel[p.y - 1][p.x] = true; + if (p.x > 0) + ignorePixel[p.y][p.x - 1] = true; + + } + if (obj.width * obj.height > _regionThreshold + && !(new Rectangle(0, 0, 190, 55).contains(obj))) + objects.add(obj); + } + } + return objects; + } + + public List findWoodMBR() { + ArrayList objects = new ArrayList(); + + + // Boolean ignore[] = new Boolean[_nSegments]; + Boolean ignorePixel[][] = new Boolean[_nHeight][_nWidth]; + + for (int i = 0; i < _nHeight; i++) { + for (int j = 0; j < _nWidth; j++) { + ignorePixel[i][j] = false; + } + + } + + for (int i = 0; i < _nHeight; i++) { + for (int j = 0; j < _nWidth; j++) { + if ((_scene[i][j] != 481) || ignorePixel[i][j]) + continue; + Rectangle obj = new Rectangle(j, i, 0, 0); + LinkedList l = new LinkedList(); + List pointBag = new ArrayList(); + l.add(new Point(j, i)); + pointBag.add(new Point(j, i)); + ignorePixel[i][j] = true; + while (true) { + if (l.isEmpty()) + break; + Point p = l.pop(); + // check if the colours of the adjacent points of p is + // belong to wood + if (p.y < _nHeight - 1) + if ((_scene[p.y + 1][p.x] == 481 + || _scene[p.y + 1][p.x] == 408 || _scene[p.y + 1][p.x] == 417) + && !ignorePixel[p.y + 1][p.x]) { + l.add(new Point(p.x, p.y + 1)); + obj.add(p.x, p.y + 1); + pointBag.add(new Point(p.x, p.y + 1)); + } + if (p.x < _nWidth - 1) + if ((_scene[p.y][p.x + 1] == 481 + || _scene[p.y][p.x + 1] == 408 || _scene[p.y][p.x + 1] == 417) + && !ignorePixel[p.y][p.x + 1]) { + l.add(new Point(p.x + 1, p.y)); + obj.add(p.x + 1, p.y); + pointBag.add(new Point(p.x + 1, p.y)); + } + if (p.y > 0) + if ((_scene[p.y - 1][p.x] == 481 + || _scene[p.y - 1][p.x] == 408 || _scene[p.y - 1][p.x] == 417) + && !ignorePixel[p.y - 1][p.x]) { + l.add(new Point(p.x, p.y - 1)); + obj.add(p.x, p.y - 1); + pointBag.add(new Point(p.x, p.y - 1)); + } + if (p.x > 0) + if ((_scene[p.y][p.x - 1] == 481 + || _scene[p.y][p.x - 1] == 408 || _scene[p.y][p.x - 1] == 417) + && !ignorePixel[p.y][p.x - 1]) { + l.add(new Point(p.x - 1, p.y)); + obj.add(p.x - 1, p.y); + pointBag.add(new Point(p.x - 1, p.y)); + } + + if (p.y < _nHeight - 1) + ignorePixel[p.y + 1][p.x] = true; + if (p.x < _nWidth - 1) + ignorePixel[p.y][p.x + 1] = true; + if (p.y > 0) + ignorePixel[p.y - 1][p.x] = true; + if (p.x > 0) + ignorePixel[p.y][p.x - 1] = true; + + } + if (obj.width * obj.height > _regionThreshold + && !(new Rectangle(0, 0, 190, 55).contains(obj))) + objects.add(obj); + } + } + + return objects; + } + + public List findTNTs() + { + List tnts = findTNTsMBR(); + return constructABObjects(tnts, ABType.TNT); + } + public List findTNTsMBR() { + ArrayList objects = new ArrayList(); + + Boolean ignore[] = new Boolean[_nSegments]; + Arrays.fill(ignore, false); + + for (int n = 0; n < _nSegments; n++) { + if ((_colours[n] != 410) || ignore[n]) + continue; + + // dilate bounding box around colour 410 + Rectangle bounds = VisionUtils.dialateRectangle(_boxes[n], 2, 2); + Rectangle obj = _boxes[n]; + + // look for overlapping bounding boxes of colour 410 + for (int m = n + 1; m < _nSegments; m++) { + if (_colours[m] != 410 + && _colours[m] != 418) + continue; + final Rectangle bounds2 = VisionUtils.dialateRectangle( + _boxes[m], 2, 2); + if (bounds.intersects(bounds2)) { + bounds.add(bounds2); + obj.add(_boxes[m]); + ignore[m] = true; + } + } + + obj = VisionUtils.dialateRectangle(obj, 2, 2); + obj = VisionUtils.cropBoundingBox(obj, _nWidth, _nHeight); + + //check secondary colour + int[] hist = histogram(obj); + if (hist[457] > 0 && hist[511] > 0) { + objects.add(obj); + } + } + + return objects; + } + + + + // find trajectory points + @SuppressWarnings("unchecked") + public ArrayList findTrajPoints() { + ArrayList objects = new ArrayList(); + ArrayList objectsRemovedNoise; + + + Boolean ignorePixel[][] = new Boolean[_nHeight][_nWidth]; + + for (int i = 0; i < _nHeight; i++) { + for (int j = 0; j < _nWidth; j++) { + ignorePixel[i][j] = false; + } + + } + + for (int i = 0; i < _nHeight; i++) { + for (int j = 0; j < _nWidth; j++) { + if ((_scene[i][j] != 365 && _scene[i][j] != 366 && _scene[i][j] != 438) + || ignorePixel[i][j]) + continue; + Rectangle obj = new Rectangle(j, i, 0, 0); + LinkedList l = new LinkedList(); + l.add(new Point(j, i)); + ignorePixel[i][j] = true; + while (true) { + if (l.isEmpty()) + break; + Point p = l.pop(); + // check if the colours of the adjacent points of p is + // belong to traj Points + if (p.y < _nHeight - 1 && p.x < _nWidth - 1 && p.y > 0 + && p.x > 0) { + if ((_scene[p.y + 1][p.x] == 365 + || _scene[p.y + 1][p.x] == 366 || _scene[p.y + 1][p.x] == 438) + && !ignorePixel[p.y + 1][p.x]) { + l.add(new Point(p.x, p.y + 1)); + obj.add(p.x, p.y + 1); + } + + if ((_scene[p.y][p.x + 1] == 365 + || _scene[p.y][p.x + 1] == 366 || _scene[p.y][p.x + 1] == 438) + && !ignorePixel[p.y][p.x + 1]) { + l.add(new Point(p.x + 1, p.y)); + obj.add(p.x + 1, p.y); + } + + if ((_scene[p.y - 1][p.x] == 365 + || _scene[p.y - 1][p.x] == 366 || _scene[p.y - 1][p.x] == 438) + && !ignorePixel[p.y - 1][p.x]) { + l.add(new Point(p.x, p.y - 1)); + obj.add(p.x, p.y - 1); + } + + if ((_scene[p.y][p.x - 1] == 365 + || _scene[p.y][p.x - 1] == 366 || _scene[p.y][p.x - 1] == 438) + && !ignorePixel[p.y][p.x - 1]) { + l.add(new Point(p.x - 1, p.y)); + obj.add(p.x - 1, p.y); + } + + if ((_scene[p.y - 1][p.x - 1] == 365 + || _scene[p.y - 1][p.x - 1] == 366 || _scene[p.y - 1][p.x - 1] == 438) + && !ignorePixel[p.y - 1][p.x - 1]) { + l.add(new Point(p.x - 1, p.y - 1)); + obj.add(p.x - 1, p.y - 1); + } + + if ((_scene[p.y - 1][p.x + 1] == 365 + || _scene[p.y - 1][p.x + 1] == 366 || _scene[p.y - 1][p.x + 1] == 438) + && !ignorePixel[p.y - 1][p.x + 1]) { + l.add(new Point(p.x + 1, p.y - 1)); + obj.add(p.x + 1, p.y - 1); + } + + if ((_scene[p.y + 1][p.x + 1] == 365 + || _scene[p.y + 1][p.x + 1] == 366 || _scene[p.y + 1][p.x + 1] == 438) + && !ignorePixel[p.y + 1][p.x + 1]) { + l.add(new Point(p.x + 1, p.y + 1)); + obj.add(p.x + 1, p.y + 1); + } + + if ((_scene[p.y + 1][p.x - 1] == 365 + || _scene[p.y + 1][p.x - 1] == 366 || _scene[p.y + 1][p.x - 1] == 438) + && !ignorePixel[p.y + 1][p.x - 1]) { + l.add(new Point(p.x - 1, p.y + 1)); + obj.add(p.x - 1, p.y + 1); + } + + } + if (p.y < _nHeight - 1 && p.x < _nWidth - 1 && p.y > 0 + && p.x > 0) { + ignorePixel[p.y + 1][p.x] = true; + ignorePixel[p.y][p.x + 1] = true; + + ignorePixel[p.y - 1][p.x] = true; + ignorePixel[p.y][p.x - 1] = true; + + ignorePixel[p.y + 1][p.x + 1] = true; + ignorePixel[p.y - 1][p.x + 1] = true; + ignorePixel[p.y + 1][p.x - 1] = true; + ignorePixel[p.y - 1][p.x - 1] = true; + } + } + + + if (obj.height * obj.width <= 25) + objects.add(new Point((int) obj.getCenterX(), (int) obj + .getCenterY())); + } + } + + objectsRemovedNoise = (ArrayList) objects.clone(); + + // remove noise points + Matrix W = fitParabola(objects); + double maxError = 10; + Rectangle menu = new Rectangle(0, 0, 205, 60); + + for (Point o : objects) { + if (Math.abs(W.get(0, 0) * Math.pow(o.x, 2) + W.get(1, 0) * o.x + + W.get(2, 0) - o.y) > maxError) { + objectsRemovedNoise.remove(o); + } + + if (menu.contains(o)) { + objectsRemovedNoise.remove(o); + } + } + + return objectsRemovedNoise; + } + + //fit parabola using maximum likelihood + // vector W = (w0,w1,w2)T , y = w0*x^2 + w1*x + w2 + public Matrix fitParabola(List objects) { + int trainingSize = 60; + double arrayPhiX[][] = new double[trainingSize][3]; // Training set + double arrayY[][] = new double[trainingSize][1]; + + Rectangle sling = this.findSlingshotMBR(); + + Matrix PhiX, Y; + Matrix W = new Matrix(new double[] { 0, 0, 0 }, 3); + int i = 0; + for (Point p : objects) { + + //if slingshot not detected, abandon side noises + if (sling == null) { + if (Math.abs(p.x - _nWidth / 2) <= _nWidth / 6 + && p.y <= _nHeight / 5 * 3 && i < trainingSize) { + arrayPhiX[i][0] = Math.pow(p.x, 2); + arrayPhiX[i][1] = p.x; + arrayPhiX[i][2] = 1; + arrayY[i][0] = p.y; + i++; + } + } + + // if slingshot detected, abandon noises to the left of slingshot + else { + if (p.x >= sling.getCenterX() + sling.width * 2 + && p.x <= sling.getCenterX() + _nWidth / 3 + && p.y <= sling.getCenterY() && i < trainingSize) { + arrayPhiX[i][0] = Math.pow(p.x, 2); + arrayPhiX[i][1] = p.x; + arrayPhiX[i][2] = 1; + arrayY[i][0] = p.y; + i++; + } + } + } + + PhiX = new Matrix(arrayPhiX); + Y = new Matrix(arrayY); + + // Maximum likelihood + try { + W = PhiX.transpose().times(PhiX).inverse().times(PhiX.transpose()) + .times(Y); + } catch (Exception e) { + // if Matrix is singular + // do nothing + } + return W; + } + + // train parabola using gradient descent + public Matrix trainParabola(ArrayList objects) { + + double points[][] = new double[objects.size()][2]; + double alpha = 1e-10; + int trainingSize = 100; + + double trainingSet[][] = new double[trainingSize][2]; + double SquareError; + Matrix deltaError; + + int i = 0, j = 0; + for (Rectangle p : objects) { + points[i][0] = p.getCenterX(); + points[i][1] = p.getCenterY(); + if (Math.abs(p.getCenterX() - _nWidth / 2) <= _nWidth / 4 + && Math.abs(p.getCenterY() - _nHeight / 2) <= _nHeight / 5 + && j < trainingSize) { + trainingSet[j][0] = points[i][0]; + trainingSet[j][1] = points[i][1]; + j++; + } + i++; + } + + + Matrix W = new Matrix(new double[] { 0, 0, 0 }, 3);// parabola + // parameters + + Matrix phiX; + for (int x = -50; x < 50; x++) { + if (x + 50 < trainingSize) { + trainingSet[x + 50][0] = x; + trainingSet[x + 50][1] = -x * x + 20 * x + 1; + } + } + + for (int it = 0; it < 50000; it++) { + SquareError = 0.; + for (int n = 0; n < trainingSize; n++) { + if (trainingSet[n][0] > 0) { + double xn = trainingSet[n][0]; + double yn = trainingSet[n][1]; + phiX = new Matrix(new double[] { Math.pow(xn, 2), xn, 1. }, + 3); + + deltaError = phiX.times((yn - W.transpose().times(phiX) + .get(0, 0))); + + + W = W.plus(deltaError.times(alpha)); + SquareError += Math.pow( + yn - phiX.transpose().times(W).get(0, 0), 2); + + } + } + if (it % 1000 == 0) { + System.out.print(SquareError + "\n"); + W.print(1, 30); + } + } + + return W; + } + + // find bounding boxes around an arbitrary colour code + public List findColour(int colourCode) { + ArrayList objects = new ArrayList(); + + for (int n = 0; n < _nSegments; n++) { + if (_colours[n] == colourCode) { + objects.add(_boxes[n]); + } + } + + return objects; + } + + // query the colour at given pixel + public Integer query(Point p) { + if ((p.x >= _nWidth) || (p.y >= _nHeight)) { + System.err.println("pixel (" + p.x + ", " + p.y + + ") is out of range"); + return null; + } + + return _colours[_segments[p.y][p.x]]; + } + + // query colours within given bounding box + public Set query(Rectangle r) { + Set s = new HashSet(); + for (int n = 0; n < _nSegments; n++) { + if (r.contains(_boxes[n])) { + s.add(_colours[n]); + } + } + return s; + } + + // compute a histogram of colours within a given bounding box + public int[] histogram(Rectangle r) { + int[] h = new int[512]; + Arrays.fill(h, 0); + + for (int y = r.y; y < r.y + r.height; y++) { + if ((y < 0) || (y >= _nHeight)) + continue; + for (int x = r.x; x < r.x + r.width; x++) { + if ((x < 0) || (x >= _nWidth)) + continue; + h[_colours[_segments[y][x]]] += 1; + } + } + + return h; + } + + // perform preprocessing of a new screenshot + private void processScreenShot(BufferedImage screenshot) { + // extract width and height + _nHeight = screenshot.getHeight(); + _nWidth = screenshot.getWidth(); + if ((_nHeight != 480) && (_nWidth != 840)) { + System.err.println("ERROR: expecting 840-by-480 image"); + System.exit(1); + } + + // quantize to 3-bit colour + _scene = new int[_nHeight][_nWidth]; + for (int y = 0; y < _nHeight; y++) { + for (int x = 0; x < _nWidth; x++) { + final int colour = screenshot.getRGB(x, y); + _scene[y][x] = ((colour & 0x00e00000) >> 15) + | ((colour & 0x0000e000) >> 10) + | ((colour & 0x000000e0) >> 5); + //System.out.println(" x " + x + " y " + y + " 3-bit rgb " + _scene[y][x]); + } + } + + // find connected components + _segments = VisionUtils.findConnectedComponents(_scene); + _nSegments = VisionUtils.countComponents(_segments); + // System.out.println("...found " + _nSegments + " components"); + + _colours = new int[_nSegments]; + for (int y = 0; y < _nHeight; y++) { + for (int x = 0; x < _nWidth; x++) { + _colours[_segments[y][x]] = _scene[y][x]; + } + } + + // find bounding boxes and segment colours + _boxes = VisionUtils.findBoundingBoxes(_segments); + } + + +} diff --git a/framework/src/ab/vision/VisionRealShape.java b/framework/src/ab/vision/VisionRealShape.java new file mode 100644 index 0000000..7979288 --- /dev/null +++ b/framework/src/ab/vision/VisionRealShape.java @@ -0,0 +1,385 @@ +/***************************************************************************** + ** ANGRYBIRDS AI AGENT FRAMEWORK + ** Copyright (c) 2014, XiaoYu (Gary) Ge, Stephen Gould, Jochen Renz + ** Sahan Abeyasinghe,Jim Keys, Andrew Wang, Peng Zhang + ** All rights reserved. +**This work is licensed under the terms of the GNU Affero General Public License as published by the Free Software Foundation, either version 3 of the License, or (at your option) any later version. +**To view a copy of this license, visit http://www.gnu.org/licenses/ + *****************************************************************************/ +/* + * Modified by Angry-HEX Team + */ +/******************************************************************************* + * Angry-HEX - an artificial player for Angry Birds based on declarative knowledge bases + * Copyright (C) 2012-2015 Francesco Calimeri, Michael Fink, Stefano Germano, Andreas Humenberger, Giovambattista Ianni, Christoph Redl, Daria Stepanova, Andrea Tucci, Anton Wimmer. + * + * This file is part of Angry-HEX. + * + * Angry-HEX is free software: you can redistribute it and/or modify it under the terms of the GNU Affero General Public License as published by the Free Software Foundation, either version 3 of the License, or (at your option) any later version. + * + * Angry-HEX is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU Affero General Public License for more details. + * + * You should have received a copy of the GNU Affero General Public License along with this program. If not, see . + *******************************************************************************/ +package ab.vision; + +import java.awt.Color; +import java.awt.Font; +import java.awt.Graphics2D; +import java.awt.Point; +import java.awt.Rectangle; +import java.awt.image.BufferedImage; +import java.util.ArrayList; +import java.util.LinkedList; +import java.util.List; + +import ab.demo.other.ActionRobot; +import ab.vision.real.ConnectedComponent; +import ab.vision.real.ImageSegmenter; +import ab.vision.real.shape.Body; +import ab.vision.real.shape.Circle; + +public class VisionRealShape +{ + // offset constants for calculating reference point + private static double X_OFFSET = 0.188; + private static double Y_OFFSET = 0.156; + private final static int unassigned = -1; + // image segmenter + private ImageSegmenter _seg; + + // all connected components in the scene + private ArrayList _components = null; + + // detected game objects + private Rectangle _sling = null; + private List _birds = null; + + + // connected component and shapes for drawing purposes + private ArrayList _draw = null; + private ArrayList _drawShape = null; + + // the reference point (point birds are launched from) + private Point _ref = null; + + // size of the screen + private int _width = 0; + private int _height = 0; + + // ground level + private int _ground = 0; + + public VisionRealShape(BufferedImage screenshot) + { + // initialise screen size + _width = screenshot.getWidth(); + _height = screenshot.getHeight(); + + // Reset object counter + ABObject.resetCounter(); + + // find ground level and all connected components in scene + _seg = new ImageSegmenter(screenshot); + _ground = _seg.findGroundLevel(); + _components = _seg.findComponents(); + + // initialise drawing objects + _draw = new ArrayList(); + _drawShape = new ArrayList(); + + // find the slingshot and reference point + findSling(); + + } + + /* + * Modified by Angry-HEX Team + * Fixed bug which caused recognition of wrong object as sling + */ + // find the slingshot + public Rectangle findSling() + { + if (_sling != null) return _sling; + + // best found height-width ratio so far + double bestRatio = 0; + // height-width ratio of sling according to Shapes.json + double goalRatio = 5; + + // use the highest sling typed component: e.g. frame + int minY = 999999; + ConnectedComponent sling = null; + for (ConnectedComponent c : _components) + { + int top = c.boundingBox()[1]; + int left = c.boundingBox()[0]; + if (c.getType() == ImageSegmenter.SLING + && top < minY && left < 300) + { + // look for bounding box which has the ratio closest to the optimal one + int[] bb = c.boundingBox(); + double ratio = (double)(bb[3] - bb[1]) / (double)(bb[2] - bb[0]); + if (goalRatio - ratio < goalRatio - bestRatio) + { + bestRatio = ratio; + minY = top; + sling = c; + } + } + } + if (sling == null) + return null; + + _draw.add(sling); + _drawShape.add(sling.getBody()); + + // find bounding box of the slingshot and reference point + int bound[] = sling.boundingBox(); + _sling = new Rectangle(bound[0], bound[1], bound[2]-bound[0], bound[3]-bound[1]); + _ref = new Point(); + _ref.x = (int) (_sling.x + _sling.height * X_OFFSET); + _ref.y = (int) (_sling.y + _sling.height * Y_OFFSET); + + return _sling; + } + + // find all birds in the scene, listed from left to right + public List findBirds() + { + if (_birds != null) return _birds; + if (_sling == null) return null; + + _birds = new LinkedList(); + + // scan the birds from left to right + int xMax = -2; + final int BIRD_DISTANCE = 150; + for (ConnectedComponent c : _components) + { + if (c.getType() > ImageSegmenter.SLING && c.getType() < ImageSegmenter.PIG) + { + int bound[] = c.boundingBox(); + + // exit if next component is far from the last bird detected + if (bound[2] > _width / 2 || (xMax != -2 && bound[0] - xMax > BIRD_DISTANCE)) + break; + + // add if not overlapping with previous bird + if ((bound[0] + bound[2]) / 2 > xMax + 1) + { + Circle b = (Circle) c.getBody(); + _birds.add(b); + _draw.add(c); + _drawShape.add(b); + xMax = bound[2]; + } + } + } + //System.out.println(_birds.size() + " birds found"); + return _birds; + } + + public List findPigs() + { + int xMin = 0; + if (_sling != null) + xMin = _sling.x + 100; + List pigs = new LinkedList(); + for (ConnectedComponent c : _components) + { + if (c.getType() == ImageSegmenter.PIG) + { + Body b = c.getBody(); + if (b == null || ( b.centerX < xMin)) + continue; + pigs.add(b); + _draw.add(c); + _drawShape.add(b); + } + + } + return pigs; + } + public List findHills() + { + int xMin = 0; + if (_sling != null) + xMin = _sling.x + 100; + List hills = new LinkedList(); + for (ConnectedComponent c : _components) + { + if (c.getType() == ImageSegmenter.HILLS) + { + Body b = c.getBody(); + if (b == null || ( b.centerX < xMin)) + continue; + hills.add(b); + _draw.add(c); + _drawShape.add(b); + } + + } + return hills; + } + // find all objects in the scene beside slingshot, birds, pigs. and hills. + public List findObjects() + { + int xMin = 0; + if (_sling != null) + xMin = _sling.x + 100; + + List blocks = new LinkedList(); + for (ConnectedComponent c : _components) + { + if ((c.getType() > ImageSegmenter.PIG && c.getType() <= ImageSegmenter.DUCK)) + { + Body b = c.getBody(); + if (b == null || ( b.centerX < xMin)) + continue; + blocks.add(b); + _draw.add(c); + _drawShape.add(b); + + } + + } + return blocks; + } + + // find the trajectory points + public ArrayList findTrajectory() + { + if (_sling == null) return null; + + ArrayList traj = _seg.findTrajectory(); + ArrayList pts = new ArrayList(); + + // use distance from previous point to remove noise + final int THRESHOLD = 30; + final int TAP_SIZE = 20; + final int MAX_ERROR = 3; + Point prev = _ref; + for (ConnectedComponent c : traj) + { + int bound[] = c.boundingBox(); + + // validate bounding box is roughly a square + if (Math.abs((bound[2]-bound[0]) - (bound[3]-bound[1])) > MAX_ERROR) + continue; + + // add the point if it is close to the previous trajectory point + Point np = new Point((bound[0]+bound[2])/2, (bound[1]+bound[3])/2); + if (np.x > _sling.x && distance(prev, np) < THRESHOLD) + { + pts.add(np); + prev = np; + _draw.add(c); + _drawShape.add(c.getBody()); + + // break if the tap point is found (special ability is used) + if (c.getArea() > TAP_SIZE) + break; + } + } + return pts; + } + + /* draw all objects found so far + * @param canvas + * fill - if true, internal points of the components will be drawn + */ + public void drawObjects(BufferedImage canvas, boolean fill) + { + BufferedImage image = new BufferedImage(_width, _height, BufferedImage.TYPE_INT_RGB); + Graphics2D g = image.createGraphics(); + + g.drawImage(VisionUtils.convert2grey(canvas), 0, 0, null); + + // draw ground level + for (int x = 0; x < _width; x++) + { + image.setRGB(x, _ground, 0xff0000); + } + + if (fill) + { + //draw connected components + for (ConnectedComponent d : _draw) + d.draw(image, false, false); + } + //System.out.println(" draw shape " + _gameObjects.size()); + for (Body b : _drawShape) + { + //System.out.println(" draw shape"); + if (b != null) + b.draw(g, false, Color.RED); + } + canvas.createGraphics().drawImage(image, 0, 0, null); + } + public void drawObjectsWithID(BufferedImage canvas, boolean fill) + { + BufferedImage image = new BufferedImage(_width, _height, BufferedImage.TYPE_INT_RGB); + Graphics2D g = image.createGraphics(); + + g.drawImage(VisionUtils.convert2grey(canvas), 0, 0, null); + g.setFont(new Font("TimesRoman", Font.PLAIN, 10)); + // draw ground level + for (int x = 0; x < _width; x++) + { + image.setRGB(x, _ground, 0xff0000); + } + + + if (fill) + { + //draw connected components + for (ConnectedComponent d : _draw) + d.draw(image, false, false); + } + // for (Body b : _drawShape) + for(Body b : _drawShape) + if (b != null) + { + b.draw(g, false, Color.RED); + g.setColor(Color.black); + if(b.id != unassigned) + g.drawString(b.id + "", (int)b.centerX - 5, (int)b.centerY + 5);// 10: font size + } + + canvas.createGraphics().drawImage(image, 0, 0, null); + } + // return the reference point + public Point getReferencePoint() + { + return _ref; + } + + // return the scene scale + public int getSceneScale() + { + return _sling.height; + } + + // calculate Euclidean distance between two points + public static double distance(Point p1, Point p2) + { + int x = p1.x - p2.x; + int y = p1.y - p2.y; + return Math.sqrt(x*x + y*y); + } + + + public static void main(String args[]) + { + new ActionRobot(); + BufferedImage screenshot = ActionRobot.doScreenShot(); + Vision vision = new Vision(screenshot); + //List objs = vision.findBlocksRealShape(); + List objs = vision.findHills(); +// Rectangle obj = vision.findSlingshotMBR(); +// System.out.println(obj); + for (ABObject obj : objs) + System.out.println(obj); + } +} diff --git a/framework/src/ab/vision/VisionUtils.java b/framework/src/ab/vision/VisionUtils.java new file mode 100644 index 0000000..3aa0d11 --- /dev/null +++ b/framework/src/ab/vision/VisionUtils.java @@ -0,0 +1,618 @@ +/***************************************************************************** + ** ANGRYBIRDS AI AGENT FRAMEWORK + ** Copyright (c) 2014,XiaoYu (Gary) Ge, Stephen Gould,Jochen Renz + ** Sahan Abeyasinghe, Jim Keys, Andrew Wang, Peng Zhang + ** All rights reserved. +**This work is licensed under the terms of the GNU Affero General Public License as published by the Free Software Foundation, either version 3 of the License, or (at your option) any later version. +**To view a copy of this license, visit http://www.gnu.org/licenses/ + *****************************************************************************/ + +package ab.vision; + +import java.awt.Color; +import java.awt.Graphics; +import java.awt.Graphics2D; +import java.awt.Image; +import java.awt.Point; +import java.awt.Polygon; +import java.awt.Rectangle; +import java.awt.geom.AffineTransform; +import java.awt.image.AffineTransformOp; +import java.awt.image.BufferedImage; +import java.io.ByteArrayOutputStream; +import java.io.IOException; +import java.security.MessageDigest; +import java.security.NoSuchAlgorithmException; +import java.util.Arrays; +import java.util.LinkedList; +import java.util.List; +import java.util.Queue; + +import javax.imageio.ImageIO; + +import Jama.Matrix; + +/* VisionUtils ------------------------------------------------------------ */ + +public class VisionUtils { + public static Color fontColor = Color.blue; + public static Color boxesColor = Color.ORANGE; + // crops a bounding box to be within an image + public static Rectangle cropBoundingBox(Rectangle r, Image img) { + return cropBoundingBox(r, img.getWidth(null), img.getHeight(null)); + } + + // crops a bounding box to be within an image of size width-by-height + public static Rectangle cropBoundingBox(Rectangle r, int width, int height) { + if (r.x < 0) + r.x = 0; + if (r.y < 0) + r.y = 0; + if ((r.x + r.width) > width) + r.width = width - r.x; + if ((r.y + r.height) > height) + r.height = height - r.y; + + return r; + } + // compute the number of pixels different in two images + public static int numPixelsDifferent(BufferedImage imgA, BufferedImage imgB) { + + int height = Math.min(imgA.getHeight(), imgB.getHeight()); + int width = Math.min(imgA.getWidth(), imgB.getWidth()); + int n = imgA.getWidth() * imgA.getHeight() + imgB.getWidth() * imgB.getHeight() - 2 * width * height; + + for (int y = 0; y < height; y++) { + for (int x = 0; x < width; x++) { + if (imgA.getRGB(x, y) != imgB.getRGB(x, y)) { + n += 1; + } + } + } + + return n; + } + + + // compute the absolute difference between two images + public static int imageDifference(BufferedImage imgA, BufferedImage imgB) { + + int height = Math.min(imgA.getHeight(), imgB.getHeight()); + int width = Math.min(imgA.getWidth(), imgB.getWidth()); + + int n = imgA.getWidth() * imgA.getHeight() + imgB.getWidth() * imgB.getHeight() - 2 * width * height; + int diff = 3 * 255 * n; + for (int y = 0; y < height; y++) { + for (int x = 0; x < width; x++) { + final int colourA = imgA.getRGB(x, y); + final int colourB = imgB.getRGB(x, y); + + diff += Math.abs((int)((colourA & 0x00ff0000) >> 16) - (int)((colourB & 0x00ff0000) >> 16)); + diff += Math.abs((int)((colourA & 0x0000ff00) >> 8) - (int)((colourB & 0x0000ff00) >> 8)); + diff += Math.abs((int)(colourA & 0x000000ff) - (int)(colourB & 0x000000ff)); + } + } + + return diff; + } + + // compute an image digest + public static String imageDigest(BufferedImage img) { + + // write image to byte stream + ByteArrayOutputStream os = new ByteArrayOutputStream(); + try { + ImageIO.write(img, "png", os); + os.flush(); + } catch (IOException e) { + e.printStackTrace(); + return null; + } + byte[] data = os.toByteArray(); + + // compute md5 hash + byte[] hash = null; + try { + MessageDigest md = MessageDigest.getInstance("MD5"); + md.update(data); + hash = md.digest(); + } catch (NoSuchAlgorithmException e) { + e.printStackTrace(); + return null; + } + + // convert to string + String hexString = ""; + for (int i = 0; i < hash.length; i++) { + hexString += Integer.toString((hash[i] & 0xff) + 0x100, 16) + .substring(1); + } + return hexString; + } + + // compute column checksums + public static int[] columnChecksums(BufferedImage img) { + + int[] sums = new int[img.getWidth()]; + Arrays.fill(sums, 0); + + for (int y = 0; y < img.getHeight(); y++) { + for (int x = 0; x < img.getWidth(); x++) { + final int colour = img.getRGB(x, y); + sums[x] += (int) ((colour & 0x00ff0000) >> 16); + sums[x] += (int) ((colour & 0x0000ff00) >> 8); + sums[x] += (int) (colour & 0x000000ff); + } + } + + for (int x = 0; x < img.getWidth(); x++) { + sums[x] %= 256; + } + + return sums; + } + + // compute shape descriptor + public static double[] shapeMoments(int[][] mask) { + + final int nHeight = mask.length; + final int nWidth = mask[0].length; + + int nArea = 0; + int xMoment = 0; + int yMoment = 0; + int xyMoment = 0; + for (int y = 0; y < nHeight; y++) { + for (int x = 0; x < nWidth; x++) { + if (mask[y][x] != 0) { + nArea += 1; + xMoment += (x - nWidth / 2); + yMoment += (y - nHeight / 2); + xyMoment += (x - nWidth / 2) * (y - nHeight / 2); + } + } + } + + double[] moments = new double[5]; + + moments[0] = (double) nWidth / (double) (nHeight + nWidth); + moments[1] = (double) nArea / (double) (nHeight * nWidth); + moments[2] = (double) xMoment / (double) (nArea * nWidth / 2); + moments[3] = (double) yMoment / (double) (nArea * nHeight / 2); + moments[4] = (double) xyMoment + / (double) (nArea * nWidth / 2 * nHeight / 2); + + return moments; + } + + // converts an 2d integer array to image + public static BufferedImage int2image(int[][] scene) { + int maxValue = -1; + int minValue = Integer.MAX_VALUE; + for (int y = 0; y < scene.length; y++) { + for (int x = 0; x < scene[y].length; x++) { + maxValue = Math.max(maxValue, scene[y][x]); + minValue = Math.min(minValue, scene[y][x]); + } + } + + if (maxValue == minValue) + maxValue = minValue + 1; + final double scale = 255.0 / (maxValue - minValue); + + BufferedImage image = new BufferedImage(scene[0].length, scene.length, + BufferedImage.TYPE_INT_RGB); + for (int y = 0; y < scene.length; y++) { + for (int x = 0; x < scene[y].length; x++) { + final int c = (int) (scale * (scene[y][x] - minValue)); + image.setRGB(x, y, c << 16 | c << 8 | c); + } + } + + return image; + } + + // convert a colour image to greyscale but retain 3-channels + public static BufferedImage convert2grey(BufferedImage image) { + BufferedImage grey = new BufferedImage(image.getWidth(), + image.getHeight(), BufferedImage.TYPE_BYTE_GRAY); + Graphics g = grey.getGraphics(); + g.drawImage(image, 0, 0, null); + g.dispose(); + BufferedImage rgb = new BufferedImage(image.getWidth(), + image.getHeight(), BufferedImage.TYPE_INT_RGB); + g = rgb.getGraphics(); + g.drawImage(grey, 0, 0, null); + g.dispose(); + return rgb; + } + + // computes a hamming distance map to non-zero pixels + public static int[][] computeDistanceMap(int[][] image) { + + // first pass: top-left to bottom-right + for (int y = 0; y < image.length; y++) { + for (int x = 0; x < image[y].length; x++) { + if (image[y][x] != 0) { + image[y][x] = 0; + } else { + image[y][x] = image.length + image[y].length; + if (y > 0) + image[y][x] = Math + .min(image[y][x], image[y - 1][x] + 1); + if (x > 0) + image[y][x] = Math + .min(image[y][x], image[y][x - 1] + 1); + } + } + } + + // second pass: bottom-right to top-left + for (int y = image.length - 1; y >= 0; y--) { + for (int x = image[y].length - 1; x >= 0; x--) { + if (y < image.length - 1) + image[y][x] = Math.min(image[y][x], image[y + 1][x] + 1); + if (x < image[y].length - 1) + image[y][x] = Math.min(image[y][x], image[y][x + 1] + 1); + } + } + + return image; + } + + // inverts binary image (i.e., swaps values zero and non-zero) + public static int[][] invertRegions(int[][] image) { + for (int y = 0; y < image.length; y++) { + for (int x = 0; x < image[y].length; x++) { + if (image[y][x] == 0) { + image[y][x] = 1; + } else { + image[y][x] = 0; + } + } + } + return image; + } + + // dilates non-zero regions image by k pixels + public static int[][] dilateRegions(int[][] image, int k) { + int[][] dimage = computeDistanceMap(image); + for (int y = 0; y < dimage.length; y++) { + for (int x = 0; x < dimage[y].length; x++) { + dimage[y][x] = (dimage[y][x] <= k) ? 1 : 0; + } + } + + return dimage; + } + + // erodes non-zero regions image by k pixels + public static int[][] erodeRegions(int[][] image, int k) { + return invertRegions(dilateRegions(invertRegions(image), k)); + } + + // dialates a bounding box by (dx, dy) pixels all around + public static Rectangle dialateRectangle(Rectangle r, int dx, int dy) { + return new Rectangle(r.x - dx, r.y - dy, r.width + 2 * dx, r.height + 2 + * dy); + } + + // finds 4-connected components by breadth first search (and renumbers + // from zero); pixels with negative value are ignored + public static int[][] findConnectedComponents(int[][] image) { + + // renumbered components + final int nHeight = image.length; + final int nWidth = image[0].length; + + int n = -1; + int[][] cc = new int[nHeight][nWidth]; + for (int y = 0; y < nHeight; y++) { + for (int x = 0; x < nWidth; x++) { + cc[y][x] = -1; + } + } + + // iterate over all pixels + for (int y = 0; y < nHeight; y++) { + for (int x = 0; x < nWidth; x++) { + // skip negative pixels + if (image[y][x] == -1) + continue; + + // check if component was already numbered + if (cc[y][x] != -1) + continue; + + // number the new component + n = n + 1; + Queue q = new LinkedList(); + q.add(new Point(x, y)); + cc[y][x] = n; + while (!q.isEmpty()) { + Point p = q.poll(); + if ((p.y > 0) && (image[p.y - 1][p.x] == image[p.y][p.x]) + && (cc[p.y - 1][p.x] == -1)) { + q.add(new Point(p.x, p.y - 1)); + cc[p.y - 1][p.x] = n; + } + if ((p.x > 0) && (image[p.y][p.x - 1] == image[p.y][p.x]) + && (cc[p.y][p.x - 1] == -1)) { + q.add(new Point(p.x - 1, p.y)); + cc[p.y][p.x - 1] = n; + } + if ((p.y < nHeight - 1) + && (image[p.y + 1][p.x] == image[p.y][p.x]) + && (cc[p.y + 1][p.x] == -1)) { + q.add(new Point(p.x, p.y + 1)); + cc[p.y + 1][p.x] = n; + } + if ((p.x < nWidth - 1) + && (image[p.y][p.x + 1] == image[p.y][p.x]) + && (cc[p.y][p.x + 1] == -1)) { + q.add(new Point(p.x + 1, p.y)); + cc[p.y][p.x + 1] = n; + } + } + } + } + + return cc; + } + + // returns number of components + public static int countComponents(int[][] image) { + int n = 0; + for (int y = 0; y < image.length; y++) { + for (int x = 0; x < image[y].length; x++) { + n = Math.max(n, image[y][x] + 1); + } + } + return n; + } + + // returns bounding boxes for all connected components + public static Rectangle[] findBoundingBoxes(int[][] image) { + Rectangle[] boxes = new Rectangle[countComponents(image)]; + for (int y = 0; y < image.length; y++) { + for (int x = 0; x < image[y].length; x++) { + final int n = image[y][x]; + if (n < 0) + continue; + if (boxes[n] == null) { + boxes[n] = new Rectangle(x, y, 1, 1); + } else { + boxes[n].add(x, y); + } + } + } + return boxes; + } + + // draws a bounding box onto an image + public static BufferedImage drawBoundingBox(BufferedImage canvas, + Rectangle box, Color fgColour, Color bgColour) { + Graphics2D g2d = canvas.createGraphics(); + g2d.setColor(bgColour); + g2d.drawRect(box.x - 1, box.y - 1, box.width + 2, box.height + 2); + g2d.drawRect(box.x + 1, box.y + 1, box.width - 2, box.height - 2); + g2d.setColor(fgColour); + g2d.drawRect(box.x, box.y, box.width, box.height); + + return canvas; + } + + // draws a bounding box onto an image + public static BufferedImage drawBoundingBox(BufferedImage canvas, + Rectangle box, Color fgColour) { + return drawBoundingBox(canvas, box, fgColour, Color.WHITE); + } + + // draws bounding boxes onto an image + public static BufferedImage drawBoundingBoxes(BufferedImage canvas, + Rectangle[] boxes, Color fgColour, Color bgColour) { + Graphics2D g2d = canvas.createGraphics(); + for (int i = 0; i < boxes.length; i++) { + g2d.setColor(bgColour); + g2d.drawRect(boxes[i].x - 1, boxes[i].y - 1, boxes[i].width + 2, + boxes[i].height + 2); + g2d.drawRect(boxes[i].x + 1, boxes[i].y + 1, boxes[i].width - 2, + boxes[i].height - 2); + g2d.setColor(fgColour); + g2d.drawRect(boxes[i].x, boxes[i].y, boxes[i].width, + boxes[i].height); + } + + return canvas; + } + + // draws bounding boxes onto an image + public static BufferedImage drawBoundingBoxes(BufferedImage canvas, + Rectangle[] boxes, Color fgColour) { + return drawBoundingBoxes(canvas, boxes, fgColour, Color.WHITE); + } + + // draw trajectory parabola + public static BufferedImage drawtrajectory(BufferedImage canvas, + int parabola[][], Color bgColour) { + Graphics2D g2d = canvas.createGraphics(); + g2d.setColor(bgColour); + g2d.drawPolyline(parabola[0], parabola[1], parabola[0].length); + return canvas; + } + + // draws bounding boxes onto an image + public static BufferedImage drawBoundingBoxes(BufferedImage canvas, + List boxes, Color fgColour, Color bgColour) { + Graphics2D g2d = canvas.createGraphics(); + for (Rectangle r : boxes) { + g2d.setColor(bgColour); + g2d.drawRect(r.x - 1, r.y - 1, r.width + 2, r.height + 2); + g2d.drawRect(r.x + 1, r.y + 1, r.width - 2, r.height - 2); + g2d.setColor(fgColour); + g2d.drawRect(r.x, r.y, r.width, r.height); + } + + return canvas; + } + //draw bounding boxes with IDs onto an image + public static BufferedImage drawBoundingBoxesWithID(BufferedImage canvas, Listboxes, + Color bgColour) + { + Graphics2D g2d = canvas.createGraphics(); + for (ABObject r : boxes) { + g2d.setColor(bgColour); + g2d.drawRect(r.x - 1, r.y - 1, r.width + 2, r.height + 2); + g2d.drawRect(r.x + 1, r.y + 1, r.width - 2, r.height - 2); + g2d.setColor(fontColor); + g2d.drawRect(r.x, r.y, r.width, r.height); + g2d.drawString(r.id + "", (int)r.getCenterX(), (int)r.getCenterY()); + } + return canvas; + } + + // draws bounding boxes onto an image + public static BufferedImage drawBoundingPolygon(BufferedImage canvas, + Polygon p, Color fgColour) { + Graphics2D g2d = canvas.createGraphics(); + g2d.setColor(fgColour); + g2d.drawPolygon(p); + return canvas; + } + + // draws bounding boxes onto an image + public static BufferedImage drawBoundingBoxes(BufferedImage canvas, + List boxes, Color fgColour) { + return drawBoundingBoxes(canvas, boxes, fgColour, Color.WHITE); + } + + // highlight regions with a given id + public static synchronized BufferedImage highlightRegions(Image img, int[][] regions, + int regionId, Color fgColour) { + BufferedImage canvas = new BufferedImage(img.getWidth(null), + img.getHeight(null), BufferedImage.TYPE_INT_ARGB); + Graphics2D g2d = canvas.createGraphics(); + g2d.drawImage(img, 0, 0, null); + g2d.setColor(fgColour); + for (int y = 0; y < regions.length; y++) { + for (int x = 0; x < regions[y].length; x++) { + if (regions[y][x] == regionId) { + g2d.drawRect(x, y, 1, 1); + } + } + } + + return canvas; + } + + public static BufferedImage resizeImage(BufferedImage image, int height, + int width) { + int imageWidth = image.getWidth(); + int imageHeight = image.getHeight(); + + double scaleX = (double) width / imageWidth; + double scaleY = (double) height / imageHeight; + AffineTransform scaleTransform = AffineTransform.getScaleInstance( + scaleX, scaleY); + AffineTransformOp bilinearScaleOp = new AffineTransformOp( + scaleTransform, AffineTransformOp.TYPE_BILINEAR); + + return bilinearScaleOp.filter(image, new BufferedImage(width, height, + image.getType())); + } + + + public static int[][] computeMetaInformation(BufferedImage screenshot) { + // image size + final int nHeight = screenshot.getHeight(); + final int nWidth = screenshot.getWidth(); + + // meta debugging information + int[][] meta = new int[nHeight][nWidth]; + for (int y = 0; y < nHeight; y++) { + for (int x = 0; x < nWidth; x++) { + final int colour = screenshot.getRGB(x, y); + meta[y][x] = ((colour & 0x00e00000) >> 15) + | ((colour & 0x0000e000) >> 10) + | ((colour & 0x000000e0) >> 5); + } + } + + return meta; + } + + + public static BufferedImage analyseScreenShot(BufferedImage screenshot) { + + + // get game state + GameStateExtractor game = new GameStateExtractor(); + GameStateExtractor.GameState state = game.getGameState(screenshot); + // System.out.println(state.toString()); + + if (state != GameStateExtractor.GameState.PLAYING) { + //System.out.println("End game score : " + game.getScoreEndGame(screenshot)); + screenshot = VisionUtils.convert2grey(screenshot); + return screenshot; + } + + //System.out.println("In game score : " + game.getScoreInGame(screenshot)); + // process image + VisionMBR vision = new VisionMBR(screenshot); + List pigs = vision.findPigsMBR(); + List redBirds = vision.findRedBirdsMBRs(); + List blueBirds = vision.findBlueBirdsMBRs(); + List yellowBirds = vision.findYellowBirdsMBRs(); + List woodBlocks = vision.findWoodMBR(); + List stoneBlocks = vision.findStonesMBR(); + List iceBlocks = vision.findIceMBR(); + List whiteBirds = vision.findWhiteBirdsMBRs(); + List blackBirds = vision.findBlackBirdsMBRs(); + List TNTs = vision.findTNTsMBR(); + List trajPoints = vision.findTrajPoints(); + + Rectangle sling = vision.findSlingshotMBR(); + + + // draw objects + screenshot = VisionUtils.convert2grey(screenshot); + VisionUtils.drawBoundingBoxes(screenshot, pigs, Color.GREEN); + VisionUtils.drawBoundingBoxes(screenshot, redBirds, Color.RED); + VisionUtils.drawBoundingBoxes(screenshot, blueBirds, Color.BLUE); + VisionUtils.drawBoundingBoxes(screenshot, yellowBirds, Color.YELLOW); + VisionUtils.drawBoundingBoxes(screenshot, woodBlocks, Color.WHITE, + Color.ORANGE); + VisionUtils.drawBoundingBoxes(screenshot, stoneBlocks, Color.WHITE, + Color.GRAY); + VisionUtils.drawBoundingBoxes(screenshot, iceBlocks, Color.WHITE, + Color.CYAN); + VisionUtils.drawBoundingBoxes(screenshot, whiteBirds, Color.WHITE, + Color.lightGray); + VisionUtils.drawBoundingBoxes(screenshot, TNTs, Color.WHITE, + Color.PINK); + VisionUtils.drawBoundingBoxes(screenshot, blackBirds, + Color.BLACK); + if (sling != null) { + VisionUtils.drawBoundingBox(screenshot, sling, Color.ORANGE, + Color.BLACK); + + // generate traj points using estimated parameters + Matrix W = vision.fitParabola(trajPoints); + int p[][] = new int[2][100]; + int startx = (int) sling.getCenterX(); + for (int i = 0; i < 100; i++) { + p[0][i] = startx; + double tem = W.get(0, 0) * Math.pow(p[0][i], 2) + W.get(1, 0) + * p[0][i] + W.get(2, 0); + p[1][i] = (int) tem; + startx += 10; + } + if (W.get(0, 0) > 0) + VisionUtils.drawtrajectory(screenshot, p, Color.RED); + + } + + return screenshot; + } + +} diff --git a/framework/src/ab/vision/real/ConnectedComponent.java b/framework/src/ab/vision/real/ConnectedComponent.java new file mode 100644 index 0000000..ecadf0c --- /dev/null +++ b/framework/src/ab/vision/real/ConnectedComponent.java @@ -0,0 +1,572 @@ +/***************************************************************************** + ** ANGRYBIRDS AI AGENT FRAMEWORK + ** Copyright (c) 2014, XiaoYu (Gary) Ge, Stephen Gould, Jochen Renz + ** Sahan Abeyasinghe,Jim Keys, Andrew Wang, Peng Zhang + ** All rights reserved. +**This work is licensed under the terms of the GNU Affero General Public License as published by the Free Software Foundation, either version 3 of the License, or (at your option) any later version. +**To view a copy of this license, visit http://www.gnu.org/licenses/ + *****************************************************************************/ + +package ab.vision.real; + +import java.awt.Point; +import java.awt.Polygon; +import java.awt.Rectangle; +import java.awt.image.BufferedImage; +import java.util.ArrayList; +import java.util.LinkedList; +import java.util.List; +import java.util.Queue; + +import ab.vision.ABType; +import ab.vision.real.shape.Body; +import ab.vision.real.shape.Circle; +import ab.vision.real.shape.Poly; +import ab.vision.real.shape.Rect; + +public class ConnectedComponent { + + // neighbour lookup table + private static Point _connectedPoint[][][] = null; + private static boolean _firstTime = true; + + // atan lookup table + private static double atan[][]; + public final static double ANGLE_UNDEFINED = 2 * Math.PI; + private final static int WINDOW_SIZE = 10; + + // types of points in the image + private final static int EMPTY = 0; + private final static int FILLED = 1; + private final static int EDGE = 2; + + // define small object as min(width, height) < constant + private final static int SMALL = 20; + + // smoothing constant + private final static int SMOOTH = 3; + + // component parameters + private int _area; + private int _perimeter; + private int _type; + private int _image[][]; + private double _angleThreshold = 0; + + // points and lines in the component + private ArrayList _lines = null; + private ArrayList _edgePoints = null; + + // size of the bounding box + private int _left, _top, _width, _height; + + // extreme points + private Point _extrema[]; + + /* Create a new connected component + * @param map - class map of the screenshot + * x,y - starting coordinate of the connected component + * ignore - points on the map to ignore + * isEightConnect - whether the component is eight-connected or four-connected + */ + public ConnectedComponent(final int map[][], int x, int y, boolean ignore[][], boolean isEightConnect) + { + // initialise the neighbour map + initialise(map); + + // set object type and size + _type = map[y][x]; + _extrema = new Point[4]; + _extrema[0] = _extrema[1] = _extrema[2] = _extrema[3] = new Point(x, y); + + // apply BFS to find all connected pixels + boolean searched[][] = new boolean[map.length][map[0].length]; + Queue q = new LinkedList(); + q.add(new Point(x, y)); + searched[y][x] = true; + + int connectivity = isEightConnect ? 1 : 2; + + _edgePoints = new ArrayList(); + ArrayList points = new ArrayList(); + while (!q.isEmpty()) + { + Point p = q.poll(); + + if (map[p.y][p.x] == _type || + (_type == ImageSegmenter.ICE && map[p.y][p.x] == ImageSegmenter.BLUE_BIRD) || + (_type == ImageSegmenter.WHITE_BIRD && map[p.y][p.x] == ImageSegmenter.TRAJECTORY)) + { + points.add(p); + ignore[p.y][p.x] = true; + boolean added = false; + for (int i = 0; i < 8; i+=connectivity) + { + Point np = _connectedPoint[p.y][p.x][i]; + + // test for image boundaries + if (np.x == p.x && np.y == p.y & !added) + { + _edgePoints.add(p); + added = true; + } + if (!searched[np.y][np.x]) + { + q.add(np); + searched[np.y][np.x] = true; + } + } + } + // add point to edge + else + _edgePoints.add(p); + } + + // update extremas + for (Point p : _edgePoints) + { + if (p.x < _extrema[0].x) + _extrema[0] = p; + if (p.x > _extrema[1].x) + _extrema[1] = p; + if (p.y < _extrema[2].y) + _extrema[2] = p; + if (p.y > _extrema[3].y) + _extrema[3] = p; + } + + // set size and location + _top = _extrema[2].y - 2; + _left = _extrema[0].x - 2; + _height = _extrema[3].y - _top + 3; + _width = _extrema[1].x - _left + 3; + _area = points.size(); + + for (int i = 0; i < 4; i++) + _extrema[i] = new Point(_extrema[i].x - _left, _extrema[i].y - _top); + + // generate the image + _image = new int[_height][_width]; + for (Point p : points) + _image[p.y-_top][p.x-_left] = FILLED; + for (Point p : _edgePoints) + _image[p.y-_top][p.x-_left] = EDGE; + + _perimeter = _edgePoints.size(); + } + + /* Trace the contour using Moore-Neighbour tracing + * and partition contour points into line segments + * @return list of line segments which form a cycle around + * outer border of the connected component + */ + private ArrayList findLines() + { + if (_type == ImageSegmenter.HILLS) + _angleThreshold = Math.toRadians(150); + else + _angleThreshold = Math.toRadians(85); + + // tracing points for Moore-Neighbour algorithm + Point current = null; + Point prev = null; + Point next = null; + + // search for starting point + for (int x = 0; x < _width && current == null; x++) + for (int y = 0; y < _height; y++) + { + if (_image[y][x] != EMPTY) + { + current = new Point(x, y); + prev = new Point(x, y-1); + break; + } + } + + Point path[] = new Point[_perimeter]; + path[0] = current; + int length = 1; + + // walk in the anticlockwise direction until initial point + // is returned to + next = clockwise(current, prev); + while (!(next.equals(path[0]))) + { + if (_image[next.y][next.x] != EMPTY) + { + current = next; + next = prev; + path[length] = current; + length++; + } + else + { + prev = next; + next = clockwise(current, next); + } + } + + // partition contour into line segments + _lines = new ArrayList(); + LineSegment line = new LineSegment(path[0], ANGLE_UNDEFINED); + for (int i = 1; i < length - SMOOTH; i++) + { + // approximate local angle by looking ahead + Point p = path[i]; + Point ahead = path[i + SMOOTH]; + + int yDiff = ahead.y - p.y; + int xDiff = ahead.x - p.x; + double angle = atan[yDiff + WINDOW_SIZE][xDiff + WINDOW_SIZE]; + + // if point adding unsuccessful + double change = line.addPoint(p, angle, _angleThreshold); + if (change != 0) + { + line.removeEndPoint(); + _lines.add(line); + + line = new LineSegment(path[i-1], angle); + } + } + _lines.add(line); + + // join lines with similar angle + if (_lines != null) + { + // join _lines with similar angle + ArrayList newlines = new ArrayList(); + LineSegment prevline = _lines.get(0); + for (int i = 1; i < _lines.size(); i++) + { + if (!prevline.join(_lines.get(i))) + { + newlines.add(prevline); + prevline = _lines.get(i); + } + } + newlines.add(prevline); + _lines = newlines; + } + return _lines; + } + + /* Determine if the connected component is a Rectangle, + * Circle or in fact multiple objects stacked together. + * + * @param list of corners the component contains + * (points where contour orientation changes) + * @return Most likely shape of the object, null if it is noise + */ + private Body findShape(List corners) + { + final int RESOLUTION = 50; + final double res = Math.PI / 2 / RESOLUTION; + double width = 0; + double height = 0; + double angle = 0; + double areaMin = 99999; + double areaMax = 0; + + for (int i = 0; i < RESOLUTION; i++) + { + double theta = i * res; + double min1 = 99999; + double max1 = -99999; + double min2 = 99999; + double max2 = -99999; + + // rotate each point about the origin and record min/max x,y coordinates + for (Point p : corners) + { + double p1 = p.x * Math.cos(theta) + p.y * Math.sin(theta); + double p2 = p.x * Math.sin(theta) - p.y * Math.cos(theta); + + if (p1 < min1) min1 = p1; + if (p1 > max1) max1 = p1; + if (p2 < min2) min2 = p2; + if (p2 > max2) max2 = p2; + } + + // width and height are calculated as difference between + // min and max distances + double h = max1 - min1; + double w = max2 - min2; + double a = w * h; + + if (a < areaMin) + { + height = h; + width = w; + angle = theta; + areaMin = a; + } + if (a > areaMax) + areaMax = a; + } + + final double JOIN_THRESHOLD = 1.2;//1.4; + final int SMALL_SIZE = 14; + + // relax circle threshold for objects with larger size + // and objects which are lying at angles close to 45 degrees + double tc; + if (Math.max(width, height) > SMALL_SIZE || Math.abs(angle - Math.PI/4) < Math.PI/8) + tc = 1.2; //1.3 + else + tc = 1.1; + + double x = _left + _width / 2.0 - 0.5; + double y = _top + _height / 2.0 - 0.5; + + // test for noise + if (width <= 3 || height <= 3) + return null; + + + Poly poly = new Poly(findLines(), _left, _top, assignType(_type), _left + _width/2, _top + _height/2); + int polyArea = getArea(poly.polygon); + int actualArea = Math.max((_area + _perimeter), polyArea); + + // test for joined component + + //if (areaMin > (_area + _perimeter) * JOIN_THRESHOLD) + if (areaMin > actualArea * JOIN_THRESHOLD) + { + + if ( (_area + _perimeter) > 400 ) + { + return poly; + } + else + { + if (polyArea > (_area ) * 1.1) + poly.hollow = true; + return poly; + + } + + } + // test for circle + if (areaMin * tc > areaMax && Math.abs(_width - _height) <= 3) + { + int r = (_width + _height) / 4 - 2; + return new Circle(x, y, r, assignType(_type)); + } + Rect rect = new Rect(x, y, width, height, angle, assignType(_type)); + double HOLLOW_THRESHOLD = 1.2; + if (areaMin > (_area + _perimeter) * HOLLOW_THRESHOLD) + { + rect.hollow = true; + } + return rect; + } + + + public int getArea(Polygon poly) + { + int area = 0; + Rectangle rect = poly.getBounds(); + for (int x = rect.x; x < rect.x + rect.width; x++) + for (int y = rect.y; y < rect.y + rect.height; y++) + { + if (poly.contains(x, y)) + area ++; + } + return area; + + } + //public boolean testHollow(Shape shape){} + + /* find the most likely shape of the component + * @return most likely shape, null if it is noise + */ + public Body getBody() + { + if (_type == ImageSegmenter.SLING) + return new Rect(boundingBox(), assignType(_type)); + + if ((_type > ImageSegmenter.SLING && + _type <= ImageSegmenter.PIG) || + _type == ImageSegmenter.TRAJECTORY) + return new Circle(boundingBox(), assignType(_type)); + + if (_type == ImageSegmenter.HILLS) + return new Poly(findLines(), _left, _top, assignType(_type), _left+_width/2, _top+_height/2); + + ArrayList corners = new ArrayList(); + // use all edge points if the shape is small + if (_width < SMALL || _height < SMALL) + { + corners = _edgePoints; + } + else + { + // otherwise find corners first by border tracking + findLines(); + + for (LineSegment line : _lines) + { + corners.add(line._start); + corners.add(line._end); + } + for (Point p : _extrema) + if (!corners.contains(p)) + corners.add(p); + + + } + return findShape(corners); + } + + + + // return number of internal points in the component + public int getArea() + { + return _area; + } + + // number of border points + public int getType() + { + return _type; + } + + /* the bounding box {left, top, right, bottom} */ + public int[] boundingBox() + { + return new int[] { _left + 2, _top + 2, _left + _width - 3, _top + _height - 3}; + } + + /* draw the connected component + * @param canvas + * drawEdge - if border should be drawn + * drawCorner - if the corner points should be drawn + */ + public void draw(BufferedImage canvas, boolean drawEdge, boolean drawCorners) + { + for (int y = 2; y < _height-2; y++) + for (int x = 2; x < _width-2; x++) + { + if (_image[y][x] == FILLED) + { + canvas.setRGB(x + _left, y + _top, ImageSegmenter._drawColor[_type]); + } + else if (drawEdge && _image[y][x] == EDGE) + { + canvas.setRGB(x+_left, y+_top, 0x000000); + } + } + + + if (drawCorners) + { + findLines(); + if (_lines != null) + for (LineSegment line : _lines) + line.draw(canvas.createGraphics(), _left, _top); + } + } + + + /* initialise neighbour and atan lookup table + * @param class map of the current game + */ + private static void initialise(int map[][]) + { + if (_connectedPoint != null && + _connectedPoint.length == map.length && + _connectedPoint[0].length == map[0].length) + return; + + // initialise atan lookup + if (_firstTime) + { + atan = new double[WINDOW_SIZE * 2][WINDOW_SIZE * 2]; + + for (int y = 0; y < 2*WINDOW_SIZE; y++) + for (int x = 0; x < 2*WINDOW_SIZE; x++) + { + if (x-WINDOW_SIZE == 0 && y-WINDOW_SIZE == 0) + atan[y][x] = ANGLE_UNDEFINED; + else if (x-WINDOW_SIZE == 0) + atan[y][x] = Math.PI / 2; + else + { + atan[y][x] = Math.atan((double)(y-WINDOW_SIZE) / (x-WINDOW_SIZE)); + + if (atan[y][x] < 0) + atan[y][x] += Math.PI; + } + } + _firstTime = false; + } + + // initialise neighbour point map + int width = map[0].length; + int height = map.length; + _connectedPoint = new Point[height][width][8]; + for (int y = 0; y < height; y++) + { + for (int x = 0; x < width; x++) + { + _connectedPoint[y][x][0] = new Point(x, y-1); + _connectedPoint[y][x][1] = new Point(x+1, y-1); + _connectedPoint[y][x][2] = new Point(x+1, y); + _connectedPoint[y][x][3] = new Point(x+1, y+1); + _connectedPoint[y][x][4] = new Point(x, y+1); + _connectedPoint[y][x][5] = new Point(x-1, y+1); + _connectedPoint[y][x][6] = new Point(x-1, y); + _connectedPoint[y][x][7] = new Point(x-1, y-1); + for (int i = 0; i < 8; i++) + { + Point p = _connectedPoint[y][x][i]; + if (p.x >= width || p.y >= height || p.x < 0 || p.y < 0) + { + _connectedPoint[y][x][i] = new Point(x, y); + } + } + } + } + } + public ABType assignType(int vision_type) + { + ABType type = ABType.Unknown; + switch(vision_type) + { + case ImageSegmenter.PIG: type = ABType.Pig; break; + case ImageSegmenter.STONE: type = ABType.Stone;break; + case ImageSegmenter.WOOD: type = ABType.Wood; break; + case ImageSegmenter.ICE: type = ABType.Ice; break; + case ImageSegmenter.HILLS: type = ABType.Hill; break; + case ImageSegmenter.RED_BIRD: type = ABType.RedBird; break; + case ImageSegmenter.YELLOW_BIRD: type = ABType.YellowBird; break; + case ImageSegmenter.BLUE_BIRD: type = ABType.BlueBird; break; + case ImageSegmenter.BLACK_BIRD: type = ABType.BlackBird; break; + case ImageSegmenter.WHITE_BIRD: type = ABType.WhiteBird; break; + default: type = ABType.Unknown; + } + return type; + } + + private final static int xClock[][] = {{0, -1, -1}, + {0, 0, 0}, + {1, 1, 0}}; + private final static int yClock[][] = {{1, 0, 0}, + {1, 0, -1}, + {0, 0, -1}}; + /* find the next point to trace in Moore-Neighbourhood + * @param p - the current contour point + * prev - point just examined + * @return point connected to p which is in the anticlockwise + * direction from p to prev + */ + private static Point clockwise(Point p, Point prev) + { + int dx = prev.x - p.x + 1; + int dy = prev.y - p.y + 1; + return new Point(prev.x + xClock[dy][dx], prev.y + yClock[dy][dx]); + } +} diff --git a/framework/src/ab/vision/real/ImageSegmenter.java b/framework/src/ab/vision/real/ImageSegmenter.java new file mode 100644 index 0000000..82dc0b9 --- /dev/null +++ b/framework/src/ab/vision/real/ImageSegmenter.java @@ -0,0 +1,720 @@ +/***************************************************************************** + ** ANGRYBIRDS AI AGENT FRAMEWORK + ** Copyright (c) 2014, XiaoYu (Gary) Ge, Stephen Gould, Jochen Renz + ** Sahan Abeyasinghe,Jim Keys, Andrew Wang, Peng Zhang + ** All rights reserved. +**This work is licensed under the terms of the GNU Affero General Public License as published by the Free Software Foundation, either version 3 of the License, or (at your option) any later version. +**To view a copy of this license, visit http://www.gnu.org/licenses/ + *****************************************************************************/ +package ab.vision.real; + +import java.awt.Color; +import java.awt.Graphics2D; +import java.awt.Point; +import java.awt.image.BufferedImage; +import java.util.ArrayList; +import java.util.LinkedList; +import java.util.Queue; + + +public class ImageSegmenter { + + // objects in game + public static final int BACKGROUND = 0; + public static final int GROUND = 1; + public static final int HILLS = 2; + public static final int SLING = 3; + public static final int RED_BIRD = 4; + public static final int YELLOW_BIRD = 5; + public static final int BLUE_BIRD = 6; + public static final int BLACK_BIRD = 7; + public static final int WHITE_BIRD = 8; + public static final int PIG = 9; + public static final int ICE = 10; + public static final int WOOD = 11; + public static final int STONE = 12; + public static final int DUCK = 13; + public static final int EDGE = 14; + public static final int WATERMELON = 15; + public static final int TRAJECTORY = 16; + public static final int CLASS_COUNT = 17; + + public static final int MAX_DIST = 100; + + // training color points + private static final int _trainData[][] = { + {144, 200, 216, BACKGROUND}, + {216, 232, 248, BACKGROUND}, + {208, 224, 240, BACKGROUND}, + {240, 248, 248, BACKGROUND}, + {184, 200, 240, BACKGROUND}, + {216, 232, 240, BACKGROUND}, + {168, 208, 224, BACKGROUND}, + {176, 216, 248, BACKGROUND}, + {208, 232, 248, BACKGROUND}, + {112, 160, 176, BACKGROUND}, + {8, 16, 56, GROUND}, + {24, 40, 96, GROUND}, + {48, 104, 16, GROUND}, + {192, 248, 8, GROUND}, + {24, 48, 11, GROUND}, + {64, 40, 24, HILLS}, + {48, 32, 16, HILLS}, + {144, 112, 80, HILLS}, + {104, 72, 48, HILLS}, + {120, 88, 64, HILLS}, + {160, 120, 88, HILLS}, + {88, 56, 40, HILLS}, + {72, 48, 32, HILLS}, + {48, 16, 8, SLING}, + {80, 40, 8, SLING}, + {120, 64, 32, SLING}, + {160, 112, 48, SLING}, + {200, 144, 88, SLING}, + {152, 88, 40, SLING}, + {176, 128, 64, SLING}, + {168, 112, 64, SLING}, + {208, 0, 40, RED_BIRD}, + {240, 216, 32, YELLOW_BIRD}, + {232, 176, 0, YELLOW_BIRD}, + {96, 168, 192, BLUE_BIRD}, + {80, 144, 168, BLUE_BIRD}, + {232, 232, 200, WHITE_BIRD}, + {248, 184, 72, WHITE_BIRD}, + {104, 224, 72, PIG}, + {160, 232, 0, PIG}, + {88, 176, 32, PIG}, + {110, 176, 12, PIG}, + {56, 104, 8, PIG}, + {88, 192, 240, ICE}, + {104, 192, 240, ICE}, + {120, 200, 240, ICE}, + {192, 240, 248, ICE}, + {144, 216, 240, ICE}, + {136, 208, 248, ICE}, + {128, 208, 248, ICE}, + {168, 224, 248, ICE}, + {69, 163, 187, ICE}, + {40, 160, 224, ICE}, + {176, 224, 248, ICE}, + {224, 144, 32, WOOD}, + {248, 184, 96, WOOD}, + {192, 112, 32, WOOD}, + {176, 88, 32, WOOD}, + {168, 96, 8, WOOD}, + {232, 160, 72, WOOD}, + {248, 192, 96, WOOD}, + {248, 176, 72, WOOD}, + {156, 112, 83, WOOD}, + {168, 88, 32, WOOD}, + {216, 146, 64, BACKGROUND}, + {80, 152, 8, BACKGROUND}, + {48, 56, 16, BACKGROUND}, + {40, 40, 8, BACKGROUND}, + {162, 126, 105, BACKGROUND}, + {168, 147, 139, BACKGROUND}, + {160, 112, 72, BACKGROUND}, + {152, 80, 24, BACKGROUND}, + {112, 112, 112, BACKGROUND}, + {160, 88, 24, BACKGROUND}, + {184, 160, 144, BACKGROUND}, + {136, 64, 16, BACKGROUND}, + {64, 176, 40, BACKGROUND}, + {184, 120, 48, BACKGROUND}, + {80, 80, 80, BACKGROUND}, + {0, 0, 0, BACKGROUND}, + {127, 138, 177, BACKGROUND}, + {81, 190, 232, BACKGROUND}, + {40, 160, 232, BACKGROUND}, + {248, 224, 80, DUCK}, + {248, 208, 32, DUCK}, + {248, 136, 32, DUCK}, + {240, 176, 16, DUCK}, + {128, 168, 24, WATERMELON}, + {88, 112, 16, WATERMELON}, + {56, 88, 16, WATERMELON} + }; + + private static int MIN_SIZE[]; + private static int MAX_SIZE[]; + + // table mapping each 15 bit color code to a type + private static int _assignedType[]; + + // drawing color for different objects + public static int _drawColor[]; + public static Color _colors[]; + private static boolean _firstTime = true; + + // edge detection thresholds + private static final int EDGE_THRESHOLD1 = 300; + private static final int EDGE_THRESHOLD2 = 125; + + // weights for edge strength calculation and maximum single response + private static final int wh = 400; + private static final int ws = 12; + private static final int wv = 7; + private static final int EDGE_BOUND = 180; + + private static final int NEIGHBOURS[][] = { + {0, -1, 0, 1, 0, 0}, // horizontal neighbours + {1, -1, -1, 1, 0, 0}, // 45 degress + {-1, 0, 1, 0, 0, 0}, // vertical + {-1, -1, 1, 1, 0, 0} // 135 degrees + }; + + // dimension of the image + private int _width; + private int _height; + + // ground level + private int _groundLevel = 0; + + // the labelled image using integer colours, indexed as [y][x] + private int [][] _class = null; + private boolean [][] _edges = null; + + // the compressed image + public int [][] _image = null; + private int [][] _val = null; + private int [][] _hue = null; + private int [][] _sat = null; + + + // connected components in the scene + private ArrayList _components = null; + + /* Build a segmentation from the given screenshot + * @param screenshot of the game + */ + public ImageSegmenter(BufferedImage screenshot) + { + // if the structure builder is run for the first time + if (_firstTime) + { + initialise(); + _firstTime = false; + } + + // parse the screenshot + _width = screenshot.getWidth(); + _height = screenshot.getHeight(); + _image = compressImage(screenshot); + + _hue = new int[_height][_width]; + _sat = new int[_height][_width]; + _val = new int[_height][_width]; + for (int y = 0; y < _height; y++) + for (int x = 0; x < _width; x++) + { + int color = screenshot.getRGB(x, y); + int r = (color >> 16) & 0xff; + int g = (color >> 8) & 0xff; + int b = color & 0xff; + + _hue[y][x] = getHue(r, g, b); + _sat[y][x] = getSaturation(r, g, b); + _val[y][x] = getValue(r, g, b); + } + classifyPixels(); + findGroundLevel(); + } + + /* Assign a class label to every point in the screenshot + */ + private void classifyPixels() + { + _class = new int[_height][_width]; + + for (int y = 0; y < _height; y++) + for (int x = 0; x < _width; x++) + _class[y][x] = _assignedType[_image[y][x]]; + } + + /* find edges in the image, using the custom edge detector + * @return boolean map in the form isEdge[y][x], where isEdge[y][x] + * means point (x, y) is an edge + */ + private boolean[][] findEdges() + { + int G[][][] = new int[_height][_width][4]; + int G1[][][] = new int[_height][_width][4]; + int G2[][][] = new int[_height][_width][4]; + boolean isEdge[][][] = new boolean[_height][_width][4]; + + // calculate individual edge strength in each direction + for (int y = _height - 2; y > 0; y--) + for (int x = 1; x < _width - 1; x++) + { + for (int o = 0; o < 4; o++) + { + int x2 = x + NEIGHBOURS[o][0]; + int y2 = y + NEIGHBOURS[o][1]; + int x3 = x + NEIGHBOURS[o][2]; + int y3 = y + NEIGHBOURS[o][3]; + + G[y][x][o] = distance(x, y, x2, y2) + distance(x, y, x3, y3); + } + G[y][x][0] *= 1.5; + G[y][x][2] *= 1.5; + } + + // cross-correlate with neighbouring points + for (int y = _height - 3; y > 1; y--) + for (int x = 2; x < _width - 2; x++) + { + for (int o = 0; o < 4; o++) + { + int o2 = (o + 2) % 4; + int x2 = x + NEIGHBOURS[o2][0]; + int y2 = y + NEIGHBOURS[o2][1]; + int x3 = x + NEIGHBOURS[o2][2]; + int y3 = y + NEIGHBOURS[o2][3]; + + G1[y][x][o] = (G[y][x][o] + G[y2][x2][o] + G[y3][x3][o]) / 3; + } + } + + // apply non-maximum suppression for each direction + for (int y = _height-3; y > 1; y--) + for (int x = 2; x < _width-2; x++) + { + for (int o = 0; o < 4; o++) + { + G2[y][x][o] = G1[y][x][o]; + + int x1 = x + NEIGHBOURS[o][0]; + int y1 = y + NEIGHBOURS[o][1]; + int x2 = x + NEIGHBOURS[o][2]; + int y2 = y + NEIGHBOURS[o][3]; + + if (G1[y][x][o] <= G1[y1][x1][o] || G1[y][x][o] < G1[y2][x2][o]) + G2[y][x][o] = 0; + } + } + + // Trace edge using two thresholds + for (int y = _height - 3; y > 1; y--) + for (int x = 2; x < _width - 2; x++) + { + // add pixel if gradient is greater than threshold1 + for (int o = 0; o < 4; o++) + if (G2[y][x][o] > EDGE_THRESHOLD1 && !isEdge[y][x][o]) + { + isEdge[y][x][o] = true; + + // perform BFS for edge pixels + Queue q = new LinkedList(); + q.add(new Point(x, y)); + + while (!q.isEmpty()) + { + Point p = q.poll(); + + for (int i = -1; i < 2; i++) + for (int j = -1; j < 2; j++) + { + if (i == 0 && j == 0) + continue; + + int ny = p.y + i; + int nx = p.x + j; + + // if the gradient is greater than threshold2 + if (G2[ny][nx][o] > EDGE_THRESHOLD2 && !isEdge[ny][nx][o]) + { + isEdge[ny][nx][o] = true; + q.add(new Point(nx, ny)); + } + } + } + } + } + + // combine edge in all four directions + boolean ret[][] = new boolean[_height][_width]; + for (int y = _height - 3; y > 1; y--) + for (int x = 2; x < _width - 2; x++) + { + if (isEdge[y][x][0] || isEdge[y][x][1] || + isEdge[y][x][2] || isEdge[y][x][3]) + ret[y][x] = true; + } + + return ret; + } + + /* find all connected components in the game + */ + public ArrayList findComponents() + { + // find edges and add to the class map + _edges = findEdges(); + for (int y = _groundLevel-1; y > 0; y--) + for (int x = 0; x < _width; x++) + { + if (!(_class[y][x] >= ICE && _class[y][x] <= STONE)) + continue; + + if (_edges[y][x]) + _class[y][x] = EDGE; + } + + // search for connected components + _components = new ArrayList(); + boolean searched[][] = new boolean[_height][_width]; + + for (int x = 50; x < _width - 50; x++) + for (int y = _groundLevel - 1; y > _height * 0.2; y--) + { + int cls = _class[y][x]; + if (!searched[y][x] && cls > GROUND && cls < EDGE) + { + ConnectedComponent cc; + + // use 8-connect for birds and sling, 4-connect otherwise + if (cls >= SLING && cls <= BLACK_BIRD) + cc = new ConnectedComponent(_class, x, y, searched, true); + else + cc = new ConnectedComponent(_class, x, y, searched, false); + + // verify component has the correct size + if (cc.getArea() >= MIN_SIZE[cls] && cc.getArea() <= MAX_SIZE[cls]) + _components.add(cc); + } + } + //_edges = null; + return _components; + } + + /* find all connected components with type trajectory */ + public ArrayList findTrajectory() + { + ArrayList traj = new ArrayList(); + + boolean searched[][] = new boolean[_height][_width]; + for (int x = 50; x < _width - 50; x++) + for (int y = _groundLevel - 1; y > _height * 0.1; y--) + { + int cls = _class[y][x]; + if (!searched[y][x] && cls == TRAJECTORY) + { + ConnectedComponent cc; + cc = new ConnectedComponent(_class, x, y, searched, false); + + if (cc.getArea() >= MIN_SIZE[TRAJECTORY] && cc.getArea() <= MAX_SIZE[TRAJECTORY]) + traj.add(cc); + } + } + return traj; + } + + /* find the ground level */ + public int findGroundLevel() + { + if (_groundLevel != 0) + return _groundLevel; + + for (int y = _height-1; y > 0; y--) + { + int counter = 0; + for (int x = 0; x < _width; x++) + { + if (_class[y][x] == GROUND) + counter++; + } + if (counter < _width * 0.8) + { + _groundLevel = y; + break; + } + } + return _groundLevel; + } + + /* draw all found components + * @param canvas to draw onto + * if the corners should be indicated + */ + public void drawComponents(BufferedImage canvas, boolean drawCorner) + { + if (_components == null) + findComponents(); + + BufferedImage image = new BufferedImage(_width, _height, BufferedImage.TYPE_INT_RGB); + + for (int x = 0; x < _width; x++) + for (int y = 0; y < _height; y++) + image.setRGB(x, y, 0xffffff); + + // draw connected components + for (ConnectedComponent cc : _components) + cc.draw(image, true, drawCorner); + + canvas.createGraphics().drawImage(image, 0, 0, null); + } + + // draw the segmentation onto canvas + public void drawClassification(BufferedImage canvas) + { + BufferedImage image = new BufferedImage(_width, _height, BufferedImage.TYPE_INT_RGB); + + for (int y = 0; y < _height; y++) + { + for (int x = 0; x < _width; x++) + { + int c = _class[y][x]; + image.setRGB(x, y, _drawColor[c]); + } + } + Graphics2D g = canvas.createGraphics(); + g.drawImage(image, 0, 0, null); + } + + // draw the edge image onto canvas + public void drawEdges(BufferedImage canvas) + { + BufferedImage image = new BufferedImage(_width, _height, BufferedImage.TYPE_INT_RGB); + + _edges = findEdges(); + for (int y = 0; y < _height; y++) + { + for (int x = 0; x < _width; x++) + { + if (_edges[y][x]) + image.setRGB(x, y, 0x000000); + else + image.setRGB(x, y, 0xffffff); + } + } + Graphics2D g = canvas.createGraphics(); + g.drawImage(image, 0, 0, null); + } + + // draw the compressed image + public void drawImage(BufferedImage canvas) + { + BufferedImage image = decompressImage(_image); + Graphics2D g = canvas.createGraphics(); + g.drawImage(image, 0, 0, null); + } + + /* compress the given image to 15 bit per pixel + * @param image to be compressed (type RGB) + * @return compressed bits (indexed as [y][x]) + */ + public static int[][] compressImage(BufferedImage image) + { + int height = image.getHeight(); + int width = image.getWidth(); + + int ret[][] = new int[height][width]; + for (int y = 0; y < height; y++) + { + for (int x = 0; x < width; x++) + { + // decode the integer color to and compress it to 15 bits + int color = image.getRGB(x, y); + int r = (color >> 19) & 31; + int g = (color >> 11) & 31; + int b = (color >> 3) & 31; + + ret[y][x] = (r << 10) | (g << 5) | b; + } + } + return ret; + } + + /* reconstruct the image from 15 bit compression + * @param compressed image (15 bit integer array indexed as [y][x]) + * @return reconstructed BufferedImage object + */ + public static BufferedImage decompressImage(int map[][]) + { + int height = map.length; + int width = map[0].length; + + BufferedImage image = new BufferedImage(width, height, BufferedImage.TYPE_INT_RGB); + + for (int y = 0; y < height; y++) + { + for (int x = 0; x < width; x++) + { + int c = map[y][x]; + int r = (c >> 10) & 31; + int g = (c >> 5) & 31; + int b = c & 31; + int color = (r << 19) | (g << 11) | (b << 3); + image.setRGB(x, y, color); + } + } + return image; + } + + /* - Calculate the corresponding class for every possible 15-bit color + * - Initialise the drawing color for each types + * - Set minimum and maximum size of each type of object + */ + public static void initialise() + { + // initialise drawing colors + _drawColor = new int[CLASS_COUNT]; + _colors = new Color[CLASS_COUNT]; + _drawColor[BACKGROUND] = 0xdddddd; + _drawColor[GROUND] = 0x152053; + _drawColor[HILLS] = 0x342213; + _drawColor[SLING] = 0x7f4120; + _drawColor[EDGE] = 0x000000; + _drawColor[STONE] = 0xa0a0a0; + _drawColor[ICE] = 0x6ecdf8; + _drawColor[WOOD] = 0xe09020; + _drawColor[PIG] = 0x60e048; + _drawColor[TRAJECTORY] = 0xffffff; + _drawColor[BLUE_BIRD] = 0x60a8c0; + _drawColor[RED_BIRD] = 0xd00028; + _drawColor[YELLOW_BIRD] = 0xf0d820; + _drawColor[BLACK_BIRD] = 0x0f0f0f; + _drawColor[WHITE_BIRD] = 0xe8e8c8; + _drawColor[DUCK] = 0xf0d820; + _drawColor[WATERMELON] = 0x80a818; + + for (int i = 0; i < CLASS_COUNT; i++) + _colors[i] = new Color(_drawColor[i]); + + // initialse minimum sizes + MIN_SIZE = new int[CLASS_COUNT]; + MAX_SIZE = new int[CLASS_COUNT]; + for (int i = 0; i < CLASS_COUNT; i++) + { + MIN_SIZE[i] = 15; + MAX_SIZE[i] = 4000; + } + MIN_SIZE[PIG] = 30; + MIN_SIZE[HILLS] = 250; + MAX_SIZE[HILLS] = 1000000; + MIN_SIZE[SLING] = 150; + MIN_SIZE[BLUE_BIRD] = 2; + MAX_SIZE[BLUE_BIRD] = 30; + MIN_SIZE[RED_BIRD] = 20; + MIN_SIZE[YELLOW_BIRD] = 20; + MIN_SIZE[BLACK_BIRD] = 20; + MIN_SIZE[TRAJECTORY] = 1; + MAX_SIZE[TRAJECTORY] = 60; + + _assignedType = new int[(1 << 15)]; + for (int color = 0; color < (1 << 15); color++) + { + _assignedType[color] = assignType(color); + } + } + + /* Assign the 15-bit color to the most likely type + * using nearest neighbour in the training data + * @param color - color code of the pixel + * @return the assigned type + */ + private static int assignType(int color) + { + int type = BACKGROUND; + int minDist = 999999; + + + // extract the r,g,b components + int r = color >> 10; + int g = (color >> 5) & 31; + int b = color & 31; + + // convert to 8 bit per component + r = r << 3; + g = g << 3; + b = b << 3; + + // special cases where pixel is grayscale + if (r == g && r == b) + { + if (r >= 88 && r <= 208) + return STONE; + if (r > 232) + return TRAJECTORY; + if (r == 64) + return BLACK_BIRD; + } + + for (int i = 0; i < _trainData.length; i++) + { + // calculate squared distance between the color and training data + int d1 = r - _trainData[i][0]; + int d2 = g - _trainData[i][1]; + int d3 = b - _trainData[i][2]; + int dist = d1 * d1 + d2 * d2 + d3 * d3; + + // assign pixel to the types with shortest distance + if (dist < minDist && dist < MAX_DIST*MAX_DIST) + { + minDist = dist; + type = _trainData[i][3]; + } + } + return type; + } + + private static final double ROOT3 = Math.sqrt(3); + + // calculate hue from the r, g, b color + public static int getHue(int r, int g, int b) + { + double alpha = 2 * r - g - b; + double beta = ROOT3 * (g - b); + + int hue = (int) Math.toDegrees(Math.atan2(beta, alpha)); + if (hue < 0) + hue += 360; + return hue; + } + + // calculate saturation from the r, g, b color + public static int getSaturation(int r, int g, int b) + { + int V = Math.max(Math.max(r, g), b); + int C = V - Math.min(Math.min(r, g), b); + + if (V != 0) + return C * 100 / V; + else + return 0; + } + + // calculate intensity from the r, g, b color + public static int getValue(int r, int g, int b) + { + return 100 * (r + g + b) / 768; + } + + + /* custom defined distance metric + * @param coordinates of the two point to compare + * @return weighted distance between color of the points in HSV space + */ + private int distance(int x1, int y1, int x2, int y2) + { + int d; + + // if hue is undefined + if (_hue[y1][x1] == 0 && _hue[y2][x2] == 0) + { + int dv = _val[y1][x1] - _val[y2][x2]; + d = wv * Math.abs(dv); + } + else + { + int ds = _sat[y1][x1] - _sat[y2][x2]; + int dh = _hue[y1][x1] - _hue[y2][x2]; + d = (int) Math.sqrt(wh*dh*dh + ws*ds*ds); + } + + return d > EDGE_BOUND ? EDGE_BOUND : d; + } + + + +} diff --git a/framework/src/ab/vision/real/LineSegment.java b/framework/src/ab/vision/real/LineSegment.java new file mode 100644 index 0000000..c4f54dd --- /dev/null +++ b/framework/src/ab/vision/real/LineSegment.java @@ -0,0 +1,174 @@ +/***************************************************************************** + ** ANGRYBIRDS AI AGENT FRAMEWORK + ** Copyright (c) 2014, XiaoYu (Gary) Ge, Stephen Gould, Jochen Renz + ** Sahan Abeyasinghe,Jim Keys, Andrew Wang, Peng Zhang + ** All rights reserved. +**This work is licensed under the terms of the GNU Affero General Public License as published by the Free Software Foundation, either version 3 of the License, or (at your option) any later version. +**To view a copy of this license, visit http://www.gnu.org/licenses/ + *****************************************************************************/ +package ab.vision.real; + +import java.awt.Color; +import java.awt.Graphics2D; +import java.awt.Point; + +public class LineSegment { + + public static int NO_CHANGE = 0; + public static int CLOCKWISE = 1; + public static int ANTICLOCKWISE = -1; + + private static double THRESHOLD1 = Math.toRadians(20); + private static double JOIN_THRESHOLD = Math.toRadians(5); + private static double JOIN_THRESHOLD2 = 40;//40; + + // angle tracking parameters + private double prevAngle; + private double accumChange; + private int dirChange; + + public Point _start = null; + public Point _end = null; + public Point _prevEnd = null; + + public LineSegment(Point start, double angle) + { + // initialise start and end points + _start = start; + _end = start; + _prevEnd = start; + + // tracking parameters + prevAngle = angle; + accumChange = 0; + dirChange = NO_CHANGE; + } + + + public double addPoint(Point p, double angle, double THRESHOLD2) + { + if (angle != ConnectedComponent.ANGLE_UNDEFINED) + { + // test point is not a corner + double diff = angleDiff(angle, prevAngle); + + // if the sign of angle change is reversed + if (sign(diff) != dirChange) + { + // corner detected + if (accumChange >= THRESHOLD1) + { + return angleDiff(angle, approximateAngle()); + } + + // reset cummulated results + if (diff != 0) + { + accumChange = Math.abs(diff); + dirChange = sign(diff); + } + } + else + { + accumChange += Math.abs(diff); + if (accumChange >= THRESHOLD2) + return angleDiff(angle, approximateAngle()); + } + prevAngle = angle; + } + _prevEnd = _end; + _end = p; + + return 0; + } + + /* draw start point of the line onto canvas */ + public void draw(Graphics2D g, int left, int top) + { + g.setColor(Color.CYAN); + g.fillOval(_start.x + left - 2, _start.y + top - 2, 4, 4); + //g.fillOval(_end.x + left - 1, _end.y + top - 1, 2, 2); + } + + public double approximateAngle() + { + double xDiff = _start.x - _end.x; + double yDiff = _start.y - _end.y; + + if (xDiff == 0) + return Math.PI / 2; + else + { + if (Math.atan(yDiff / xDiff) < 0) + return Math.atan(yDiff / xDiff) + Math.PI; + else + return Math.atan(yDiff / xDiff); + } + } + + public boolean join(LineSegment line) + { + double angle = approximateAngle(); + double angle2 = line.approximateAngle(); + double diff = Math.abs(angleDiff(angle, angle2)); + double minD = Math.min(distance(_start, _end), distance(line._start, line._end)); + if (diff < JOIN_THRESHOLD || + minD * 2 + Math.toDegrees(diff) < JOIN_THRESHOLD2) + { + _end = line._end; + return true; + } + + return false; + } + + /* calculate angle difference a - b + * @param a, b - angles (radians) in range [0, PI) + * @return difference a - b (positive for clockwise) + */ + public static double angleDiff(double a, double b) + { + double diff = a - b; + + if (diff < - Math.PI / 2) + diff += Math.PI; + else if (diff > Math.PI / 2) + diff -= Math.PI; + + return diff; + } + + /* convert the angle a to a representation which is close + * to the target by adding/subtracting PI + * - e.g closeAngle(179, 0) = -1 + */ + public static double closeAngle(double a, double target) + { + return target + angleDiff(a, target); + } + + + /* return direction of the angle change, + clockwise for positive changes */ + public static int sign(double diff) + { + if (diff > 0) + return CLOCKWISE; + else if (diff < 0) + return ANTICLOCKWISE; + else + return NO_CHANGE; + } + + public static double distance(Point a, Point b) + { + int x = a.x - b.x; + int y = a.y - b.y; + return Math.sqrt(x*x + y*y); + } + + public void removeEndPoint() + { + _end = _prevEnd; + } +} diff --git a/framework/src/ab/vision/real/shape/Body.java b/framework/src/ab/vision/real/shape/Body.java new file mode 100644 index 0000000..a1b4143 --- /dev/null +++ b/framework/src/ab/vision/real/shape/Body.java @@ -0,0 +1,53 @@ +/***************************************************************************** + ** ANGRYBIRDS AI AGENT FRAMEWORK + ** Copyright (c) 2014, XiaoYu (Gary) Ge, Stephen Gould, Jochen Renz + ** Sahan Abeyasinghe,Jim Keys, Andrew Wang, Peng Zhang + ** All rights reserved. +**This work is licensed under the terms of the GNU Affero General Public License as published by the Free Software Foundation, either version 3 of the License, or (at your option) any later version. +**To view a copy of this license, visit http://www.gnu.org/licenses/ + *****************************************************************************/ +package ab.vision.real.shape; + +import java.awt.Color; +import java.awt.Graphics2D; +import java.awt.Point; + +import ab.vision.ABObject; + +public abstract class Body extends ABObject + +{ + private static final long serialVersionUID = 1L; + public Body() + { + super(); + } + // position (x, y) as center of the object + public double centerX = 0; + public double centerY = 0; + + + public static int round(double i) + { + return (int) (i + 0.5); + } + @Override + public Point getCenter() + { + Point point = new Point(); + point.setLocation(centerX, centerY); + return point; + } + @Override + public double getCenterX() + { + return centerX; + } + @Override + public double getCenterY() + { + return centerY; + } + + public abstract void draw(Graphics2D g, boolean fill, Color boxColor); +} diff --git a/framework/src/ab/vision/real/shape/Circle.java b/framework/src/ab/vision/real/shape/Circle.java new file mode 100644 index 0000000..c5135f2 --- /dev/null +++ b/framework/src/ab/vision/real/shape/Circle.java @@ -0,0 +1,90 @@ +/***************************************************************************** + ** ANGRYBIRDS AI AGENT FRAMEWORK + ** Copyright (c) 2014, XiaoYu (Gary) Ge, Stephen Gould, Jochen Renz + ** Sahan Abeyasinghe,Jim Keys, Andrew Wang, Peng Zhang + ** All rights reserved. +**This work is licensed under the terms of the GNU Affero General Public License as published by the Free Software Foundation, either version 3 of the License, or (at your option) any later version. +**To view a copy of this license, visit http://www.gnu.org/licenses/ + *****************************************************************************/ +package ab.vision.real.shape; + +import java.awt.Color; +import java.awt.Graphics2D; +import java.awt.Rectangle; + +import ab.vision.ABShape; +import ab.vision.ABType; +import ab.vision.real.ImageSegmenter; + +public class Circle extends Body +{ + + /** + * + */ + private static final long serialVersionUID = 1L; + // radius of the circle + public double r; + public Rectangle bounds; + /* Create a new circle + * @param xs, ys - coordinate of the circle centre + * radius - circle radius + * t - type of the object + */ + public Circle(double xs, double ys, double radius, ABType type) + { + + centerX = xs; + centerY = ys; + r = radius; + shape = ABShape.Circle; + bounds = new Rectangle((int)(xs - r * Math.sin(Math.PI/4)), (int)(ys - r * Math.sin(Math.PI/4)), + (int)(2 * r * Math.sin(Math.PI/4)), (int)(2 * r * Math.sin(Math.PI/4))); + this.type = type; + angle = 0; + area = (int)(Math.PI * r * r); + super.setBounds(bounds); + + } + + @Override + public Rectangle getBounds() + { + return bounds; + } + + + + public Circle(int box[], ABType type) + { + centerX = (box[0] + box[2]) / 2.0; + centerY = (box[1] + box[3]) / 2.0; + r = (box[2] - box[0] + box[3] - box[1]) / 4.0; + area = (int)(Math.PI * r * r); + bounds = new Rectangle((int)(centerX - r * Math.sin(Math.PI/4)), (int)(centerY - r * Math.sin(Math.PI/4)), + (int)(2 * r * Math.sin(Math.PI/4)), (int)(2 * r * Math.sin(Math.PI/4))); + angle = 0; + this.type = type; + super.setBounds(bounds); + } + + /* draw the circle onto canvas */ + public void draw(Graphics2D g, boolean fill, Color boxColor) + { + if (fill) + { + g.setColor(ImageSegmenter._colors[type.id]); + g.fillOval(round(centerX - r), round(centerY - r), round(r * 2), round(r * 2)); + } + else + { + g.setColor(boxColor); + g.drawOval(round(centerX - r), round(centerY - r), round(r * 2), round(r * 2)); + } + } + + public String toString() + { + return String.format("Circ: id:%d type:%s r:%7.3f at x:%5.1f y:%5.1f", id, type, r, centerX, centerY); + } +} diff --git a/framework/src/ab/vision/real/shape/Poly.java b/framework/src/ab/vision/real/shape/Poly.java new file mode 100644 index 0000000..6e4ba70 --- /dev/null +++ b/framework/src/ab/vision/real/shape/Poly.java @@ -0,0 +1,72 @@ +/***************************************************************************** + ** ANGRYBIRDS AI AGENT FRAMEWORK + ** Copyright (c) 2014, XiaoYu (Gary) Ge, Stephen Gould, Jochen Renz + ** Sahan Abeyasinghe,Jim Keys, Andrew Wang, Peng Zhang + ** All rights reserved. +**This work is licensed under the terms of the GNU Affero General Public License as published by the Free Software Foundation, either version 3 of the License, or (at your option) any later version. +**To view a copy of this license, visit http://www.gnu.org/licenses/ + *****************************************************************************/ +package ab.vision.real.shape; + +import java.awt.Color; +import java.awt.Graphics2D; +import java.awt.Point; +import java.awt.Polygon; +import java.awt.Rectangle; +import java.util.ArrayList; + +import ab.vision.ABShape; +import ab.vision.ABType; +import ab.vision.real.ImageSegmenter; +import ab.vision.real.LineSegment; + +public class Poly extends Body +{ + /** + * + */ + private static final long serialVersionUID = 1L; + public Polygon polygon = null; + + + public Poly(ArrayList lines, int left, int top, ABType type, double xs, double ys) + { + polygon = new Polygon(); + shape = ABShape.Poly; + if (lines != null) + { + for (LineSegment l : lines) + { + Point start = l._start; + polygon.addPoint(start.x + left, start.y + top); + } + } + centerX = xs; + centerY = ys; + angle = 0; + area = getBounds().height * getBounds().width; + this.type = type; + super.setBounds(polygon.getBounds()); + } + @Override + public Rectangle getBounds() + { + return polygon.getBounds(); + } + public void draw(Graphics2D g, boolean fill, Color boxColor) + { + if (fill) { + g.setColor(ImageSegmenter._colors[type.id]); + g.fillPolygon(polygon); + } + else { + g.setColor(boxColor); + g.drawPolygon(polygon); + } + } + + public String toString() + { + return String.format("Poly: id:%d type:%s hollow:%b %dpts at x:%3.1f y:%3.1f", id, type, hollow, polygon.npoints, centerX, centerY); + } +} diff --git a/framework/src/ab/vision/real/shape/Rect.java b/framework/src/ab/vision/real/shape/Rect.java new file mode 100644 index 0000000..8d65c09 --- /dev/null +++ b/framework/src/ab/vision/real/shape/Rect.java @@ -0,0 +1,185 @@ +/***************************************************************************** + ** ANGRYBIRDS AI AGENT FRAMEWORK + ** Copyright (c) 2014, XiaoYu (Gary) Ge, Stephen Gould, Jochen Renz + ** Sahan Abeyasinghe,Jim Keys, Andrew Wang, Peng Zhang + ** All rights reserved. +**This work is licensed under the terms of the GNU Affero General Public License as published by the Free Software Foundation, either version 3 of the License, or (at your option) any later version. +**To view a copy of this license, visit http://www.gnu.org/licenses/ + *****************************************************************************/ +package ab.vision.real.shape; + +import java.awt.Color; +import java.awt.Graphics2D; +import java.awt.Polygon; +import java.awt.Rectangle; + +import ab.vision.ABType; +import ab.vision.real.ImageSegmenter; + +public class Rect extends Body +{ + private static final long serialVersionUID = 1L; + // width and height of the rectangle + public Polygon p; + protected double pwidth = -1, plength = -1; + + public double getpWidth() + { + if(pwidth != -1) + return pwidth; + return width; + } + + public double getpLength() + { + if(plength != -1) + return plength; + return height; + } + public Rect(double xs, double ys, double w, double h, double theta, ABType type) + { + + + if (h >= w) + { + angle = theta; + pwidth = w; + plength = h; + } + else + { + angle = theta + Math.PI / 2; + pwidth = h; + plength = w; + } + + centerY = ys; + centerX = xs; + + + area = (int) (pwidth * plength); + this.type = type; + + createPolygon(); + super.setBounds(p.getBounds()); + width = p.getBounds().width; + height = p.getBounds().height; + + } + + + + private void createPolygon() + { + + double angle1 = angle; + double angle2 = perpendicular(angle1); + + // starting point for drawing + double _xs, _ys; + _ys = centerY + Math.sin(angle) * plength / 2 + + Math.sin(Math.abs(Math.PI/2 - angle)) * pwidth / 2; + if (angle < Math.PI / 2) + _xs = centerX + Math.cos(angle) * plength / 2 - + Math.sin(angle) * pwidth / 2; + else if (angle > Math.PI / 2) + _xs = centerX + Math.cos(angle) * plength / 2 + + Math.sin(angle) * pwidth / 2; + else + _xs = centerX - pwidth / 2; + + p = new Polygon(); + p.addPoint(round(_xs), round(_ys)); + + + + _xs -= Math.cos(angle1) * plength; + _ys -= Math.sin(angle1) * plength; + p.addPoint(round(_xs), round(_ys)); + + + + _xs -= Math.cos(angle2) * pwidth; + _ys -= Math.sin(angle2) * pwidth; + p.addPoint(round(_xs), round(_ys)); + + + + _xs += Math.cos(angle1) * plength; + _ys += Math.sin(angle1) * plength; + p.addPoint(round(_xs), round(_ys)); + + } + @Override + public Rectangle getBounds() + { + return p.getBounds(); + } + + public Rect(int box[], ABType type) + { + centerX = (box[0] + box[2]) / 2.0; + centerY = (box[3] + box[1]) / 2.0; + pwidth = box[2] - box[0]; + plength = box[3] - box[1]; + angle = Math.PI / 2; + + if (plength < pwidth) + { + pwidth = plength; + plength = box[2] - box[0]; + angle = 0; + } + + + width = (int)pwidth; + height = (int)plength; + + this.type = type; + + area = width * height; + createPolygon(); + + } + public Rect(double centerX, double centerY, double pwidth, double plength, double angle, ABType type, int area) + { + this.centerX = centerX; + this.centerY = centerY; + this.pwidth = pwidth; + this.plength = plength; + this.type = type; + this.angle = angle; + this.area = area; + createPolygon(); + super.setBounds(p.getBounds()); + width = p.getBounds().width; + height = p.getBounds().height; + + } + + + /* draw the rectangle onto canvas */ + public void draw(Graphics2D g, boolean fill, Color boxColor) + { + + + if (fill) { + g.setColor(ImageSegmenter._colors[type.id]); + g.fillPolygon(p); + } + else { + g.setColor(boxColor); + g.drawPolygon(p); + } + } + + public static double perpendicular(double angle) + { + return angle > Math.PI / 2 ? angle - Math.PI / 2 : angle + Math.PI / 2; + } + + public String toString() + { + return String.format("Rect: id:%d type:%s hollow:%b Area:%d w:%7.3f h:%7.3f a:%3.3f at x:%3.1f y:%3.1f", id, type, hollow, area, pwidth, plength, angle, centerX, centerY); + } +} diff --git a/framework/src/ab/vision/resources/0endScreen.png b/framework/src/ab/vision/resources/0endScreen.png new file mode 100644 index 0000000000000000000000000000000000000000..bb0a1cc3f10f5c05c870ee7029508e1abcf231ea GIT binary patch literal 1771 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 Z>Hi#N4;8%{Oq2is002ovPDHLkV1fxjEKvXe literal 0 HcmV?d00001 diff --git a/framework/src/ab/vision/resources/4endScreen.png b/framework/src/ab/vision/resources/4endScreen.png new file mode 100644 index 0000000000000000000000000000000000000000..9d88a065fdd4b5a97ea88854a66a956e48642441 GIT binary patch literal 1456 zcmV;h1yA~kP)Px#24YJ`L;(K){{a7>y{D4^000SaNLh0L01FcU01FcV0GgZ_00007bV*G`2iyw{ z1u71rioE;)00l5fL_t(o!>yNHY!p=#$A2?(XLh%{+wS&jX`$F63Iu6tQHnxCFc70L z(GWuj4?Y;bo{aI?7&SilhKa^E6BCGu(HJEpCXfim3MwBK%IA{MrXQ42C}mp;J3DvA zhdbMLc4tehy~$+f&i>E+&-veT&pD$39>Cts(7qhbjlj2mf-u05R2*+~!|FzLe_<4a z4r?-MK0Xcmj)3dV;RQfEqDZ1ug7)PO4LhKz26~6!$1`9%L6Z7}BB`m1;@Fb)6aYx1 zENaqG=+E)&YUs(%+2{a|q}8N(RSU~nGc?tJAq+ZN;FFhO_tQb5bd~z8u5D!F&Mkn# zzx3vAHf-w#pshY=qXP)xyBDct)rKw-=@hSh_%ViIAS{#4mGD$+h<>7qj_tciWg6MO zXD^x7t%yjATG%Ur0$4tgVO6tg;||t!zd|xy&+DIk&A^4z9Qo!8+UnudK+sszBIwZ- z?0WB0s_U1jHOvu3WP}h!Ej6jCZlbZZYxd7%Lk3r#2fz*s49!9}Go+d_bC1kaXz&Pt zhPbbN^ICM#5CG&R?gB7*FN8<4%J90e0FmiSXGYR!Moj=PlbZtIo*iaxmf_ zgh*|U8{(1Y$uhi@(+dPcQcdCsu&1*nL^(wiV(iK3GJN6wNM)jU#GmNH*i#b$fIV{y zfP9E_t}~52)f;@V2mStAgav~yot(*H+d++QUmpTsbh3g+x${BtyuurL2+{0AXB6p_ zF6LC+BUk2;4~9yJ#>1r(e#9Au0dBcIQhJrc8@J3R8dD3#OQKwl6cehYqiZ5?;p+Zb zs#KNAZDLh1RWdASPS5iw;~(sFV;aLqlt@#U^=3~OL=4DOL(+d+UDL~K4F9Yoqwwx? zFnkBT{8c%kl8K06l;o*`cOL-DfQ}WVc@9jg+{Q4}0j`S2s7fY)adxf)Q9P_d2n-_@ z6h`ydu&I-DLmj4NVpk zQM@|F))!u6F{A(T6^b&VapV$+l)rYOrnbzZ z#f~-YT}WGU@ytm&S{!~j4I=56k7T+5ZHYX}w5%o;Pmw))2I)8m4aC4WbhSd?U%zwh zVjrE|&$IHe_5Yjf!l@JF^LcuQ;DH0;pFw!$QGg-F8Di~|ThR2#f{VD)!Ew|Xvm!wi zrY0x2+V>X|H*WxNZg5_%`|2ocYJ**!aP9IrM*6Q(aBQ4H0oQSmvcR3OVPkZ|Bu_J_-u~Q0$o3w8s4T7rx(2z4n`Pb$p**}Y z2H*V+Gj<8lR31J*tUAny2?YsKf^@+F#&U2!uhNk)R0lgVbqCFemb4MpTw`NbDDYEx z)#N|aBe$5@C6q?05vg2Z|LZ804Cy!_9+^u=G=HDaEVTLkuO3-iBI&CBTB0G0xqZ=! z_udkEqzFC4Jh^lc3GEs5#S#@8%0k`-P0U`2bhAonu_Yq9ao7Kh9Lb{Tf)hXQ!}C01 z$vRc|%%zfUwp&#)9{*_{x!a>GU%Oe=pxaACG;m9O91mwtBBex1hqK2HaQ4^%0IuFB z>(cQSL)2CeZ*L1eJJbiwHPAl}CkK{@s7TgY4=ZX_x$enU#{LW1(z2di??TA{0000< KMNUMnLSTYHD5wtr literal 0 HcmV?d00001 diff --git a/framework/src/ab/vision/resources/5endScreen.png b/framework/src/ab/vision/resources/5endScreen.png new file mode 100644 index 0000000000000000000000000000000000000000..f80282af26958f50f4962aa4d4b960c8057d87aa GIT binary patch literal 1464 zcmV;p1xNacP)Px#24YJ`L;(K){{a7>y{D4^000SaNLh0L01FcU01FcV0GgZ_00007bV*G`2iyw{ z1u86e>irl100lTnL_t(Y$EBB9Y*bYk$A9w9}c+dS`q% z7dq`sO9#K?WbU2&-QWGr|2yY9=O{p&6s9Vms$k84!YmL11fZ#)2@oon1r%gU!p&*u zA76Z50piUL*!&Pw6-c0_%HMSDtBZ?p(d>X1wk10$3aFZf#cIJ`WJlFBG@+sj4OIw) zP%)X!*bD8%V{tCDonw1d0=Oz)UbGy1jhcoAR3XqbfugEwjx-Vq(baK<4JCeTX7GnV zm`(Db$yS0nw>ItW2mLzz@%_vSAJUuo{z&j7Xh7#CO4VOkh z2&2at=0a3am^Rqac!1X%_Azkr2Y&qQZ5)LL_+G?nCW@Au^r9XK;Ta#o>lq^)Tp$_= zFgxjF-aSq@V)GiiFFR4N^Mnx<%N_ajqIeDQm9>nfR5e_&Bd-Y@~0u%oa91BgO2UAoz zr0ymyO>jZByvVUzAQnw>(2O$ISPl(kFdqb$7bfSxIRhh85KW=KFdLDWGR&xoNOCY) z%*F>m1J>DO+gvK2&j!HhhK}pt@u!eN)of^*ISE`@m&L(%DnU_*>u~}L0X$Q)%(~~8 zxHSpRNgB&#JwJX9#_ucxYg!JPW=*M=mY}cM3ikZ+d-p!CkM8rA8R{S4%{}n(83|7S zTUG?GX1RG*_8e%%V$I~*r5;)~!HG`LDhfDSlntIK4?Ue1iAA8avKmFnNUN1rRPkq5 z7kO5lZYPMg9w>bZ7?#x|H@_J50U|eBtvEK;GuYQhZLzVK3JrETVBc2Q_-K=y7?B7u zJxWYpoHUs^ximfTG`Z^vQo?WaT;}w5-_Y}~p>b4)zg)2Q5g6#bvT9@_*RS!?;djX^ zEJ=0 z5CBfk8o^Cf(AprkT@AZiDXZO<(r>~k!K15zGfl9y47RL?>LU4HebY0vy!w7hf46G{ z_v9#(^DymA0Ncz^nGdD8P*bo71IWrNV)y>TY}s{S#a{JY_+HB3PAEdJG|Ox+-4rU+ zY<-gY=2kXr-;1iPteSVmMgMQ7fQ02g(Pw-n={cS~^bwgkD{l^C zdW5TIPx5>FG5mKXiRke8c^LC7%MlQ_nc>Jj&@{oOT`%(d;p0oU0O26Ry&a77bujQp z8{v=)ZEzCWdsCMI0dli^$q75EqUiBB*Did^%=jQ4*AO#f19)8jEUj=;(!cN4%GxV; zPfdANc&kO8gp!T|x?Ji9T`({KZr}Zrsw5uA@~lu>430vWnujT`Y-<56xBmdntJ@zP Sre2Ex0000Px#24YJ`L;(K){{a7>y{D4^000SaNLh0L01FcU01FcV0GgZ_00007bV*G`2iyw{ z1uG3AnA`^d00u-!L_t(o!=;!>Y+KhAhQBw6lSzexBulbJ+Lo;frXyL2ozzO>v@x7? zN)QLxv_-QhTC@dPAloil6zHPpu;`}nqFFQz8YF2gBn8?C32MuOl1QSZ%2q6c8mNgB zMGX{5ab_3ySrYReCB?qL!M*prbIoKz6a3btpY@n;Q1f?kRvBM_cT>5n;|ed%H)WjncLF>aCsNg*-Y@Yb}>Hx>d!g) z*faaullaOUGvfj74G&S&cHC}(c&3aqyxa|^n&EI~58wXT@A#r^H56pH@9&I!_%6ME zxH)N{k;^JTBuV0#@BA8Btu8AtJUzzvwO*Ejw^<1IDdr0Rm~9R!s~Z5AT`Oa{t`^a^ zKlu{Q`V)o#8_@;&{_+}u;SUVoCu1ulV=K(B!Q4t2pu;ty?|AxEkPqm!m>S`o-+Y~9 zY?-wbjLpKG5X?oPpc&tyg43=C*#fegz*_|-^8uPqJPVRi!c@p->HYo7BxB2r&A~fE zkjfc2MF!$4#^zQ5TC2pQ$#;%?ZbQf9@4Li$B*^3vyzwy))Kq{LZQtu!kC2H^=tIij zWdH^ydEll3R5`SBWY3V;%Crc(aR>F{o#VO?T#5N(5 zdk7#|0<$VYj!c+*s+1ub3;{5|1{b@)Y5`ROS%O>vvN;H@!Su4Rw`~Ebnu95-0tNji zXVW5%wAYmv;%gNBbQA(%=o>cxs&k5gyT*Ym>4SM8U&K}Iz*YSS2OHd&t!89JMv^6p z`2x9Yp5@Rgi_;NcgBB0ey5Ox(N=>brHQ5y=D~e**0Udj^gJX|&>}vnR+Utdx5dH7p zq@!+=i{0?%z|K9=2C{5IQJg$XYxFw#=J)Ek{QBGY4y6frx6}Goo|GgBMX^3KIXwqC zd*Q19bT%2~BUwh4t$TiTHj_n`B^0%66+oM>i(5B_fH0?;VQ6Ltkc^6~ln3%(>u2QV zH4+`He)^mt=*crr@KNt&e2oHVM~NXcGNRFePq^{Hze#Mw$>v3QmDq?g zc=f-0bh+1X%~9Xu?2Mz^pCTzpWi;~NxC+1<128r(o_VX_yHCQz=rCuWyNKQCDp_N; zS*dMkA~YAI!40yO94Qov$g)L8n~5~>wN>J&ZIJu5+ue}n*1;LWwUus>otvS-j9bd!?j9 z3WcqbS!c1U91lwf|XkH8NOLLQ;Sao!~`#b`(thIz(wMTj3M}NXr>B3tjt}%)XzMhxp zdGR$Jzob~XJJbijM0m%6O=jTsB6QRhxpn1jp7_>J^{JrqS$^z0$K1U^vZ(}($4_Ij z*bTjLX?C31iDAO)Fgp9W=zTw&5B0rHYBMR^`g0^#SZVrF4~M%hV6wRkd5|mk@Nd5o z7K&~c_FF&`AsAnPWPFXjzy1Ow^?~U6KmNe%-A@Ux!+ZW6hZp$e{mE1mx?5mv;V!bG z($szyNs{+X*Wdju*L(j6z?+}KYN8BKIwvl@olOwDbDf2IgVP1~h+f zkbnL8Cye#K1;C|#m|WV&Wx1^uUg!k3Z9Drm96N)>;i1AT9u~4$GU*Lw?(~z-hzJmg z!$19ckX>)(ssdkW6SoX+)$Un0xFXKWe{PG5vr&`w^PfSMpxF&pGnka^n|LZO!pnXt a*#850E;!|F;=fA(0000Px#24YJ`L;(K){{a7>y{D4^000SaNLh0L01FcU01FcV0GgZ_00007bV*G`2iyw{ z1uH0NoCrVw00gW_L_t(Y$DNm5OjCChz<>9vEtFDPS}KK7tPBeX;uM!{CX0K}EMX6G zaapo=m-w=$z3pKy%O2drmN=8W8Mj2UJxrs^wq%)`G0rbgPznXCe3h=H6lk%O($YQL zR++b!)|1?vo1XLk_2lH7^FLPraug9+0&6wY89@egIxy;>!32r~dKqLH9JMeNg^Pob z%4|6gaM%m2_28@ng94HWqCnZw>r(ZF+grdV4?~Mp>nzCvCW{`ES&t-($cjXjQO0aD zq9`J=A|fdw^^R)Je=|U@3+7^QeKHSjv4XA1#_R9ANxjpCu1b%r$OuAtA;+UDY-R@l z=-&%HE;w@)r1l+ru4IxdhT^QmHbAscWA&h~Zbp>t+ddl`1{z!~cn|im9FCx5;`l-! zpScPr-U0}*9Eo6ecVV=8%g(R4(TTaS2Y{Qu{0hMFJ`iej zf@FRvaA5EX>&aCDkvuq^fsqh&H9q0=iT09*`#(8H#~U9MwT=CA2>@Rh#KMmk2UYl5 z`o&O5l6j@?7zm2yNvBfyZ~hFx&~!dxfJ6$uzfl~x-wnqPfV<~yV4X~QUE|}sc8**w zhd&I7^)291(%Go$)~;7cuZ|b>@m)I$!0_yrSy4(v0a|V9yVGMKow%>@Nh~iBoERd$ z27}XOf;*jH)PuwAM9R&Oj%$7VH}0xc5q&l)w*`0P)6nd(kWI}NFS7?e;90a~fp^*p zU>j^^H1?&1I4jWvp*W0(%LKRC!D)oARw zT#jjfNRx(b!G&sQ^>!jjbsBqUdX6WFH3Cs}$d?6fwnC#BYU^roI9)}3CP&nP^EguE z&fKmVT06XmVwJ|ena%RZ=Lg{4Yz5##HF&(;h>{lk$TvhLy+I%X(bY1+wi@u*z))RH zv!??=5H&vIL&E?(2o?`aeo?mpcslnY%0`Vnl}a)_F{Y+rrUJ0nk+0)DeTbq#+rsy* zlgq*A{QsAflHl4Z@HD8icc=FNf~fuP@!?w~qb&;V%2z{M&ud6JZBwi)h6zngvYdqB zUgM`SV?5M;91O~!6rE;|iRQ{ia+Ng8v zG6Jz=CE$Ezc@MtFrEfoG&VL7h^IsfeJsHPXXIGbz zx$+l886c4FqPxF;$9ghOA_b2Ypw|^=Apx+!NDyv6E*~ruKF2;hsDAz2pM}dq@MIkf ivO2v?26eZqME(PL_K5e01NE)|0000Px#24YJ`L;(K){{a7>y{D4^000SaNLh0L01FcU01FcV0GgZ_00007bV*G`2iyw{ z1uO%KVQ0qx00%fpL_t(o!@ZbmY?Id+$A9m|*ElyPP9RPk$H`KXkN_oJ3bX~vq^Vt5 zM_YC67`t@ZG;NwTY2T-QsI)KruyvERqE3^xPIT&ksqHFIMOOwa6%Zf^5Xc=TapE|3 zF1C}{__7b@jgvR8!=)c~q(|rV`<&!zcJFV7W7Dtc2H|fP#`zzW2u4m@L+Z_N<#1&XCEZ$YwH}dG`-Y%);+JU8hmY zW-)I+@Cp`3ZGJOlG9;E_WYTGDj$$NP*73LQ`&RDxM(2NE=mxD-&>L6-9oOHv^EXwjF@YMQcpA5`c)$CtZA(4z;(>u_`e~Ryh*8$y`(Ez(UX?@(QKUhyO{yx}M4{7aCcY48L z1$RR&Dq|!U#&YZDLJ`LMZxLC9?(ua%gCX!o03rm3yD6`7<^=1v6mk2K10OMb6>Cgq zH}lxj4WyUHbQ`;T`f~sVrXiKq$_eoL+E}VBgT!(IZ{sG&W+0nEmZ5&D8W= z5uR-Yv&F=7M_#~LQT9;TJGKzx^xr>ZHZ;q?H2mq@Dld0NMK*Y~1564Wc;PwRb#=(H z>7mGKE1;pJiIH0a6v)dI+ThmYI@3MdDvDmi))wlU+mL137b06hDPMj0Wh4nY>O^ah z)5vayZ$2j4fUkY~J6P>SNV3U5!HG!%qkg8w0?dbJvDh7X*A^6(uo#Om9hg8?gjOoR zwrYV|x21&=r`urrsqs6UIev^tXxhNr`}G%T`|=*c`)#}SbN$jqeC2E0drOu0(YXC_ zB*mr^NT=@d;a}cic`=SZ0y9xaq=lKc*TC5ij^kN+B!AnsC-9cC~qV0RQ^ zv6Udn79EY;>II-@-003-ceG4B;Wx-hvW042ORh~&S5lhG?L$(Golh(}4?r+#1ey>m zLV=OIvZ~fgSQJskwH|u4Dy|(ffe}$f=ZrvdF6x!MvWf;S1L{f{&m!gBmC0-;nMhz! z^|=ecqn&M)uQ{)5IwQWG%7Pq@iI?-?04O#CReD4sb(a`5YSAL0-2J7zvU6b(4xt5* zXX9FH8w!v`MN+Ifs%qE)h$z=pT?e###B=KtFB#+{#Y%YcPVRiwOcsWx!B>%GY_JD! zvp)D9efqmxIdhDrsyTkLA0pbueC6V9)b`|ylvg+B>1xyXZ(kDCJFK1OkXFWrdd`Dl z){(Wy#i5@crMSEbk5dHc_8O6d8+IJvz~R>oGAL&J1J_6_#TlLvx^hkYoZwSNZI{H&|GL_q*V3dQF))Hz4NDkABa5XbeeK zzYrysVtjn`7vgR-wtD-^0rgLbl#)s;aqQQJn3)&^+4N8pUx@Jjn}>-^4KX+kANOuh z%2fppcR^9sm){fvvH+`MQxqA92$wZvVdHC}MSXjEpty}`W z@u)s-BuS$BkzH7eoTz3|MpDTnsig({edkH1?&j8BABU6Igs0v2`o9v8J8DG68fIVF1bRObF2(*FRwr*(NVPths>0000< KMNUMnLSTaZf4Zsw literal 0 HcmV?d00001 diff --git a/framework/src/ab/vision/resources/9endScreen.png b/framework/src/ab/vision/resources/9endScreen.png new file mode 100644 index 0000000000000000000000000000000000000000..49cdcfe0bdbd36946c3c55f9252fd4e43481cfe9 GIT binary patch literal 1768 zcmVP)Px#24YJ`L;(K){{a7>y{D4^000SaNLh0L01FcU01FcV0GgZ_00007bV*G`2iyw{ z1uP|4Y~nfq00wADL_t(o!=;yNY?Id+$A9m|aUADHE_Uo(>^K)l3S}dKbZrqtE2~zm zVx3e_r>bL{iuz&Nq-j&NkJI*L>W695KJ23H!@4o4($EG{FR(VCU0R?Cfe;9g7?X>G zv6DEy#ddtzhw~cz=Czwp9_i?u_dVx1|K~jCJpbn$3CL4MJT~ZRhR!B%HGm@P`*V2+ zCt!93?gZiXJy=eZo=YkP)KCS7zX;n~^#2tFBt^9IIml*=6JA|_e~dvQy$R4Z3%q_% zfK^qS=o_%(?5xM$UW20Qmz2-viG-5`=cCL`hnblOktlYapKA)$-;i0|% zDO!653}a;#dWK%)%7-WDa~1&&y1`KkZQJ+J;(6Mjc=D}Rm>D}$()uTdU*-AZzcT#q z9uPp?&2Vl?1L|{%&Yi>G0okfk@Qt5gX6y{%BwY5vQXH~5XsLr|yW#4{UwHcEpHkD< zs?&2l`2vz8(QV5kOCSSy8Z|5Sz66pK=8Gwsk_+Sz~^}*#?cy9tG7KGldOQ#Kb zN<}p-U4sBPw}I^329^r2ckaeyR>`Ep56XISiQA*60J!8ey6w6KG<)q|I=w=vvvmN_ zR1K=VMq>oKgLLecZlXwVfowX>avY*5BhY+U)WJJr23-JKhnuPYfvXWzx8}AcXFciY zxNhL$^q8n4rH^q~Bhbi_pHyTFNzzl4st8N0CQwZpNs`S>UfsavmwC>iX(xlK?pCKrIZ+XS0yY z7}5d=i_3{r2vV|;)Ay+wZiNc6U)#`dForCtx?*#R4Qy{H4Wi1z2t|=Fnal=#MG>x) zB~VvlLMgVILQ$%96IIt%W390OYdGtnU{pbNwTar^ZZqf#$v!m78xoBL-y#w<$co-i z9lc%L7`?{PeS(QYQIKVk+P~1DrTqRKC`$cj10^%yy$>E+9=|Vut5=^MhK3Ii4u#?F zJYVTIPSy3qcKY`WAW2e*lk#xSRe-60xQI+#xJ>7cow~6WtA(#0JI371G_x~a5|J24 z63uoStzBI-J6g&fluRzA)f&)$reSX<;JZs;K7hmJHYmAzcj4;Y^+1=9=sb7&6#1M9S++cOSqX?ZTnrZl><5$JY61u_a_S_9Uj7!3E9=?9%8GyhPL9G4 zo`V}>pODRE*|ql|PInKAYWiG2@ztn^(X|agp&0z;BY5K=+#0{ct?^4Dvdw1fZCxlP z^}*@NWpk|D_Y;q@85h?j?SGN ze&g3vR2g%~?9@fVAwRw)m|ZRhq}?H&Is84MD*@7LF*2Dnk}RXDl{h@R>F9e3TYFzw zBR+ob_rh&K^rTuW-X&3wpMQs=KmIFCZQCDd|GZa6xI6h@LNORAI=S-3fd{lrPOJtw z{oC)e7K?zSZmA@qVc!4Kn*fa76|7xyMKzV;IccqL=JmHe#%!tG@=Bu1e%|@T5n?O% zxZ#J9sSRnr_#>s|sr9u4@kki6wQ*B`;OrzfFZ`3yvwt8N3*!yJ-$%FbSUxfcdt4w% z677A@V6C%ZGFMU4*ovZ<3E%g!o=T96hnc;iWw=;M$tY z0uk^9;fmkL9-BV@3s)p}BUD$4K&`h3BSLXONy!X&gIX|eLH-Xz{aAGkK&fW{0000< KMNUMnLSTYPWKVwp literal 0 HcmV?d00001 diff --git a/framework/src/ab/vision/resources/episodemenu.png b/framework/src/ab/vision/resources/episodemenu.png new file mode 100644 index 0000000000000000000000000000000000000000..0c13c7d2e800e6e870e6858a99014525e64a2197 GIT binary patch literal 3980 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 z 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 T8KwyW00000NkvXXu0mjf=|4ed literal 0 HcmV?d00001 diff --git a/framework/src/ab/vision/resources/gamewon2.png b/framework/src/ab/vision/resources/gamewon2.png new file mode 100644 index 0000000000000000000000000000000000000000..bdab97e93922da4b58c36cc7f36d7b4e7c444a9b GIT binary patch literal 4834 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 FV1j$8LCF9B literal 0 HcmV?d00001 diff --git a/framework/src/ab/vision/resources/loading2.png b/framework/src/ab/vision/resources/loading2.png new file mode 100644 index 0000000000000000000000000000000000000000..b2993b800d888eac42383822cca5be109ec3f60a GIT binary patch literal 8566 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 literal 0 HcmV?d00001 diff --git a/framework/src/ab/vision/resources/mainmenu.png b/framework/src/ab/vision/resources/mainmenu.png new file mode 100644 index 0000000000000000000000000000000000000000..35671f6adbc658e324e293901d7d24a029b7249f GIT binary patch literal 2942 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 literal 0 HcmV?d00001 diff --git a/framework/src/external/ClientMessageEncoder.java b/framework/src/external/ClientMessageEncoder.java new file mode 100644 index 0000000..aa6bb2b --- /dev/null +++ b/framework/src/external/ClientMessageEncoder.java @@ -0,0 +1,152 @@ +/***************************************************************************** + ** ANGRYBIRDS AI AGENT FRAMEWORK + ** Copyright (c) 2014, XiaoYu (Gary) Ge, Stephen Gould, Jochen Renz + ** Sahan Abeyasinghe,Jim Keys, Andrew Wang, Peng Zhang + ** All rights reserved. +**This work is licensed under the terms of the GNU Affero General Public License as published by the Free Software Foundation, either version 3 of the License, or (at your option) any later version. +**To view a copy of this license, visit http://www.gnu.org/licenses/ + *****************************************************************************/ + +package external; + +/*encode the messages to byte[]*/ +public class ClientMessageEncoder { + + //encode screenshot message + public static byte[] encodeDoScreenShot() { + byte[] message = { ClientMessageTable + .getValue(ClientMessageTable.doScreenShot) }; + return message; + + } + + //encode configure message + public static byte[] configure(byte[] id) { + byte[] message = new byte[1 + id.length]; + message = mergeArray( + new byte[] { ClientMessageTable + .getValue(ClientMessageTable.configure) }, + id); + + return message; + } + + //encode loadlevel message + //allow 0 or 1 input argument + public static byte[] loadLevel(byte... level) { + byte[] message = { + ClientMessageTable.getValue(ClientMessageTable.loadLevel), + ((level.length == 0) ? 0 : level[0]) }; + return message; + } + + //encode restart message + public static byte[] restart() { + byte[] message = { ClientMessageTable + .getValue(ClientMessageTable.restartLevel) }; + return message; + } + + //encode cshoot message (safe mode) + public static byte[] cshoot(byte[] fx, byte[] fy, byte[] dx, byte[] dy, + byte[] t1, byte[] t2) { + byte[] message = new byte[1 + fx.length + fy.length + dx.length + + dy.length + t1.length + t2.length]; + message = mergeArray( + new byte[] { ClientMessageTable + .getValue(ClientMessageTable.cshoot) }, + fx, fy, dx, dy, t1, t2); + return message; + + } + + //encode pshoot message (safe mode) + public static byte[] pshoot(byte[] fx, byte[] fy, byte[] dx, byte[] dy, + byte[] t1, byte[] t2) { + byte[] message = new byte[1 + fx.length + fy.length + dx.length + + dy.length + t1.length + t2.length]; + message = mergeArray( + new byte[] { ClientMessageTable + .getValue(ClientMessageTable.pshoot) }, + fx, fy, dx, dy, t1, t2); + return message; + } + //encode pshoot message in fast mode + public static byte[] pFastshoot(byte[] fx, byte[] fy, byte[] dx, byte[] dy, + byte[] t1, byte[] t2) { + byte[] message = new byte[1 + fx.length + fy.length + dx.length + + dy.length + t1.length + t2.length]; + message = mergeArray( + new byte[] { ClientMessageTable + .getValue(ClientMessageTable.pFastshoot) }, + fx, fy, dx, dy, t1, t2); + return message; + } + //encode cshoot message in fast mode + public static byte[] cFastshoot(byte[] fx, byte[] fy, byte[] dx, byte[] dy, + byte[] t1, byte[] t2) { + byte[] message = new byte[1 + fx.length + fy.length + dx.length + + dy.length + t1.length + t2.length]; + message = mergeArray( + new byte[] { ClientMessageTable + .getValue(ClientMessageTable.cFastshoot) }, + fx, fy, dx, dy, t1, t2); + return message; + + } + + //encode fully zoom out message + public static byte[] fullyZoomOut() { + byte[] message = { ClientMessageTable + .getValue(ClientMessageTable.fullyZoomOut) }; + return message; + + } + public static byte[] fullyZoomIn() { + byte[] message = { ClientMessageTable + .getValue(ClientMessageTable.fullyZoomIn) }; + return message; + + } + public static byte[] clickInCenter() + { + byte[] message = { ClientMessageTable + .getValue(ClientMessageTable.clickInCentre) }; + return message; + } + //encode getState message + public static byte[] getState() { + byte[] message = { ClientMessageTable + .getValue(ClientMessageTable.getState) }; + return message; + } + //encode get best scores message + public static byte[] getBestScores() + { + byte[] message = {ClientMessageTable.getValue(ClientMessageTable.getBestScores)}; + return message; + } + //get my score message + public static byte[] getMyScore() + { + byte[] message = {ClientMessageTable.getValue(ClientMessageTable.getMyScore)}; + return message; + } + //merge byte arrays into one array + public static byte[] mergeArray(final byte[]... arrays) { + int size = 0; + for (byte[] a : arrays) { + size += a.length; + } + byte[] res = new byte[size]; + + int destPos = 0; + for (int i = 0; i < arrays.length; i++) { + if (i > 0) + destPos += arrays[i - 1].length; + int length = arrays[i].length; + System.arraycopy(arrays[i], 0, res, destPos, length); + } + return res; + } +} diff --git a/framework/src/external/ClientMessageTable.java b/framework/src/external/ClientMessageTable.java new file mode 100644 index 0000000..78df468 --- /dev/null +++ b/framework/src/external/ClientMessageTable.java @@ -0,0 +1,111 @@ +/***************************************************************************** +** ANGRYBIRDS AI AGENT FRAMEWORK +** Copyright (c) 2014, XiaoYu (Gary) Ge, Jochen Renz, Stephen Gould, +** Sahan Abeyasinghe,Jim Keys, Andrew Wang, Peng Zhang +** All rights reserved. +**This work is licensed under the terms of the GNU Affero General Public License as published by the Free Software Foundation, either version 3 of the License, or (at your option) any later version. +**To view a copy of this license, visit http://www.gnu.org/licenses/ +*****************************************************************************/ + +package external; +/** + * This class maintains all the client messages and its corresponding MIDs. + * */ +public enum ClientMessageTable { + configure(1), doScreenShot(11),loadLevel(51),restartLevel(52),cshoot(31), pshoot(32), + cFastshoot(41), pFastshoot(42), shootSeqFast(43),clickInCentre(36), + getState(12), getMyScore(23),fullyZoomOut(34),fullyZoomIn(35), + getCurrentLevel(14), getBestScores(13) , shootSeq(33); + + @SuppressWarnings("unused") + private int message_code; + private ClientMessageTable(int message_code) + { + this.message_code = message_code; + } + //map message from int to enum + public static ClientMessageTable getValue(int message_code) + { + switch (message_code) + { + case 1: + return configure; + case 11: + return doScreenShot; + case 51: + return loadLevel; + case 52: + return restartLevel; + case 31: + return cshoot; + case 32: + return pshoot; + case 12: + return getState; + case 34: + return fullyZoomOut; + case 35: + return fullyZoomIn; + case 14: + return getCurrentLevel; + case 13: + return getBestScores; + case 23: + return getMyScore; + case 33: + return shootSeq; + case 41: + return cFastshoot; + case 42: + return pFastshoot; + case 43: + return shootSeqFast; + case 36: + return clickInCentre; + + } + return null; + } +//map message from enum to byte + public static byte getValue(ClientMessageTable message) + { + switch (message) + { + case doScreenShot: + return 11; + case configure : + return 1; + case loadLevel: + return 51; + case restartLevel: + return 52; + case cshoot : + return 31; + case pshoot : + return 32; + case getState: + return 12; + case fullyZoomOut: + return 34; + case getCurrentLevel: + return 14; + case getBestScores: + return 13; + case shootSeq: + return 33; + case cFastshoot: + return 41; + case pFastshoot: + return 42; + case shootSeqFast: + return 43; + case getMyScore: + return 23; + case clickInCentre: + return 36; + case fullyZoomIn: + return 35; + } + return 0; + } +} diff --git a/old.angryhex.sh b/old.angryhex.sh new file mode 100644 index 0000000..1c7da03 --- /dev/null +++ b/old.angryhex.sh @@ -0,0 +1,53 @@ +#!/bin/bash + +# This file serves as single interface to the other +# setup and run scripts in the scripts directory. +# +# Keep the arguments to the script as simple as possible! +# FIXME 'setupandrun' not working yet + +if [[ $# -ne 1 ]]; then + echo "This script expects exactly one argument from the following list:" + echo " setupandrun To install AngryHex (from scratch) and run it" + echo " setup To install AngryHex (from scratch)" + echo " rebuild Rebuilds the AngryHEX client (excluding the dlvhex-plugin)" + echo " run To run the AngryHEX client" + echo " runserver To run the AngryBirds AI Competition server" + echo " clean Remove temporary files" + exit 1 +fi + +SCR=scripts +AGT=agent +FWK=framework + +function agtpack { + ./${SCR}/pkg-agent.sh +} + +function agtbuild { + cd ${AGT} && ./rebuild.sh && cd .. +} + +function agtrun { + cd ${AGT} && ./client.sh ; cd .. +} + +function agtclean { + rm -rf ${AGT} +} + +function srvrun { + java -jar ${FWK}/ABServer.jar +} + +case $1 in + "setupandrun") cd ./${SCR} && ./install-angryhex.sh && agtpack && agtbuild && agtrun ;; + "setup") cd ./${SCR} && ./install-angryhex.sh ;; + "rebuild") agtpack && agtbuild ;; + "run") agtrun ;; + "runserver") srvrun ;; + "clean") agtclean ;; + *) echo "Invalid option: $1" && exit 1 ;; +esac + diff --git a/scripts/client.sh b/scripts/client.sh new file mode 100644 index 0000000..c4a198a --- /dev/null +++ b/scripts/client.sh @@ -0,0 +1,3 @@ +#!/bin/bash + +LD_LIBRARY_PATH=framework/external/:/usr/lib/pymodules/python2.7/:/usr/local/share/OpenCV/java/:/usr/local/share/OpenCV/java/:/usr/local/lib/ java -jar Client.jar $1 diff --git a/scripts/initenv.sh b/scripts/initenv.sh new file mode 100644 index 0000000..446a363 --- /dev/null +++ b/scripts/initenv.sh @@ -0,0 +1,23 @@ +#!/bin/bash + +cd .. + +ROOT=$(pwd) +FWK=${ROOT}/framework +AGENT=${ROOT}/agent + +# Run server/client +# start server of framework to make 'buildandrun' possible even if server is running +alias runserver='java -jar ${FWK}/ABServer.jar' +alias runclient='DIR=$(pwd) ; cd ${AGENT} ; ./client.sh ; cd ${DIR}' + +# Build client +alias buildclient='DIR=$(pwd) && cd ${AGENT} && ./rebuild.sh && cd ${DIR}' + +# Package agent +alias pkgagent='DIR=$(pwd) && cd ${ROOT} && ./pkg-agent.sh && cd ${DIR}' + +# Package > Build > Run client +alias buildandrun='pkgagent && buildclient && runclient' + +# TODO Archive agent diff --git a/scripts/install-abirdsplugin.sh b/scripts/install-abirdsplugin.sh new file mode 100644 index 0000000..884d257 --- /dev/null +++ b/scripts/install-abirdsplugin.sh @@ -0,0 +1,14 @@ +#!/bin/bash + +cd .. + +OUTNAME=angrybirds-box2dplugin.tar.gz + +aptitude install g++-4.4 +cd /tmp +rm $OUTNAME +wget http://www.kr.tuwien.ac.at/staff/michael/$OUTNAME -O $OUTNAME +tar zxvf $OUTNAME +cd angrybirds-box2dplugin +./compile.sh +cd diff --git a/scripts/install-angryhex.sh b/scripts/install-angryhex.sh new file mode 100644 index 0000000..bed2d79 --- /dev/null +++ b/scripts/install-angryhex.sh @@ -0,0 +1,31 @@ +#!/bin/bash + +./install-hex.sh +./install-box2d.sh +./install-opencv.sh +./install-abirdsplugin.sh + + + +exit 0 + +PLUGINFILE=angrybirds-box2dplugin.tar.gz +AGENTFILE=angryhex-agent.tar.gz + +if test -e /tmp/$PLUGINFILE; then + rm /tmp/$PLUGINFILE +fi + +if test -e $AGENTFILE; then + rm $AGENTFILE +fi +OLDDIR=$(pwd) +cd /tmp +wget http://www.kr.tuwien.ac.at/staff/michael/$PLUGINFILE -O $PLUGINFILE +tar zxvf $PLUGINFILE +cd angrybirds-box2dplugin +./compile.sh +cd $OLDDIR + +./install-angryhex.sh +./rebuild.sh diff --git a/scripts/install-box2d.sh b/scripts/install-box2d.sh new file mode 100644 index 0000000..113ba6c --- /dev/null +++ b/scripts/install-box2d.sh @@ -0,0 +1,15 @@ +#!/bin/bash + +cd .. + +aptitude install libglu-dev libxi-dev build-essential unzip +BOX2D=Box2D_v2.2.1 +rm -rf /usr/local/include/Box2D/ +cd /tmp +wget http://box2d.googlecode.com/files/$BOX2D.zip -O $BOX2D.zip +unzip $BOX2D +cd $BOX2D/Build +cmake -DBOX2D_INSTALL=ON -DBOX2D_BUILD_SHARED=ON -DBOX2D_BUILD_STATIC=OFF -DBOX2D_BUILD_EXAMPLES=OFF .. +make -j4 +make install +cd diff --git a/scripts/install-hex.sh b/scripts/install-hex.sh new file mode 100644 index 0000000..de646d9 --- /dev/null +++ b/scripts/install-hex.sh @@ -0,0 +1,20 @@ +#!/bin/bash + +cd .. + +apt-get install aptitude +aptitude install git-core g++ autoconf automake wget cmake pkg-config libtool libcurl4-openssl-dev libzip-dev libbz2-dev libboost-all-dev bmagic + +cd /tmp +wget http://www.dlvsystem.com/files/dlv.x86-64-linux-elf-static.bin +chmod +x dlv.x86-64-linux-elf-static.bin +cp dlv.x86-64-linux-elf-static.bin /usr/local/bin/dlv + +git clone --recursive https://github.com/hexhex/core.git +cd core +./bootstrap.sh +./configure --without-buildclaspgringo +make -j4 +make install +cd + diff --git a/scripts/install-opencv.sh b/scripts/install-opencv.sh new file mode 100644 index 0000000..9cca44f --- /dev/null +++ b/scripts/install-opencv.sh @@ -0,0 +1,38 @@ +#!/bin/bash + +cd .. + +aptitude install default-jdk ant + +cd /tmp +rm -Rf opencv +rm -Rf opencv-2.4.6.* +#git clone https://github.com/Itseez/opencv.git +wget http://sourceforge.net/projects/opencvlibrary/files/opencv-unix/2.4.6.1/opencv-2.4.6.1.tar.gz/download -O OpenCV.2.4.6.tar.gz +tar zxvf OpenCV.2.4.6.tar.gz +#cd opencv +cd opencv-2.4.6.1 +#git checkout 2.4 +mkdir build +cd build +#export JAVA_HOME=/usr/lib/jvm/default-java +#export JAVA_ROOT=/usr/lib/jvm/default-java +#export JDK_HOME=/usr/lib/jvm/default-java +#export JAVA_BINDIR=/usr/lib64/jvm/default-java/bin +#which ant +#which java +#which javac +cmake -DBUILD_SHARED_LIBS=OFF .. +make -j4 +make install +cd + +# install cv2.so +echo "Checking if cv2.so was built" +if [ $(find /tmp/opencv-2.4.6.1/build -name cv2.so | wc -l) -ge 1 ]; then + echo "Yes: installing cv2.so" + cp $(find /tmp/opencv-2.4.6.1/build -name cv2.so | head) /usr/local/share/OpenCV/java/ +else + echo "No: no installation required" +fi + diff --git a/scripts/install-update.sh b/scripts/install-update.sh new file mode 100644 index 0000000..c8d7a06 --- /dev/null +++ b/scripts/install-update.sh @@ -0,0 +1,24 @@ +#!/bin/bash + +cd .. + +PLUGINFILE=angrybirds-box2dplugin.tar.gz +AGENTFILE=angryhex-agent.tar.gz + +if test -e /tmp/$PLUGINFILE; then + rm /tmp/$PLUGINFILE +fi + +if test -e $AGENTFILE; then + rm $AGENTFILE +fi +OLDDIR=$(pwd) +cd /tmp +wget http://www.kr.tuwien.ac.at/staff/michael/$PLUGINFILE -O $PLUGINFILE +tar zxvf $PLUGINFILE +cd angrybirds-box2dplugin +./compile.sh +cd $OLDDIR + +./install-angryhex.sh +./rebuild.sh diff --git a/scripts/pkg-agent.sh b/scripts/pkg-agent.sh new file mode 100644 index 0000000..056febf --- /dev/null +++ b/scripts/pkg-agent.sh @@ -0,0 +1,36 @@ +#!/bin/bash + +SRC=src # source +SCR=scripts # scripts +FWK=framework # framework +ENC=dlv # encodings of hex programs +OUT=angryhex # out directory + +function pack { + rsync -r --cvs-exclude $1 ${OUT} +} + +function packsrc { + rsync -r --cvs-exclude $1 ${OUT}/src +} + +rm -rf ${OUT} +mkdir ${OUT} +mkdir ${OUT}/src + +packsrc ${SRC}/angryhexclient +packsrc ${FWK}/src/ +pack ${FWK}/external +pack ${ENC} + +pack build.xml +pack ${SCR}/rebuild.sh +pack ${SCR}/client.sh +pack ${SCR}/server.sh + +pack ${FWK}/plugin +pack ${FWK}/ABServer.jar + +# TODO where is config.properties.tournament used??? +pack config.properties +pack config.properties.tournament diff --git a/scripts/provide-agent.sh b/scripts/provide-agent.sh new file mode 100644 index 0000000..b85b523 --- /dev/null +++ b/scripts/provide-agent.sh @@ -0,0 +1,11 @@ +#!/bin/bash + +cd .. + +cd angryhex-agent +tar zcvf angryhex-agent.tar.gz * +mv angryhex-agent.tar.gz ../ +cd .. +cp angryhex-agent.tar.gz /home/staff/michael/public_html/ + + diff --git a/scripts/provide-plugin.sh b/scripts/provide-plugin.sh new file mode 100644 index 0000000..0954b60 --- /dev/null +++ b/scripts/provide-plugin.sh @@ -0,0 +1,9 @@ +#!/bin/bash + +cd .. + +tar zcvf angrybirds-box2dplugin.tar.gz angrybirds-box2dplugin/compile.sh angrybirds-box2dplugin/config.h angrybirds-box2dplugin/libdlvhexplugin-hexagentplugin.cpp + +cp angrybirds-box2dplugin.tar.gz /home/staff/michael/public_html/ + + diff --git a/scripts/rebuild.sh b/scripts/rebuild.sh new file mode 100644 index 0000000..8f5f231 --- /dev/null +++ b/scripts/rebuild.sh @@ -0,0 +1,15 @@ +#!/bin/bash + +PYTHONLIBS=/usr/lib/pymodules/python2.7 +OPENCVLIBS=/usr/local/share/OpenCV/java +OPENCVJAR=/usr/local/share/OpenCV/java +BOX2DLIBS=/usr/local/lib + +ant -f build.xml clean + +ant -lib framework/external/:$PYTHONLIBS/:$OPENCVJAR/opencv-246.jar:$OPENCVLIBS/:$BOX2DLIBS/ -f build.xml compile + +cp /usr/local/share/OpenCV/java/opencv-24*.jar external/ + +ant -lib framework/external/:$PYTHONLIBS/:$OPENCVJAR/opencv-246.jar:$OPENCVLIBS/:$BOX2DLIBS/ -f build.xml jar + diff --git a/scripts/server.sh b/scripts/server.sh new file mode 100644 index 0000000..2266879 --- /dev/null +++ b/scripts/server.sh @@ -0,0 +1,5 @@ +#!/bin/bash + +cd .. + +java -jar ABServer.jar diff --git a/scripts/update-angryhex-agent.sh b/scripts/update-angryhex-agent.sh new file mode 100644 index 0000000..91f7835 --- /dev/null +++ b/scripts/update-angryhex-agent.sh @@ -0,0 +1,44 @@ +#!/bin/bash + +cd .. + +cp ./abV1.2/extractBirdsTypesAndScreenshotsNamesFromLog.pl ./angryhex-agent/ +cp ./abV1.2/extractOnGoingScoresFromLog.pl ./angryhex-agent/ +cp ./abV1.2/syntaxcheck ./angryhex-agent/ +cp ./abV1.2/install.sh ./angryhex-agent/ +cp ./abV1.2/algorithm* ./angryhex-agent/ +cp ./abV1.2/build.xml ./angryhex-agent/ +cp ./abV1.2/calibrate.dlv ./angryhex-agent/ +cp ./abV1.2/asparse.dlv ./angryhex-agent/ +cp ./abV1.2/debugger ./angryhex-agent/ +cp ./abV1.2/config.properties.tournament ./angryhex-agent/config.properties +cp ./TestServer/Server.jar ./angryhex-agent/ +cp ./abV1.1/server.sh ./angryhex-agent/ + +cp ./abV1.2/external/*.jar ./angryhex-agent/external/ +rm ./angryhex-agent/external/opencv-24*.jar +cp ./abV1.2/external/*.zip ./angryhex-agent/external/ + +cp ./abV1.1/plugin/*.js ./angryhex-agent/plugin/ +cp ./abV1.1/plugin/*.css ./angryhex-agent/plugin/ +cp ./abV1.1/plugin/*.json ./angryhex-agent/plugin/ + +cp ./abV1.2/doc/*.pdf ./angryhex-agent/doc/ + +cp -R ./abV1.2/src/ab/* ./angryhex-agent/src/ab/ +rm -Rf ./angryhex-agent/src/ab/CVS +rm -Rf ./angryhex-agent/src/ab/demo/CVS +rm -Rf ./angryhex-agent/src/ab/demo/other/CVS +rm -Rf ./angryhex-agent/src/ab/demo/util/CVS +rm -Rf ./angryhex-agent/src/ab/planner/CVS +rm -Rf ./angryhex-agent/src/ab/server/CVS +rm -Rf ./angryhex-agent/src/ab/server/proxy/CVS +rm -Rf ./angryhex-agent/src/ab/server/proxy/message/CVS +rm -Rf ./angryhex-agent/src/ab/utils/CVS +rm -Rf ./angryhex-agent/src/ab/vision/CVS +rm -Rf ./angryhex-agent/src/ab/vision/resources/CVS + +cp -R ./abV1.2/src/external/* ./angryhex-agent/src/external/ +rm -Rf ./angryhex-agent/src/external/CVS + + diff --git a/src/angrybirds-box2dplugin/Makefile b/src/angrybirds-box2dplugin/Makefile new file mode 100644 index 0000000..bbb63f3 --- /dev/null +++ b/src/angrybirds-box2dplugin/Makefile @@ -0,0 +1,24 @@ + +OUTFILE=libdlvhexplugin-hexagentplugin.so +PLUGIN_DIR=/usr/local/lib/dlvhex/plugins/ + +INCLUDES= \ + -isystem /usr/local/include \ + -isystem /usr/local/include/dlvhex2/bm3.7.0 + +LIBS=-lBox2D -lboost_system -ldlvhex2-base + +.PHONY: all compile install clean + +all: compile + +compile: + # IMPORTANT the hex plugin has to be built with g++-4.4, otherwise it cannot be loaded by dlvhex + g++-4.4 -fPIC -shared ${INCLUDES} ${LIBS} -o $(OUTFILE) libdlvhexplugin-hexagentplugin.cpp -g -O0 -Wall -Wextra -pedantic + +install: compile + mkdir -p ${PLUGIN_DIR} + cp ${OUTFILE} ${PLUGIN_DIR} + +clean: + rm -rf ${OUTFILE}* diff --git a/src/angrybirds-box2dplugin/compile.sh b/src/angrybirds-box2dplugin/compile.sh new file mode 100644 index 0000000..5e38fc2 --- /dev/null +++ b/src/angrybirds-box2dplugin/compile.sh @@ -0,0 +1,12 @@ +HEXPREFIX=/usr/local +HEXINSTALL=/usr/local/lib +BOX2DINSTALL=/usr/local +OUTFILE=libdlvhexplugin-hexagentplugin.so +INSTALLPATH=$HEXINSTALL/dlvhex/plugins/ + +mkdir $HEXINSTALL/dlvhex +mkdir $INSTALLPATH + +g++-4.4 -fPIC -shared -isystem $HEXPREFIX/include -isystem $BOX2DINSTALL/include -L $BOX2DINSTALL/lib -lBox2D -o $OUTFILE libdlvhexplugin-hexagentplugin.cpp -g -O0 -Wall -Wextra -pedantic 2>&1 + +cp $OUTFILE $INSTALLPATH diff --git a/src/angrybirds-box2dplugin/config.h b/src/angrybirds-box2dplugin/config.h new file mode 100644 index 0000000..9dda857 --- /dev/null +++ b/src/angrybirds-box2dplugin/config.h @@ -0,0 +1,43 @@ +/******************************************************************************* + * Angry-HEX - an artificial player for Angry Birds based on declarative knowledge bases + * Copyright (C) 2012-2015 Francesco Calimeri, Michael Fink, Stefano Germano, Andreas Humenberger, Giovambattista Ianni, Christoph Redl, Daria Stepanova, Andrea Tucci, Anton Wimmer. + * + * This file is part of Angry-HEX. + * + * Angry-HEX is free software: you can redistribute it and/or modify it under the terms of the GNU Affero General Public License as published by the Free Software Foundation, either version 3 of the License, or (at your option) any later version. + * + * Angry-HEX is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU Affero General Public License for more details. + * + * You should have received a copy of the GNU Affero General Public License along with this program. If not, see . + *******************************************************************************/ +#ifndef CONFIG_H +#define CONFIG_H + +//Defines the factor, by which objects from the dlv program will be scaled for physics calculations. The numbers will be divided by this constant. +#define SCALE_FACTOR 10 + +//The arguments of a simulation step. +#define TIME_STEP 1.0f / 30.0f +#define VELOCITY_ITERATIONS 6 +#define POSITION_ITERATIONS 2 + +//Densities for mass calculation +#define PIG_DENSITY 1 +#define ICE_DENSITY 1 +#define WOOD_DENSITY 2 +#define STONE_DENSITY 3 +#define TNT_DENSITY 2 + +#define RED_SIZE 10 +#define YELLOW_SIZE 14 +#define BLUE_SIZE 9 +#define BLACK_SIZE 18 +#define WHITE_SIZE 18 + +//This flag enables the saving of various debug images. Look in debugFolder for SVGs. +const bool debug = false; + +//The folder for all file debug output, if so enabled in other flags. Please be sure to append the trailing sperator (e.g. '/'). +const char debugFolder[] = "/home/Angry-HEX/plugintest/svg/"; + +#endif diff --git a/src/angrybirds-box2dplugin/libdlvhexplugin-hexagentplugin.cpp b/src/angrybirds-box2dplugin/libdlvhexplugin-hexagentplugin.cpp new file mode 100644 index 0000000..701d289 --- /dev/null +++ b/src/angrybirds-box2dplugin/libdlvhexplugin-hexagentplugin.cpp @@ -0,0 +1,2305 @@ +/******************************************************************************* + * Angry-HEX - an artificial player for Angry Birds based on declarative knowledge bases + * Copyright (C) 2012-2015 Francesco Calimeri, Michael Fink, Stefano Germano, Andreas Humenberger, Giovambattista Ianni, Christoph Redl, Daria Stepanova, Andrea Tucci, Anton Wimmer. + * + * This file is part of Angry-HEX. + * + * Angry-HEX is free software: you can redistribute it and/or modify it under the terms of the GNU Affero General Public License as published by the Free Software Foundation, either version 3 of the License, or (at your option) any later version. + * + * Angry-HEX is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU Affero General Public License for more details. + * + * You should have received a copy of the GNU Affero General Public License along with this program. If not, see . + *******************************************************************************/ +#include +#include "config.h" +#include +#include +#include + +using namespace dlvhex; + +enum Type { ice, wood, stone, pig, ground, tnt }; + + +struct Sling +{ + float x; + float y; + float w; + float h; +}; + +struct Object +{ + int id; + float cx; + float cy; + float w; + float h; + float angle; + + Type type; + + Object() + { + id = -1; + cx = 0; + cy = 0; + w = 0; + h = 0; + angle = 0; + } + + b2Vec2 getCentroid() const + { + b2Vec2 v; + v.Set(cx, cy); + + return v; + } + b2Vec2 getLeftFaceCenter() const + { + b2Vec2 v; + v.Set(cx-w/2, cy); + return v; + } + b2Vec2 getTopFaceCenter() const + { + b2Vec2 v; + v.Set(cx, cy-h/2); + return v; + } + b2Vec2 getRightFaceCenter() const + { + b2Vec2 v; + v.Set(cx+w/2, cy); + return v; + } + b2Vec2 getBottomFaceCenter() const + { + b2Vec2 v; + v.Set(cx, cy+h/2); + return v; + } + + + + void scale(float factor) + { + cx = cx/factor; + cy = cy/factor; + w = w/factor; + h = h/factor; + } + + float getMass() + { + float area = w*h; + + switch (type) + { + case pig : + return PIG_DENSITY * area; + case ice : + return ICE_DENSITY * area; + case wood : + return WOOD_DENSITY * area; + case stone : + return STONE_DENSITY * area; + case tnt : + return TNT_DENSITY * area; + default: + return 0; + } + } + + static Object findById(const std::vector & objects, int id) + { + for(std::vector::const_iterator i = objects.begin(); i != objects.end(); ++i) + if ((*i).id == id) + return (*i); + + Object ret; + ret.id = -1; + return ret; + } + + static void removeById(std::vector & objects, int id) + { + for(std::vector::iterator i = objects.begin(); i != objects.end(); ++i) + if ((*i).id == id) + { + objects.erase(i); + return; + } + } +}; + +class Calculation +{ +public: + + static void fillVector(const ComfortInterpretation & i, std::vector & objects) + { + for (ComfortInterpretation::iterator c = i.begin(); c != i.end(); ++c) + { + Object o; + + o.id = c->getArgument(1).intval; + + if (c->getArgument(2).getUnquotedString() == "ice") + o.type = ice; + else if (c->getArgument(2).getUnquotedString() == "wood") + o.type = wood; + else if (c->getArgument(2).getUnquotedString() == "stone") + o.type = stone; + else if (c->getArgument(2).getUnquotedString() == "pig") + o.type = pig; + else if (c->getArgument(2).getUnquotedString() == "ground") + o.type = ground; + else if (c->getArgument(2).getUnquotedString() == "tnt") + o.type = tnt; + else + { + std::cerr << "Unknown object type \"" << c->getArgument(2).getUnquotedString() << + "\"."; + assert(true); + } + + o.cx = c->getArgument(3).intval; + o.cy = c->getArgument(4).intval; + o.w = c->getArgument(5).intval; + o.h = c->getArgument(6).intval; + o.angle = std::atof(c->getArgument(7).getUnquotedString().c_str()); + + objects.push_back(o); + } + } +}; + +#define BOUND 0.1 +#define _scaleFactor 1.005 +#define _angleAdjust 0.0 + +class TrajectoryPlanner +{ + static double x_offset; + static double y_offset; + + static double _launchAngle []; + static double _changeAngle []; + static double _launchVelocity[]; + + /* + static double BOUND // = 0.1; + // small modification to the scale and angle + static double _scaleFactor // = 1.005; + static double _angleAdjust // = 0.0; + */ + + // return scene scale determined by the sling size + static double getSceneScale(Sling sling) + { + return sling.h + sling.w; + } + + // find the reference point given the sling + static b2Vec2 getReferencePoint(Sling sling) + { + return b2Vec2((int)(sling.x + x_offset * sling.w), (int)(sling.y + y_offset * sling.w)); + } + + static double getVelocity(double theta) + { + if (theta < _launchAngle[0]) + return _scaleFactor * _launchVelocity[0]; + + for (int i = 1; i < 13; i++) + { + if (theta < _launchAngle[i]) + return _scaleFactor * _launchVelocity[i-1]; + } + + return _scaleFactor * _launchVelocity[13 /*_launchVelocity.length*/-1]; + } + + // get the velocity for the desired angle + static double getVelocity(double _velocity, double theta) + { + if (theta < _launchAngle[0]) + return _velocity * _launchVelocity[0]; + + for (int i = 1; i < 13 /*_launchAngle.length*/; i++) + { + if (theta < _launchAngle[i]) + return _velocity * _launchVelocity[i-1]; + } + + return _velocity * _launchVelocity[13 /*_launchVelocity.length*/-1]; + } + + // take the initial angle of the desired trajectory and return the launch angle required + static double actualToLaunch(double theta) + { + for (int i = 1; i < 13 /*_launchAngle.length*/; i++) + { + if (theta > _launchAngle[i-1] && theta < _launchAngle[i]) + return theta + _changeAngle[i-1]; + } + return theta + _changeAngle[13/*_launchAngle.length*/-1]; + } + + // take the launch angle and return the actual angle of the resulting trajectory + static double launchToActual(double theta) + { + for (int i = 1; i < 13 /*_launchAngle.length*/; i++) + { + if (theta > _launchAngle[i-1] && theta < _launchAngle[i]) + return theta - _changeAngle[i-1]; + } + return theta - _changeAngle[/*_launchAngle.length*/-1]; + } + + // find the release point given the sling and launch angle + // theta - the launch angle in radians (positive means up) + static b2Vec2 findReleasePoint(Sling sling, double theta) + { + double mag = sling.h * 10; + b2Vec2 ref = getReferencePoint(sling); + b2Vec2 release((int)(ref.x - mag * std::cos(theta)), (int)(ref.y + mag * std::sin(theta))); + + return release; + } + + public: + + // predicts a trajectory + static std::vector predictTrajectory(Sling slingshot, b2Vec2 launchPoint, int x_max, double _velocity) + { + + // get slingshot reference point + b2Vec2 slingLocation = getReferencePoint(slingshot); + + // launch vector + b2Vec2 launchVector(slingLocation.x - launchPoint.x, launchPoint.y - slingLocation.y); + if (launchVector.x < slingshot.w) + { + return std::vector(); + } + + // estimate scene scale + double sceneScale = getSceneScale(slingshot); + double theta = launchToActual(std::atan2(launchVector.y, launchVector.x)); + double velocity = getVelocity(_velocity, theta); + + //System.out.println("launch angle " + Math.toDegrees(theta)); + + // initial velocities + double u_x = velocity * std::cos(theta); + double u_y = velocity * std::sin(theta); + + // the normalised coefficients + double a = -0.5 / (u_x * u_x); + double b = u_y / u_x; + + //System.out.println("plot trajectory: " + a + "x^2 + " + b + "x"); + + std::vector trajectory; + for (int x = 0; x < x_max; x++) + { + double xn = x / sceneScale; + int y = slingLocation.y - (int)((a * xn * xn + b * xn) * sceneScale); + trajectory.push_back(b2Vec2(x + slingLocation.x, y)); + } + + return trajectory; + } + + static double fitAngle(double start, double end, double x, double y) + { + double retAngle = 0; + double bestError = 100000; + for (double theta = start; theta <= end; theta += 0.0001) + { + double velocity = getVelocity(theta); + + // initial velocities + double u_x = velocity * std::cos(theta); + double u_y = velocity * std::sin(theta); + + // the normalised coefficients + double a = -0.5 / (u_x * u_x); + double b = u_y / u_x; + + // the error in y-coordinate + double error = std::abs(a*x*x + b*x - y); + if (error < bestError) + { + retAngle = theta; + bestError = error; + } + } + return retAngle; + } + + /* Estimate launch points given a desired target point using maximum velocity + * If there are two launch point for the target, they are both returned in + * the list {lower point, higher point) + * Note - angles greater than 75 are not considered + * + * @param slingshot - bounding rectangle of the slingshot + * targetPoint - coordinates of the target to hit + * @return A list containing 2 possible release points + */ + static std::vector estimateLaunchPoint_new(const Sling& slingshot, const b2Vec2& targetPoint, double _velocity) + + { + // calculate relative position of the target (normalized) + _velocity++; // ;) + double scale = getSceneScale(slingshot); + b2Vec2 ref = getReferencePoint(slingshot); + + double x = (targetPoint.x - ref.x) / scale; + double y = -(targetPoint.y - ref.y) / scale; + double theta1 = 0; + double theta2 = 0; + + // first estimate launch angle using the projectile equation (constant velocity) + double v = _scaleFactor * _launchVelocity[6]; + double v2 = v * v; + double v4 = v2 * v2; + double tangent1 = (v2 - std::sqrt(std::abs(v4 - (x * x + 2 * y * v2)))) / x; + double tangent2 = (v2 + std::sqrt(std::abs(v4 - (x * x + 2 * y * v2)))) / x; + double t1 = actualToLaunch(std::atan(tangent1)); + double t2 = actualToLaunch(std::atan(tangent2)); + + + theta1 = fitAngle(t1-BOUND,t1+BOUND,x,y); + theta2 = fitAngle(t2-BOUND,t2+BOUND,x,y); + + //System.out.println("FORMER THETAS: "+Math.toDegrees(theta1)+" "+Math.toDegrees(theta2)); + + theta1 = actualToLaunch(theta1); + theta2 = actualToLaunch(theta2); + + //System.out.println("NEW THETAS: " + Math.toDegrees(theta1) + ", " + Math.toDegrees(theta2)); + + + // add launch points to the list + std::vector pts; + pts.push_back(findReleasePoint(slingshot, theta1)); + + + // add the higher point if it is below 75 degrees and not same as first + if (theta2 < (75)*(M_PI/180) && theta2 != theta1) + pts.push_back(findReleasePoint(slingshot, theta2)); + + return pts; + } + + + + // estimate launch point given a desired target point + // if there are two launch point for the target, they are both returned in + // the list {lower point, higher point) + // Note - angles greater than 80 are not considered due to their low initial velocity + static std::vector estimateLaunchPoint(const Sling& slingshot, const b2Vec2& targetPoint, double _velocity) + { + // calculate relative position of the target (normalised) + double scale = getSceneScale(slingshot); + + b2Vec2 ref = getReferencePoint(slingshot); + + double x = (targetPoint.x - ref.x) / scale; + double y = -(targetPoint.y - ref.y) / scale; + + double bestError = 1000; + double theta1 = 0; + double theta2 = 0; + + // search tangents from -0.5 to 1.0 + //for (double tangent = -0.5; tangent < 1.0; tangent += 0.0001) + for(double theta = -30*(M_PI/180); theta < 45*(M_PI/180); theta += 0.01*(M_PI/180) ) + { + //double theta = std::atan(tangent); + double velocity = getVelocity(_velocity, theta); + + // initial velocities + double u_x = velocity * std::cos(theta); + double u_y = velocity * std::sin(theta); + + // the normalised coefficients + double a = -0.5 / (u_x * u_x); + double b = u_y / u_x; + + // the error in y-coordinate + double error = std::abs(a*x*x + b*x - y); + if (error < bestError) + { + theta1 = theta; + bestError = error; + } + } + + bestError = 1000; + + //for (double tangent = -1.0; tangent < 4.0; tangent += 0.0001) + for(double theta = 45*(M_PI/180); theta < 75*(M_PI/180); theta += 0.01*(M_PI/180) ) + + { + // double theta = std::atan(tangent); + double velocity = getVelocity(_velocity, theta); + + // initial velocities + double u_x = velocity * std::cos(theta); + double u_y = velocity * std::sin(theta); + + // the normalised coefficients + double a = -0.5 / (u_x * u_x); + double b = u_y / u_x; + + // the error in y-coordinate + double error = std::abs(a*x*x + b*x - y); + if (error < bestError) + { + theta2 = theta; + bestError = error; + } + } + + theta1 = actualToLaunch(theta1); + theta2 = actualToLaunch(theta2); + + //System.out.println("Two angles: " + Math.toDegrees(theta1) + ", " + Math.toDegrees(theta2)); + + // add launch points to the list + std::vector pts; + pts.push_back(findReleasePoint(slingshot, theta1)); + + // add the higher point if it is below 75 degrees and not same as first + if (theta2 < 75 * (M_PI/180) && std::abs(theta1 - theta2) > 0.01) + pts.push_back(findReleasePoint(slingshot, theta2)); + + return pts; + } +}; + +double TrajectoryPlanner::x_offset = 0.5; +double TrajectoryPlanner::y_offset = 0.65; +// 10, 15, 20, 25, 30, 35, 40, 45, 50, 55, 60, 65, 70 +double TrajectoryPlanner::_launchAngle [] = {0.13, 0.215, 0.296, 0.381, 0.476, 0.567, 0.657, 0.741, 0.832, 0.924, 1.014, 1.106, 1.197}; +double TrajectoryPlanner::_changeAngle [] = {0.052, 0.057, 0.063, 0.066, 0.056, 0.054, 0.050, 0.053, 0.052, 0.047, 0.043, 0.038, 0.034}; +double TrajectoryPlanner::_launchVelocity[] = {2.9, 2.88, 2.866, 2.838, 2.810, 2.800, 2.790, 2.773, 2.753, 2.749, 2.744, 2.736, 2.728}; + + +class WorldCreation +{ +public: + ///Creates a world. The objects are scaled wit scaleFactor, and if createAutoGround is specified, a ground plate is created below the objects. Each body has one fixture. createAutoGround specifies that we want to use automatically generated ground and not the one provided. + static b2World createWorld(std::vector & objects, int scaleFactor, bool createAutoGround = false) + { + // Define the gravity vector. + b2Vec2 gravity(0.0f, 9.8f); + + // Construct a world Object, which will hold and simulate the rigid bodies. + b2World world(gravity); + + //First we add all the objects of the object list to the world, scaling them. At the end, we add the floor, based on the scaled objects. + for(std::vector::iterator it = objects.begin(); it != objects.end(); ++it) + { + Object* o = &(*it); + + if (createAutoGround && o->type == ground) + continue; + + o->scale(scaleFactor); + + // Define the dynamic body. We set its position and call the body factory. + b2BodyDef bodyDef; + bodyDef.type = b2_dynamicBody; + bodyDef.position = o->getCentroid(); + b2Body* body = world.CreateBody(&bodyDef); + + // Define another box shape for our dynamic body. + b2PolygonShape dynamicBox; + dynamicBox.SetAsBox(o->w/2.0f, o->h/2.0f); + + // Define the dynamic body fixture. + b2FixtureDef fixtureDef; + fixtureDef.shape = &dynamicBox; + + // Set the box density to be non-zero, so it will be dynamic. + fixtureDef.density = 1.0f; + fixtureDef.restitution = 0; + + // Add the shape to the body. + body->CreateFixture(&fixtureDef); + + // Change the rotation + body->SetTransform(body->GetPosition(), o->angle); + + //The back link from body to object. + if (o->type != ground) + body->SetUserData(&(o->id)); + } + + if (createAutoGround) + { + // Define the ground body. + b2BodyDef groundBodyDef; + groundBodyDef.position.Set(0.0f, maxYPlusH(world)); + b2Body* groundBody = world.CreateBody(&groundBodyDef); + groundBody->SetUserData(NULL); + b2PolygonShape groundBox; + groundBox.SetAsBox(1000.0f, 0.0f); + groundBody->CreateFixture(&groundBox, 1.0f); + } + + return world; + } + + static int GetId(const b2Body* body) + { + if (body->GetUserData() == NULL) + return -1; + + return *(int*)body->GetUserData(); + } + + static float maxXPlusW(const b2World& world) + { + float m = 0; + + for (const b2Body * b = world.GetBodyList(); b != NULL; b = b->GetNext()) + for (const b2Fixture * f = b->GetFixtureList(); f != NULL; f = f->GetNext()) + m = std::max(f->GetAABB(0).upperBound.x, m); + + return m; + } + +private: + + static float maxYPlusH(const b2World& world) + { + float m = 0; + + for (const b2Body * b = world.GetBodyList(); b != NULL; b = b->GetNext()) + for (const b2Fixture * f = b->GetFixtureList(); f != NULL; f = f->GetNext()) + m = std::max(f->GetAABB(0).upperBound.y, m); + + return m; + } +}; + + + + +class DebugImage +{ + private: + std::ofstream file; + public: + DebugImage(const char* filename) + { + file.open(filename); + + file << "" << std::endl << + "" << std::endl << + std::endl << + "" << std::endl; + + file << "" << + " " << + "" << + "" << + ""; + } + + void Save() + { + file << "" << std::endl; + + file.close(); + } + + void DrawWorld(const b2World& world, int highlightId, int scaleFactor = 1) + { + + for (const b2Body * b = world.GetBodyList(); b != NULL; b = b->GetNext()) + for (const b2Fixture * f = b->GetFixtureList(); f != NULL; f = f->GetNext()) + { + b2PolygonShape* s = (b2PolygonShape *)f->GetShape(); + std::vector vertices; + for (int i = 0; i < s->GetVertexCount(); ++i) + vertices.push_back(b->GetWorldPoint(s->GetVertex(i))); + vertices.push_back(b->GetWorldPoint(s->GetVertex(0))); + + int id = WorldCreation::GetId(b); + + if (id != -1) + { + DrawPath(vertices, false, id == highlightId ? "#FF0000" : "none", scaleFactor); + + //Label + b2Vec2 centroid = b->GetWorldCenter(); + file << "" << id << "" << std::endl; + } + else + DrawPath(vertices, false, "fill", scaleFactor); + } + } + + void DrawPath(std::vector path, const bool& drawArrow = false, std::string fill = "none", const int& scaleFactor = 1, const std::string& color = "#000000") + { + file << "::iterator i = path.begin(); i != path.end(); ++i) + file << i->x * scaleFactor << "," << i->y * scaleFactor << " "; + + if (drawArrow) + file << "m -1,-1 2,0 0,2"; + + file << "\" style=\"fill:" << fill << ";stroke:" << color << ";stroke-width:1px;stroke-opacity:1"; + file << "\" />" << std::endl; + } + + template + void DrawText(const T& text) + { + file << "" << text << "" << std::endl; + } + + template + void DrawVector(const std::vector& vector) + { + std::stringstream s; + + s << "{"; + + for (typename std::vector::const_iterator i = vector.begin(); i != vector.end(); ++i) + { + if (i != vector.begin()) + s << "; "; + + s << *i; + } + + s << "}"; + + DrawText(s.str()); + } + + void DrawGraph(const std::vector >& graph, const b2World& world, const int& scaleFactor) + { + for(std::vector >::const_iterator i = graph.begin(); i != graph.end(); ++i) + { + std::vector line; + + line.push_back(getCentroidForId(world,(*i).first)); + line.push_back(getCentroidForId(world,(*i).second)); + + DrawPath(line, true, "none", scaleFactor, "#FF0000"); + } + } + + private: + + static b2Vec2 getCentroidForId(const b2World& world, const int& id) + { + for (const b2Body * b = world.GetBodyList(); b != NULL; b = b->GetNext()) + if (WorldCreation::GetId(b) == id) + return b->GetWorldCenter(); + + return b2Vec2_zero; + } +}; + +std::map > > onTopCache; + +class OnTop +{ +public: + + static std::vector > calculateCached(std::vector & objects) + { + if (objects.size() <= 1) + return std::vector >(); + + long hash = calculateHash(objects); + + //Cache miss + if (onTopCache.find(hash) == onTopCache.end()) + onTopCache[hash] = calculate(objects); + + return onTopCache[hash]; + } + +private: + + static std::vector > calculate(std::vector & objects) + { + b2World world = WorldCreation::createWorld(objects, SCALE_FACTOR, true); + + if (debug) + { + DebugImage before("ontop-before.svg"); + before.DrawWorld(world, -1, SCALE_FACTOR); + before.Save(); + } + + //Now we run the simulation until everything has settled. Box2D sets bodys asleep after they have been idle for a short amount of time. We loop the simulation until all objects have fallen asleep. + bool allAsleep = false; + while (!allAsleep) + { + world.Step(TIME_STEP, VELOCITY_ITERATIONS, POSITION_ITERATIONS); + + allAsleep = true; + + for(b2Body * b = world.GetBodyList(); b != NULL; b = b->GetNext()) + { + //After each step, we set the speed of the objects to zero, because otherwise they would gain a lot of speed, crash in the ground and explode a little, thereby destroying a lot of similarity between original objects (in the game world) and the objects used for calculations. We want the objects to settle very slow. + b->SetLinearVelocity(b2Vec2_zero); + b->SetAngularVelocity(0); + + if (b->IsAwake() && b->GetType() == b2_dynamicBody) + allAsleep = false; + } + } + + //Contacts can only be calculated while objects are awake. + world.SetAllowSleeping(false); + //Final step to wake all objects. + world.Step(TIME_STEP, VELOCITY_ITERATIONS, POSITION_ITERATIONS); + + std::vector > graph; + + //Now we can extract all the contacts from the world, filter them, and add them to our little graph. + for (b2Contact* c = world.GetContactList(); c != NULL; c = c->GetNext()) + { + //Filter contacts, that do not constitute a touch. Contacts are created as soon as two objects axis aligned bounding rectangles overlap. It is sometimes the case that the rectangles overlap while the objects are not touching (yet). + if (!c->IsTouching()) + continue; + + //Extract the object ids. + int a = WorldCreation::GetId(c->GetFixtureA()->GetBody()); + int b = WorldCreation::GetId(c->GetFixtureB()->GetBody()); + + //If either of the objects is a static objects, which get their user data filled with NULL, we can filter the contact, because we don't reason about the floor. + if (a == -1 || b == -1) + continue; + + //We need to use the world manifold, for the direction of the normal may be in some local coordinate system and therefore incorrect. + b2WorldManifold worldManifold; + c->GetWorldManifold(&worldManifold); + + //If the x part of the contact normal is not 0, the touch is not on top or bottom, but on the side. We do not consider these. Based on observations, even if one object is on top of a slightly inclined object, the contact normal will be straight up, so we can disregard any normals with x != 0 (>0.1 for floating point errors). + if (worldManifold.normal.x > 0.1) + continue; + + //The normal vector points from body a to body b, and we want the on_top_of(a,b) + //relation to be true, if a is on top of b. If an object is nearer to the ground, and + //therefore the bottom of the picture, it has a higher x value. Therefore the vector + //a -> b needs to be positive, so that it points from the higher to the lower object. + //Only then can we use on_top_of(a,b). Otherwise, the object b is actually on top of a. + if (worldManifold.normal.y > 0) + graph.push_back(std::pair(a,b)); + else + graph.push_back(std::pair(b,a)); + + } + + if (debug) + { + DebugImage after("ontop-after.svg"); + after.DrawWorld(world, -1, SCALE_FACTOR); + after.DrawGraph(graph, world, SCALE_FACTOR); + after.Save(); + } + + return graph; + } + + + static long calculateHash(std::vector & objects) + { + long hash = 0; + + for(std::vector::iterator i = objects.begin(); i != objects.end(); ++i) + { + hash += (*i).id; + hash += (*i).cx; + hash += (*i).cy; + hash += (*i).w; + hash += (*i).h; + hash += (*i).angle; + } + + return hash; + } +}; + +class StabilityAtom : public ComfortPluginAtom +{ +public: + + StabilityAtom() : ComfortPluginAtom("stability") + { + setOutputArity(1); + addInputConstant(); //object w + addInputConstant(); //object h + addInputConstant(); //ojbect angle + } + + virtual void retrieve(const ComfortQuery& query, ComfortAnswer& answer) + { + Object o; + o.w = ((ComfortTerm)(query.input[0])).intval; + o.h = ((ComfortTerm)(query.input[1])).intval; + o.angle = std::atof(((ComfortTerm)(query.input[2])).getUnquotedString().c_str()); + + ComfortTuple ct; + ct.push_back(ComfortTerm::createInteger(getStability(o))); + answer.insert(ct); + } + +private: + + int getStability(const Object& o) + { + std::vector objects; + objects.push_back(o); + b2World world = WorldCreation::createWorld(objects, 1); + + b2AABB rect = world.GetBodyList()->GetFixtureList()->GetAABB(0); + + float width = rect.upperBound.x - rect.lowerBound.x; + float height = rect.upperBound.y - rect.lowerBound.y; + + return std::min((int)((width / height)*50.0), 100); + } +}; + +class ClearSkyAtom : public ComfortPluginAtom +{ +public: + + ClearSkyAtom() : ComfortPluginAtom("clearsky") + { + setOutputArity(1); + addInputConstant(); //object id + addInputPredicate(); //objects + } + + virtual void retrieve(const ComfortQuery& query, ComfortAnswer& answer) + { + // First we retrieve the object whose mass should be calculated. + int oid = ((ComfortTerm)(query.input[0])).intval; + + std::vector objects; + Calculation::fillVector(query.interpretation, objects); + if (objects.empty()) + std::cerr << "&firstbelow: Called with no objects." << std::endl; + + Object object = Object::findById(objects, oid); + if (object.id == -1) + { + std::cerr << "&firstbelow: Called with invalid target id " << oid << "." << std::endl; + return; + } + + b2Vec2 face = object.getTopFaceCenter(); + double width = object.w; + int olx = object.getLeftFaceCenter().x; + int orx = object.getRightFaceCenter().x; + bool clearsky = true; + const float OVERLAP_PERCENT = 0.7; + if (debug) + std::cerr << "OBJ:" << object.id << " " << width << std::endl; + for(std::vector::const_iterator i = objects.begin(); i != objects.end(); ++i) + { + b2Vec2 bot = i->getBottomFaceCenter(); + int lx = i->getLeftFaceCenter().x; + int rx = i->getRightFaceCenter().x; + if(debug) + std::cerr << "CK:" << i->id << "=" << lx << ":" << rx << ":" << olx << ":" << orx; + double overlap = std::max(0,(-std::max(lx,olx)+std::min(rx,orx))) / width; + if (debug) + std::cerr << " OVL:" << overlap << " " << OVERLAP_PERCENT << std::endl; + if (bot.y < face.y && overlap >= OVERLAP_PERCENT ) + { + clearsky = false; + break; + } + } + + if (clearsky) + { + ComfortTuple ct; + ct.push_back(ComfortTerm::createInteger(1)); + answer.insert(ct); + } + } + +}; + + +class FirstBelowAtom : public ComfortPluginAtom +{ +public: + + FirstBelowAtom() : ComfortPluginAtom("firstbelow") + { + setOutputArity(1); + addInputConstant(); //object id + addInputPredicate(); //objects + } + + virtual void retrieve(const ComfortQuery& query, ComfortAnswer& answer) + { + // First we retrieve the object whose mass should be calculated. + int oid = ((ComfortTerm)(query.input[0])).intval; + + std::vector objects; + Calculation::fillVector(query.interpretation, objects); + if (objects.empty()) + std::cerr << "&firstbelow: Called with no objects." << std::endl; + + Object object = Object::findById(objects, oid); + if (object.id == -1) + { + std::cerr << "&firstbelow: Called with invalid target id " << oid << "." << std::endl; + return; + } + + int firstaboveid = getFirstBelow(object, objects); + + if (firstaboveid != -1) + { + ComfortTuple ct; + ct.push_back(ComfortTerm::createInteger(firstaboveid)); + answer.insert(ct); + } + } + +private: + class RCCB : public b2RayCastCallback + { + public: + int firstAbove; + + RCCB() + { + firstAbove = -1; + } + + virtual float32 ReportFixture(b2Fixture* fixture, const b2Vec2&, const b2Vec2&, float32 fraction) + { + firstAbove = WorldCreation::GetId(fixture->GetBody()); + return fraction; + } + }; + + int getFirstBelow(const Object& target, std::vector& objects) + { + //Now we create the world, scale factor 1 because we don't do any physics calculation anyways. + Object::removeById(objects, target.id); + b2World world = WorldCreation::createWorld(objects, 1); + + b2Vec2 start = target.getCentroid(); + b2Vec2 end(start.x,start.y+600); + RCCB cb; + + world.RayCast(&cb, start, end); + + drawDebug(world, target, cb.firstAbove); + return cb.firstAbove; + } + + ///This function creates an svg image for a target, trajectory, and index, so you can visualize the processes and debug. + static void drawDebug(const b2World& world, const Object& target, int result) + { + if (!debug) + return; + + std::stringstream name; + name << debugFolder << "firstbelow-" << target.id << "-"; + if (result == -1) + name << "reject"; + else + name << result; + name << ".svg"; + + DebugImage d(name.str().c_str()); + + d.DrawWorld(world, -1); + + std::vector ray; + ray.push_back(target.getCentroid()); + ray.push_back(b2Vec2(target.getCentroid().x,target.getCentroid().y+500)); + d.DrawPath(ray); + + d.Save(); + } +}; + + + + +class FirstAboveAtom : public ComfortPluginAtom +{ +public: + + FirstAboveAtom() : ComfortPluginAtom("firstabove") + { + setOutputArity(1); + addInputConstant(); //object id + addInputPredicate(); //objects + } + + virtual void retrieve(const ComfortQuery& query, ComfortAnswer& answer) + { + // First we retrieve the object whose mass should be calculated. + int oid = ((ComfortTerm)(query.input[0])).intval; + + std::vector objects; + Calculation::fillVector(query.interpretation, objects); + if (objects.empty()) + std::cerr << "&firstabove: Called with no objects." << std::endl; + + Object object = Object::findById(objects, oid); + if (object.id == -1) + { + std::cerr << "&firstabove: Called with invalid target id " << oid << "." << std::endl; + return; + } + + int firstaboveid = getFirstAbove(object, objects); + + if (firstaboveid != -1) + { + ComfortTuple ct; + ct.push_back(ComfortTerm::createInteger(firstaboveid)); + answer.insert(ct); + } + } + +private: + class RCCB : public b2RayCastCallback + { + public: + int firstAbove; + + RCCB() + { + firstAbove = -1; + } + + virtual float32 ReportFixture(b2Fixture* fixture, const b2Vec2&, const b2Vec2&, float32 fraction) + { + firstAbove = WorldCreation::GetId(fixture->GetBody()); + return fraction; + } + }; + + int getFirstAbove(const Object& target, std::vector& objects) + { + //Now we create the world, scale factor 1 because we don't do any physics calculation anyways. + Object::removeById(objects, target.id); + b2World world = WorldCreation::createWorld(objects, 1); + + b2Vec2 start = target.getCentroid(); + b2Vec2 end(start.x,0); + RCCB cb; + + world.RayCast(&cb, start, end); + + drawDebug(world, target, cb.firstAbove); + return cb.firstAbove; + } + + ///This function creates an svg image for a target, trajectory, and index, so you can visualize the processes and debug. + static void drawDebug(const b2World& world, const Object& target, int result) + { + if (!debug) + return; + + std::stringstream name; + name << debugFolder << "firstabove-" << target.id << "-"; + if (result == -1) + name << "reject"; + else + name << result; + name << ".svg"; + + DebugImage d(name.str().c_str()); + + d.DrawWorld(world, -1); + + std::vector ray; + ray.push_back(target.getCentroid()); + ray.push_back(b2Vec2(target.getCentroid().x,0)); + d.DrawPath(ray); + + d.Save(); + } +}; + + +class ShootableAtom : public ComfortPluginAtom +{ +public: + + ShootableAtom() : ComfortPluginAtom("shootable") + { + setOutputArity(3); + addInputConstant(); //target id + addInputConstant(); //trajectory identifier, low or high + addInputConstant(); //velocity + addInputConstant(); //slingshot x + addInputConstant(); //slingshot y + addInputConstant(); //slingshot width + addInputConstant(); //slingshot height + addInputConstant(); // birdtype + addInputPredicate(); //objects + } + + virtual void retrieve(const ComfortQuery& query, ComfortAnswer& answer) + { + // First we retrieve the object whose mass should be calculated. + int targetid = ((ComfortTerm)(query.input[0])).intval; + std::string trajectory = ((ComfortTerm)(query.input[1])).getUnquotedString(); + double velocity = std::atof(((ComfortTerm)(query.input[2])).getUnquotedString().c_str()); + + Sling slingshot; + + slingshot.x = ((ComfortTerm)(query.input[3])).intval; + slingshot.y = ((ComfortTerm)(query.input[4])).intval; + slingshot.w = ((ComfortTerm)(query.input[5])).intval; + slingshot.h = ((ComfortTerm)(query.input[6])).intval; + + std::string birdType = ((ComfortTerm)(query.input[7])).getUnquotedString(); + int size; + if(birdType == "redbird") + size = RED_SIZE; + else if (birdType == "yellowbird") + size = YELLOW_SIZE; + else if (birdType == "bluebird") + size = BLUE_SIZE; + else if (birdType == "blackbird") + size = BLACK_SIZE; + else if (birdType == "whitebird") + size = WHITE_SIZE; + + + std::vector objects; + + Calculation::fillVector(query.interpretation, objects); + if (objects.empty()) + std::cerr << "&next: Called with no objects." << std::endl; + + Object target = Object::findById(objects, targetid); + if (target.id == -1) + { + std::cerr << "&next: Called with invalid target id " << targetid << "." << std::endl; + return; + } + + //Ground is not shootable and nothing can be hit behind it. + if (target.type == ground) + return; + + const int POINTS = 9; + const int GUARD = 2; + int c[POINTS]; + b2Vec2 p[POINTS]; + + b2Vec2 left = target.getLeftFaceCenter(); + b2Vec2 top = target.getTopFaceCenter(); + b2Vec2 right = target.getRightFaceCenter(); + b2Vec2 bottom = target.getBottomFaceCenter(); + + if(trajectory == "high") + { + p[0] = top; + for(int i = 1; i < POINTS; i++) + p[i] = p[0]; + // + // p[2] is middle + // + // Group 1 + p[0].x = (int) left.x + GUARD; + p[1].x = (int) std::min(left.x +GUARD + size/2,right.x); + p[2].x = (int) std::min(left.x +GUARD+ size,right.x); + + // Group 2 + p[3].x = (int) std::max(top.x - size/2,left.x); + p[4].x = (int) top.x; + p[5].x = (int) std::min(top.x + size/2,right.x); + + // Group 3 + p[6].x = (int) std::max(right.x - GUARD - size, left.x);; + p[7].x = (int) std::max(right.x - GUARD - size/2, left.x); + p[8].x = (int) right.x - GUARD; + + + } + else // low trajectory. Alternatives are computed from the middle point upwards. + { + + p[0] = left; + for(int i = 1; i < POINTS; i++) + p[i] = p[0]; + + // Group 1 + p[0].y = (int) (bottom.y-GUARD); + p[1].y = (int) std::max(bottom.y- GUARD- size/2,top.y); + p[2].y = (int) std::max(bottom.y- GUARD - size,top.y);; + + // Group 2 + p[3].y = (int) std::max(left.y - size/2,top.y); + p[4].y = (int) left.y; + p[5].y = (int) std::min(left.y + size/2,bottom.y);; + + // Group 3 + p[6].y = (int) std::min(top.y + GUARD + size, bottom.y); + p[7].y = (int) std::min(top.y + GUARD + size/2,bottom.y); + p[8].y = (int) (top.y + GUARD); + + +// Y axis growing downwards + //p[1].y = (int)(std::max(p[0].y - size/2, top.y)); + //p[2].y = (int)(std::max(p[0].y - size, top.y)); + //p[3].y = (int)(std::max((p[0].y - size/2 - size), top.y)); + //p[4].y = (int)(std::max( (p[0].y - size*2), top.y)); + +// p[1].y = std::min(p[0].y + size/2, top.y); +// p[2].y = std::min(p[0].y + size, top.y); +// p[3].y = std::min((p[0].y + size/2 - size), top.y); +// p[4].y = std::min( (p[0].y + size*2), top.y); + + + } + + if (debug) + std::cerr << "Object:" << targetid << " -> " << target.cx << ":" << target.cy << ":" << target.w << ":" << target.h << std::endl; + + + if (debug) { + std::cerr << (trajectory == "high" ? "H=" : "L="); + for(int i = 0; i < POINTS; i++) + std::cerr << p[i].x << ":" << p[i].y << " "; + std::cerr << std::endl; + } + + + for(int i = 0; i < POINTS; i++) + { + if (debug) + std::cerr << "GFO:" << targetid << " " << p[i].x << ":" << p[i].y ; + + c[i] = getFrontObject(p[i], trajectory, slingshot, velocity, objects); + if(debug) + std::cerr << "==>" << c[i] << std::endl; + } + if(debug) + std::cerr << std::endl; + + int shift = -1; + int retValues[POINTS/3]; + + for (int i = 0; i < POINTS/3; i++) + retValues[i] = -1; + + for (int i = 0; i < POINTS/3; i++) + + if (targetid == c[i*3] && c[i*3] == c[i*3+1] && c[i*3] == c[i*3+2]) + { + retValues[i] = shift = (trajectory == "high" ? p[i*3+1].x : p[i*3+1].y); + if (debug) std::cerr << "TP:" << i << "=" << retValues[i] << std::endl; + } + + +/* + if (c[0] == c[1] && c[0] == c[2]) + { + if (debug) std::cerr << " Downwards"; + retValues[0] = shift = trajectory == "high" ? p[1].x : p[1].y; + } + if (c[2] == c[3] && c[2] == c[4]) + { + if (debug) std::cerr << " Upwards"; + retValues[2] = shift = trajectory == "high" ? p[3].x : p[3].y ; + } + if (c[1] == c[2] && c[1] == c[3]) + { + if (debug) std::cerr << " Center"; + retValues[1] = shift = trajectory == "high" ? p[2].x : p[2].y; + } + */ + if (debug) std::cerr << std::endl; + // + // shift will contain in priority order, either center, upwards or downwards point. + // For low trajectories the downwards point is the middle of left face + // For high trajectories downwards is meant to be leftmost Y point + // + // The worst point of the three (the downward one) is never returned unless it is the unique + // + bool targetHit = false; + for(int i = 0; i < POINTS; i++) + { + targetHit = targetHit || c[i] == targetid; + } + + if (targetHit && shift >= 0 ) { + ComfortTuple ct; + ct.push_back(ComfortTerm::createInteger(targetid)); + + // + // For low trajectories we propose center and upper trajectory first (the third one only if none is avail + // + if (trajectory == "low") + { + ct.push_back(ComfortTerm::createInteger(retValues[POINTS/3-2] >= 0 ? retValues[POINTS/3-2] : shift)); + ct.push_back(ComfortTerm::createInteger(retValues[POINTS/3-1] >= 0 ? retValues[POINTS/3-1] : shift)); + } + // + // For high trajectories we propose center and leftward trajectory first (the third one only if none is avail + // + + else + { + ct.push_back(ComfortTerm::createInteger(retValues[POINTS/3-2] >= 0 ? retValues[POINTS/3-2] : shift)); + ct.push_back(ComfortTerm::createInteger(retValues[POINTS/3-3] >= 0 ? retValues[POINTS/3-3] : shift)); + + } + //std::cerr << "RETURNING " << c[0] << " " << retValues[2] << shift << " " << targetid << std::endl; + answer.insert(ct); + } + } + +private: +class RCCB : public b2RayCastCallback +{ + public: + ///The hits reported by the ray cast. Key is a float for sorting in hit order, value is the object id. Note that though we try to minimize the number of objects reported behind floor, there might still be some of them in the map. + std::map hits; + + virtual float32 ReportFixture(b2Fixture* fixture, const b2Vec2&, const b2Vec2&, float32 fraction) + { + int id = WorldCreation::GetId(fixture->GetBody()); + + hits[fraction] = id; + + //In this case (when the floor is hit) we tell Box2D that henceforth we only want objects before this floor hit. Box2D takes the return value of this function, and afterwards only notifies intersections that have a lower fraction than the returned one. + if (id == -1) + return fraction; + + return 1; + } +}; + +/** + * Gets front object in a given trajectory. + */ + + static int getFrontObject(const b2Vec2& hitPoint, const std::string& trajectory, const Sling& slingshot, const double& velocity, std::vector& objects) + { + //First, we calculate the two possible release points (if there are two). + std::vector launchPoints = TrajectoryPlanner::estimateLaunchPoint(slingshot, hitPoint, velocity); + + //If only one trajectory is possible, it is always the lower one. + if (launchPoints.size() == 1 && trajectory == "high") + return -3; + + //Extracting the correct launch point. + b2Vec2 launchPoint; + if (trajectory == "high") + launchPoint = launchPoints[1]; + else + launchPoint = launchPoints[0]; + + //Now we create the world, scale factor 1 because we don't do any physics calculation anyways. + b2World world = WorldCreation::createWorld(objects, 1); + + //And we calculate all the points in the trajectory. + int x_max = WorldCreation::maxXPlusW(world); + std::vector traj = TrajectoryPlanner::predictTrajectory(slingshot, launchPoint, x_max, velocity); + + traj = simplifyTrajectory(traj); + + //Now we fill the result vector. We step through the points of the trajectory one by one and check if any point intersects with an object. If so, we add the object to the result vector. + std::vector result; + + for (std::vector::iterator i = traj.begin(); i + 1 != traj.end(); ++i) + { + RCCB cb; + + world.RayCast(&cb, *i, *(i + 1)); + + for (std::map::const_iterator hit = cb.hits.begin(); hit != cb.hits.end(); ++hit) + { + if ((*hit).second == -1) + { + + return -1; + } + + return ((*hit).second); + } + } + return -2; + } + + static std::vector simplifyTrajectory(const std::vector& vector) + { + const unsigned int size = vector.size(); + + //We initilize the vector to size/10, the number of vertices that we will keep, plus one for the last vertex. + std::vector result; + result.reserve(size/10 + 1); + + for (unsigned int i = 0; i < size; i += 10) + { + result.push_back(vector[i]); + + //If we hit the last point of the trajectory, we can return, so that it will not be added twice. + if (i == size - 1) + { + assert(size/10 + 1 < result.max_size()); + return result; + } + } + + //Add the last point of the trajectory. + result.push_back(vector[size - 1]); + + //Make sure there have not been any resize operations. If there had been any, we would need to readjust our starting values. + assert(size/10 + 1 < result.max_size()); + + return result; + } +}; +/* + * Takes a target and finds the lowest usable trajectory for a white bird iterating from the object y up in 10 pixel steps. + */ + +class BestWhiteAtom : public ComfortPluginAtom +{ +public: + + BestWhiteAtom() : ComfortPluginAtom("bestwhite") + { + setOutputArity(1); + addInputConstant(); //target id + addInputConstant(); //trajectory identifier, low or high + addInputConstant(); //velocity + addInputConstant(); //slingshot x + addInputConstant(); //slingshot y + addInputConstant(); //slingshot width + addInputConstant(); //slingshot height + addInputPredicate(); //objects + } + + virtual void retrieve(const ComfortQuery& query, ComfortAnswer& answer) + { + // First we retrieve the object whose mass should be calculated. + int targetid = ((ComfortTerm)(query.input[0])).intval; + std::string trajectory = ((ComfortTerm)(query.input[1])).getUnquotedString(); + double velocity = std::atof(((ComfortTerm)(query.input[2])).getUnquotedString().c_str()); + + Sling slingshot; + + slingshot.x = ((ComfortTerm)(query.input[3])).intval; + slingshot.y = ((ComfortTerm)(query.input[4])).intval; + slingshot.w = ((ComfortTerm)(query.input[5])).intval; + slingshot.h = ((ComfortTerm)(query.input[6])).intval; + + std::string birdType = ((ComfortTerm)(query.input[7])).getUnquotedString(); + int size; + if(birdType == "redbird") + size = RED_SIZE; + else if (birdType == "yellowbird") + size = YELLOW_SIZE; + else if (birdType == "bluebird") + size = BLUE_SIZE; + else if (birdType == "blackbird") + size = BLACK_SIZE; + else if (birdType == "whitebird") + size = WHITE_SIZE; + + + std::vector objects; + + Calculation::fillVector(query.interpretation, objects); + if (objects.empty()) + std::cerr << "&next: Called with no objects." << std::endl; + + Object target = Object::findById(objects, targetid); + if (target.id == -1) + { + std::cerr << "&next: Called with invalid target id " << targetid << "." << std::endl; + return; + } + + //Ground is not shootable and nothing can be hit behind it. + if (target.type == ground) + return; + + const int POINTS = 3; + const int GUARD = 2; + int c[POINTS]; + Object ob[POINTS]; + b2Vec2 p[POINTS]; + + b2Vec2 left = target.getLeftFaceCenter(); + b2Vec2 top = target.getTopFaceCenter(); + b2Vec2 right = target.getRightFaceCenter(); + b2Vec2 bottom = target.getBottomFaceCenter(); + + int shift = -1; + int X_THRESHOLD = top.x + 20; + for (p[0].y = top.y-10; p[0].y >= 40; p[0].y -= 20) + { + + for(int i = 1; i < POINTS; i++) + p[i] = p[0]; + + p[0].x = (int) std::max(top.x - size/2,left.x); + p[1].x = (int) top.x; + p[2].x = (int) std::min(top.x + size/2,right.x); + + + if (debug) + std::cerr << "Object:" << targetid << " -> " << target.cx << ":" << target.cy << ":" << target.w << ":" << target.h << std::endl; + + + if (debug) { + std::cerr << (trajectory == "high" ? "H=" : "L="); + for(int i = 0; i < POINTS; i++) + std::cerr << p[i].x << ":" << p[i].y << " "; + std::cerr << std::endl; + } + + for(int i = 0; i < POINTS; i++) + { + if (debug) + std::cerr << "BW:" << targetid << " " << p[i].x << ":" << p[i].y ; + + c[i] = getFrontObject(p[i], trajectory, slingshot, velocity, objects); + ob[i] = Object::findById(objects, c[i]); + + if(debug) + std::cerr << "==>" << c[i] << std::endl; + } + if(debug) + std::cerr << std::endl; + + shift = -1; + + if (ob[0].getLeftFaceCenter().x > X_THRESHOLD && ob[0].getLeftFaceCenter().x > X_THRESHOLD && ob[0].getLeftFaceCenter().x > X_THRESHOLD) + { + shift = p[1].y; + if (debug) std::cerr << "TP << " << shift << std::endl; + break; + } + + } // for + if (debug) std::cerr << std::endl; + + + if (shift >= 0 ) { + ComfortTuple ct; + ct.push_back(ComfortTerm::createInteger(shift)); + answer.insert(ct); + } + } + +private: +class RCCB : public b2RayCastCallback +{ + public: + ///The hits reported by the ray cast. Key is a float for sorting in hit order, value is the object id. Note that though we try to minimize the number of objects reported behind floor, there might still be some of them in the map. + std::map hits; + + virtual float32 ReportFixture(b2Fixture* fixture, const b2Vec2&, const b2Vec2&, float32 fraction) + { + int id = WorldCreation::GetId(fixture->GetBody()); + + hits[fraction] = id; + + //In this case (when the floor is hit) we tell Box2D that henceforth we only want objects before this floor hit. Box2D takes the return value of this function, and afterwards only notifies intersections that have a lower fraction than the returned one. + if (id == -1) + return fraction; + + return 1; + } +}; + +/** + * Gets front object in a given trajectory. + */ + + static int getFrontObject(const b2Vec2& hitPoint, const std::string& trajectory, const Sling& slingshot, const double& velocity, std::vector& objects) + { + //First, we calculate the two possible release points (if there are two). + std::vector launchPoints = TrajectoryPlanner::estimateLaunchPoint(slingshot, hitPoint, velocity); + + //If only one trajectory is possible, it is always the lower one. + if (launchPoints.size() == 1 && trajectory == "high") + return -3; + + //Extracting the correct launch point. + b2Vec2 launchPoint; + if (trajectory == "high") + launchPoint = launchPoints[1]; + else + launchPoint = launchPoints[0]; + + //Now we create the world, scale factor 1 because we don't do any physics calculation anyways. + b2World world = WorldCreation::createWorld(objects, 1); + + //And we calculate all the points in the trajectory. + int x_max = WorldCreation::maxXPlusW(world); + std::vector traj = TrajectoryPlanner::predictTrajectory(slingshot, launchPoint, x_max, velocity); + + traj = simplifyTrajectory(traj); + + //Now we fill the result vector. We step through the points of the trajectory one by one and check if any point intersects with an object. If so, we add the object to the result vector. + std::vector result; + + for (std::vector::iterator i = traj.begin(); i + 1 != traj.end(); ++i) + { + RCCB cb; + + world.RayCast(&cb, *i, *(i + 1)); + + for (std::map::const_iterator hit = cb.hits.begin(); hit != cb.hits.end(); ++hit) + { + if ((*hit).second == -1) + { + + return -1; + } + + return ((*hit).second); + } + } + return -2; + } + + static std::vector simplifyTrajectory(const std::vector& vector) + { + const unsigned int size = vector.size(); + + //We initilize the vector to size/10, the number of vertices that we will keep, plus one for the last vertex. + std::vector result; + result.reserve(size/10 + 1); + + for (unsigned int i = 0; i < size; i += 10) + { + result.push_back(vector[i]); + + //If we hit the last point of the trajectory, we can return, so that it will not be added twice. + if (i == size - 1) + { + assert(size/10 + 1 < result.max_size()); + return result; + } + } + + //Add the last point of the trajectory. + result.push_back(vector[size - 1]); + + //Make sure there have not been any resize operations. If there had been any, we would need to readjust our starting values. + assert(size/10 + 1 < result.max_size()); + + return result; + } +}; + + + +class NextAtom : public ComfortPluginAtom +{ +public: + + NextAtom() : ComfortPluginAtom("next") + { + setOutputArity(2); + addInputConstant(); //object id + + addInputConstant(); //target hitting offset + addInputConstant(); //trajectory identifier, low or high + addInputConstant(); //velocity + addInputConstant(); //slingshot x + addInputConstant(); //slingshot y + addInputConstant(); //slingshot width + addInputConstant(); //slingshot height + addInputPredicate(); //objects + } + + virtual void retrieve(const ComfortQuery& query, ComfortAnswer& answer) + { + // First we retrieve the object whose mass should be calculated. + int targetid = ((ComfortTerm)(query.input[0])).intval; + int targetOffset = ((ComfortTerm)(query.input[1])).intval; + std::string trajectory = ((ComfortTerm)(query.input[2])).getUnquotedString(); + double velocity = std::atof(((ComfortTerm)(query.input[3])).getUnquotedString().c_str()); + + Sling slingshot; + + slingshot.x = ((ComfortTerm)(query.input[4])).intval; + slingshot.y = ((ComfortTerm)(query.input[5])).intval; + slingshot.w = ((ComfortTerm)(query.input[6])).intval; + slingshot.h = ((ComfortTerm)(query.input[7])).intval; + + std::vector objects; + + Calculation::fillVector(query.interpretation, objects); + if (objects.empty()) + std::cerr << "&next: Called with no objects." << std::endl; + + Object target = Object::findById(objects, targetid); + if (target.id == -1) + { + std::cerr << "&next: Called with invalid target id " << targetid << "." << std::endl; + return; + } + + //Ground is not shootable and nothing can be hit behind it. + if (target.type == ground) + return; + + std::vector inTrajectory = getNext(target,targetOffset, trajectory, slingshot, velocity, objects); + + + //dlvhex2 allows to return multiple results per retrieve. This is sensible here, because in order to calculate the second intersection, we need to check the whole trajectory up until the second intersection and skip the first intersection. By calculating all intersections in one go, we can save a lot of time. + int index = 0; + for(std::vector::const_iterator obj = inTrajectory.begin(); + obj != inTrajectory.end(); ++obj, ++index) + { + ComfortTuple ct; + ct.push_back(ComfortTerm::createInteger(index)); + ct.push_back(ComfortTerm::createInteger(*obj)); + answer.insert(ct); + } + } + +private: +class RCCB : public b2RayCastCallback +{ + public: + ///The hits reported by the ray cast. Key is a float for sorting in hit order, value is the object id. Note that though we try to minimize the number of objects reported behind floor, there might still be some of them in the map. + std::map hits; + + virtual float32 ReportFixture(b2Fixture* fixture, const b2Vec2&, const b2Vec2&, float32 fraction) + { + int id = WorldCreation::GetId(fixture->GetBody()); + + hits[fraction] = id; + + //In this case (when the floor is hit) we tell Box2D that henceforth we only want objects before this floor hit. Box2D takes the return value of this function, and afterwards only notifies intersections that have a lower fraction than the returned one. + if (id == -1) + return fraction; + + return 1; + } +}; + + static std::vector getNext(const Object& target, int targetOffset, const std::string& trajectory, const Sling& slingshot, const double& velocity, std::vector& objects) + { + //First, we calculate the two possible release points (if there are two). +// std::vector launchPoints = trajectory == "high" ? +// TrajectoryPlanner::estimateLaunchPoint(slingshot, target.getTopFaceCenter(), velocity) : +// TrajectoryPlanner::estimateLaunchPoint(slingshot, target.getLeftFaceCenter(), velocity); + + // + // targetOffset is precomputed by the shootable module. + // + b2Vec2 realTarget = trajectory == "high" ? target.getTopFaceCenter() : target.getLeftFaceCenter(); + if(trajectory == "high") + realTarget.x = targetOffset; + else + realTarget.y = targetOffset; + + if (debug) + std::cerr << "getNext:" << target.id << ":" << targetOffset << std::endl; + + std::vector launchPoints = TrajectoryPlanner::estimateLaunchPoint(slingshot, realTarget, velocity); + //If only one trajectory is possible, it is always the lower one. + if (launchPoints.size() == 1 && trajectory == "high") + return std::vector(); + + //Extracting the correct launch point. + b2Vec2 launchPoint; + if (trajectory == "high") + launchPoint = launchPoints[1]; + else + launchPoint = launchPoints[0]; + + //Now we create the world, scale factor 1 because we don't do any physics calculation anyways. + b2World world = WorldCreation::createWorld(objects, 1); + + //And we calculate all the points in the trajectory. + int x_max = WorldCreation::maxXPlusW(world); + std::vector traj = TrajectoryPlanner::predictTrajectory(slingshot, launchPoint, x_max, velocity); + + traj = simplifyTrajectory(traj); + + DebugImage * di; + if (debug) + { + std::stringstream name; + name << debugFolder << "next-" << target.id << "-" << trajectory << ".svg"; + di = new DebugImage(name.str().c_str()); + di->DrawWorld(world, target.id); + di->DrawPath(traj); + } + + //Now we fill the result vector. We step through the points of the trajectory one by one and check if any point intersects with an object. If so, we add the object to the result vector. + std::vector result; + + for (std::vector::iterator i = traj.begin(); i + 1 != traj.end(); ++i) + { + RCCB cb; + + world.RayCast(&cb, *i, *(i + 1)); + + for (std::map::const_iterator hit = cb.hits.begin(); hit != cb.hits.end(); ++hit) + { + if ((*hit).second == -1) + { + if (debug) + { + di->DrawVector(result); + di->Save(); + delete di; + } + + return result; + } + + result.push_back((*hit).second); + } + } + + + if (debug) + { + di->DrawVector(result); + di->Save(); + delete di; + } + + return result; + } + + static std::vector simplifyTrajectory(const std::vector& vector) + { + const unsigned int size = vector.size(); + + //We initilize the vector to size/10, the number of vertices that we will keep, plus one for the last vertex. + std::vector result; + result.reserve(size/10 + 1); + + for (unsigned int i = 0; i < size; i += 10) + { + result.push_back(vector[i]); + + //If we hit the last point of the trajectory, we can return, so that it will not be added twice. + if (i == size - 1) + { + assert(size/10 + 1 < result.max_size()); + return result; + } + } + + //Add the last point of the trajectory. + result.push_back(vector[size - 1]); + + //Make sure there have not been any resize operations. If there had been any, we would need to readjust our starting values. + assert(size/10 + 1 < result.max_size()); + + return result; + } +}; + +class CanPushAtom : public ComfortPluginAtom +{ +public: + + CanPushAtom() : ComfortPluginAtom("canpush") + { + setOutputArity(2); + addInputPredicate(); //objects + } + + virtual void retrieve(const ComfortQuery& query, ComfortAnswer& answer) + { + // First we retrieve the object whose mass should be calculated. + + std::vector objects; + + Calculation::fillVector(query.interpretation, objects); + if (objects.empty()) + std::cerr << "&next: Called with no objects." << std::endl; + + for(std::vector::iterator it = objects.begin(); it != objects.end(); ++it) + { + Object* o = &(*it); + + if (o->type == ground) + continue; + for(std::vector::iterator it2 = objects.begin(); it2 != objects.end(); ++it2) + { + Object* i = &(*it2); + if (o->type == ground && o->id == i->id) + continue; + + // + // Angle penalty: should we assume a too much inclined object is not that lean to push anything? + // + //const float angle_threshold = 30; + b2Vec2 bottomO = o->getBottomFaceCenter(); + b2Vec2 rightO = o->getRightFaceCenter(); + + b2Vec2 topI = i->getTopFaceCenter(); + b2Vec2 bottomI = i->getBottomFaceCenter(); + b2Vec2 leftI = i->getLeftFaceCenter(); + // + // Assumes a rotation of 90° degrees clock wise of object o + // + float rotatedX = bottomO.x + o->h + o->w/2; + + //std::cerr << "rightO.x <= leftI.x && rotatedX > leftI.x && bottomO.y >= topI.y && bottomO.y <= bottomI.y " << std::endl; + //std::cerr << o->h << ":" << o->w << ":" << o->angle << "|" << rightO.x << ":" << leftI.x << ":" << rotatedX << ":" < leftI.x && bottomO.y >= topI.y && bottomO.y <= bottomI.y ) + { + ComfortTuple ct; + ct.push_back(ComfortTerm::createInteger(o->id)); + ct.push_back(ComfortTerm::createInteger(i->id)); + answer.insert(ct); + //std::cerr << o->id << " CAN PUSH " << i->id << std::endl; + } + // else + // std::cerr << o->id << " CANNOT PUSH " << i->id << std::endl; + + + } // for o + } // for i + } // method + + +}; + + + +class OnTopMassAtom : public ComfortPluginAtom +{ +public: + + OnTopMassAtom() : ComfortPluginAtom("on_top_mass") + { + setOutputArity(1); + addInputConstant(); + addInputPredicate(); + } + + virtual void retrieve(const ComfortQuery& query, ComfortAnswer& answer) + { + // First we retrieve the object whose mass should be calculated. + int object = ((ComfortTerm)(query.input[0])).intval; + + ComfortTuple ct; + ct.push_back(ComfortTerm::createInteger(onTopMass(query.interpretation, object))); + answer.insert(ct); + } + +private: + static int onTopMass(ComfortInterpretation i, int oid) + { + std::vector objects; + + Calculation::fillVector(i, objects); + + std::vector > graph = OnTop::calculateCached(objects); + + std::vector transitiveHull = calculateTransitiveHull(graph, oid); + float total = 0; + + for(std::vector::iterator i = transitiveHull.begin(); i != transitiveHull.end(); ++i) + { + total = mass(objects, (*i)); + } + + + return (int)total; + } + + static float mass(std::vector objects, int oid) + { + for(std::vector::iterator i = objects.begin(); i != objects.end(); ++i) + { + if ((*i).id == oid) + return (*i).getMass(); + } + + return 0; + } + + static std::vector calculateTransitiveHull(std::vector > graph, int oid) + { + std::vector hull; + + hull.push_back(oid); + + for(std::vector >::iterator i = graph.begin(); i != graph.end(); i++) + { + if ((*i).second == oid) + { + int first = (*i).first; + i = graph.erase(i); + --i; + + std::vector subhull = calculateTransitiveHull(graph, first); + + hull.insert(hull.end(), subhull.begin(), subhull.end()); + } + } + + return hull; + } +}; + +class OnTopOfAtom : public ComfortPluginAtom +{ +public: + + OnTopOfAtom() : ComfortPluginAtom("on_top_of") + { + setOutputArity(0); + addInputConstant(); + addInputConstant(); + addInputPredicate(); + } + + virtual void retrieve(const ComfortQuery& query, ComfortAnswer& answer) + { + // First we retrieve the two objects whose difference should be calculated. + int firstObject = ((ComfortTerm)(query.input[0])).intval; + int secondObject = ((ComfortTerm)(query.input[1])).intval; + + if(isOnTopOf(query.interpretation, firstObject, secondObject)) + answer.insert(ComfortTuple()); + } + +private: + + bool isOnTopOf(ComfortInterpretation i, int a, int b) + { + std::vector objects; + + Calculation::fillVector(i, objects); + + std::vector > graph = OnTop::calculateCached(objects); + + return contains(graph, a, b); + } + + bool contains(std::vector > graph, int a, int b) + { + for (std::vector >::iterator i = graph.begin(); i != graph.end(); ++i) + if ((*i).first == a && (*i).second == b) + return true; + + return false; + } +}; + +class OnTopAllAtom : public ComfortPluginAtom +{ +public: + + OnTopAllAtom() : ComfortPluginAtom("on_top_all") + { + setOutputArity(2); + addInputPredicate(); + } + + virtual void retrieve(const ComfortQuery& query, ComfortAnswer& answer) + { + + std::vector objects; + + Calculation::fillVector(query.interpretation, objects); + + std::vector > graph = OnTop::calculateCached(objects); + + for (std::vector >::iterator i = graph.begin(); i != graph.end(); ++i) { + ComfortTuple ct; + ct.push_back(ComfortTerm::createInteger((*i).first)); + ct.push_back(ComfortTerm::createInteger((*i).second)); + answer.insert(ct); + } + + } + +}; + +class DistanceAtom : public ComfortPluginAtom +{ +public: + + DistanceAtom() : ComfortPluginAtom("distance") + { + setOutputArity(1); + addInputConstant(); + addInputConstant(); + addInputPredicate(); + } + + virtual void retrieve(const ComfortQuery& query, ComfortAnswer& answer) + { + ComfortTuple tu; + + // First we retrieve the two objects whose difference should be calculated. + int firstObject = ((ComfortTerm)(query.input[0])).intval; + int secondObject = ((ComfortTerm)(query.input[1])).intval; + + //If there are no objects found, the programmer most likely called the predicated wrong. + //We issue a usage information. + if (query.interpretation.size() == 0) + { + std::cerr << "Please call \"distance\" like this: &distance[ID1, ID2, objects](X)." << std::endl; + assert(true); + } + + bool found[] = {false,false}; + int x[2]; + int y[2]; + + //Now we go through each of the predicates (each "object(...)") and check if it denotes one of the + //objects we need. If so, we save the coordinates of the center of the rectangle (coordinate of + //left top corner plus half of width or height). firstObject may be equal to secondObject. + for (ComfortInterpretation::iterator c = query.interpretation.begin(); c != query.interpretation.end(); ++c) + { + if (c->getArgument(1).intval == firstObject) + { + x[0] = c->getArgument(2).intval + c->getArgument(4).intval/2; + y[0] = c->getArgument(3).intval + c->getArgument(5).intval/2; + found[0] = true; + } + if (c->getArgument(1).intval == secondObject) + { + x[1] = c->getArgument(2).intval + c->getArgument(4).intval/2; + y[1] = c->getArgument(3).intval + c->getArgument(5).intval/2; + found[1] = true; + } + } + + //If either of the coordinates could not be found, issue warnings. + if (found[0] == false) + { + std::cerr << "&distance: The object id " << firstObject << " was not found." << std::endl; + assert(true); + } + + if (found[1] == false) + { + std::cerr << "&distance: The object id " << secondObject << " was not found." << std::endl; + assert(true); + } + + //Calculate the distance and append. + ComfortTerm ct = ComfortTerm::createInteger(DistanceAtom::distance(x[0],y[0],x[1],y[1])); + + tu.push_back(ct); + + answer.insert(tu); + } + +private: + static int distance(int x0, int y0, int x1, int y1) + { + double distance; + + double distance_x = x0-x1; + + double distance_y = y0- y1; + + distance = sqrt( (distance_x * distance_x) + (distance_y * distance_y)); + + return (int)distance; + } + +}; + +class TestPlugin: + public PluginInterface +{ + +public: + TestPlugin(): + PluginInterface() + { + setNameVersion("hexagentplugin", 0, 0, 1); + } + + virtual std::vector createAtoms(ProgramCtx&) const + { + std::vector ret; + + // return smart pointer with deleter (i.e., delete code compiled into this plugin) + ret.push_back(PluginAtomPtr(new DistanceAtom, PluginPtrDeleter())); + ret.push_back(PluginAtomPtr(new OnTopOfAtom, PluginPtrDeleter())); + ret.push_back(PluginAtomPtr(new OnTopAllAtom, PluginPtrDeleter())); + ret.push_back(PluginAtomPtr(new OnTopMassAtom, PluginPtrDeleter())); + ret.push_back(PluginAtomPtr(new NextAtom, PluginPtrDeleter())); + ret.push_back(PluginAtomPtr(new ShootableAtom, PluginPtrDeleter())); + ret.push_back(PluginAtomPtr(new FirstAboveAtom, PluginPtrDeleter())); + ret.push_back(PluginAtomPtr(new FirstBelowAtom, PluginPtrDeleter())); + ret.push_back(PluginAtomPtr(new CanPushAtom, PluginPtrDeleter())); + ret.push_back(PluginAtomPtr(new ClearSkyAtom, PluginPtrDeleter())); + ret.push_back(PluginAtomPtr(new StabilityAtom, PluginPtrDeleter())); + ret.push_back(PluginAtomPtr(new BestWhiteAtom, PluginPtrDeleter())); + + return ret; + } +}; + +TestPlugin theTestplugin; + +/* Major version number of DLVHEX_ABI */ +#define DLVHEX_ABI_VERSION_MAJOR 7 + +/* Micro version number of DLVHEX_ABI */ +#define DLVHEX_ABI_VERSION_MICRO 0 + +/* Minor version number of DLVHEX_ABI */ +#define DLVHEX_ABI_VERSION_MINOR 1 + +//IMPLEMENT_PLUGINABIVERSIONFUNCTION + +extern "C" int getDlvhex2ABIVersion() +{ + return 7*10000+ 1*100+ 0; +} + + +// return plain C type s.t. all compilers and linkers will like this code +extern "C" void * PLUGINIMPORTFUNCTION() +{ + return reinterpret_cast(& theTestplugin); +} + diff --git a/src/angrybirds-box2dplugin/libpeerconnection.log b/src/angrybirds-box2dplugin/libpeerconnection.log new file mode 100644 index 0000000..e69de29 diff --git a/src/angryhexclient/Configuration.java b/src/angryhexclient/Configuration.java new file mode 100644 index 0000000..0cfe6c4 --- /dev/null +++ b/src/angryhexclient/Configuration.java @@ -0,0 +1,157 @@ +/******************************************************************************* + * Angry-HEX - an artificial player for Angry Birds based on declarative knowledge bases + * Copyright (C) 2012-2015 Francesco Calimeri, Michael Fink, Stefano Germano, Andreas Humenberger, Giovambattista Ianni, Christoph Redl, Daria Stepanova, Andrea Tucci, Anton Wimmer. + * + * This file is part of Angry-HEX. + * + * Angry-HEX is free software: you can redistribute it and/or modify it under the terms of the GNU Affero General Public License as published by the Free Software Foundation, either version 3 of the License, or (at your option) any later version. + * + * Angry-HEX is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU Affero General Public License for more details. + * + * You should have received a copy of the GNU Affero General Public License along with this program. If not, see . + *******************************************************************************/ +package angryhexclient; + +import java.io.FileInputStream; +import java.io.IOException; +import java.util.Properties; + +import ab.vision.BirdType; + +public class Configuration +{ + private static Properties prop = null; + + private static void initialize() + { + + //if (prop == null) { + try { + prop = new Properties(); + prop.load(new FileInputStream("config.properties")); + } + catch(IOException e) + { + System.err.println("Could not open configuration file."); + System.err.println(e); + + System.err.println("Falling back to defaults."); + + prop = null; + } + //} + } + + public static double getSpeedRatio() + { + initialize(); + if (prop == null) return 0.0; + + return Double.parseDouble(prop.getProperty("speedRatio")); + + } + public static double getSpeedRatioByBird(BirdType b) + { + initialize(); + if (prop == null) return 0.0; + + return Double.parseDouble(prop.getProperty("speedRatio."+b.name())); + + } + public static boolean getUseDlv() + { + initialize(); + + if (prop == null) return true; + + return !prop.getProperty("usedlv").equals("false") && !prop.getProperty("usedlv").equals("no"); + } + + public static String getOpencvNativePath() + { + initialize(); + + if (prop == null) return null; + + return prop.getProperty("opencvnativepath").equals("USELDPATH") ? null : prop.getProperty("opencvnativepath"); + } + + public static String getHexpath() + { + initialize(); + + if (prop == null) return "dlvhex2"; + + return prop.getProperty("hexpath"); + } + + public static String getHexAdditionalArguments() + { + initialize(); + + if (prop == null) return ""; + + return prop.getProperty("hexaditionalarguments"); + } + + public static boolean isCalibrationMode() { + initialize(); + String b = prop.getProperty("calibrationmode"); + boolean retVal = !b.equals("false") && !b.equals("no") && !b.equals("0"); +// System.out.println("Calibration mode:"+b+"->"+retVal); + return retVal; + } + + public static String getReasoningFilename() + { + initialize(); + return prop.getProperty("reasoningfilename"); + + } + + public static String getReasoningWhiteFilename() + { + initialize(); + return prop.getProperty("reasoningWhitefilename"); + + } + + public static double getTargetYOffset() { + initialize(); + return Double.parseDouble(prop.getProperty("targetyoffset")); + } + + public static int getTeamID() { + initialize(); + if (prop == null) return 0; + return Integer.parseInt(prop.getProperty("teamID")); + } + + public static boolean getTournamentMode() { + initialize(); + if (prop == null) return false; + String b = prop.getProperty("tournamentmode"); + boolean retVal = !b.equals("false") && !b.equals("no") && !b.equals("0"); + return retVal; + } + + public static int getFastshootThreshold() { + initialize(); + if (prop == null) return 0; + return Integer.parseInt(prop.getProperty("fastshootthreshold")); + } + + public static boolean isDebugMode() { + initialize(); + String b = prop.getProperty("debug"); + boolean retVal = !b.equals("false") && !b.equals("no") && !b.equals("0"); + return retVal; + } + + public static int getShotMagnitude() { + initialize(); + if (prop == null) return 0; + return Integer.parseInt(prop.getProperty("shotmagnitude")); + } + +} diff --git a/src/angryhexclient/HexActionRobot.java b/src/angryhexclient/HexActionRobot.java new file mode 100644 index 0000000..159c9d9 --- /dev/null +++ b/src/angryhexclient/HexActionRobot.java @@ -0,0 +1,29 @@ +/******************************************************************************* + * Angry-HEX - an artificial player for Angry Birds based on declarative knowledge bases + * Copyright (C) 2012-2015 Francesco Calimeri, Michael Fink, Stefano Germano, Andreas Humenberger, Giovambattista Ianni, Christoph Redl, Daria Stepanova, Andrea Tucci, Anton Wimmer. + * + * This file is part of Angry-HEX. + * + * Angry-HEX is free software: you can redistribute it and/or modify it under the terms of the GNU Affero General Public License as published by the Free Software Foundation, either version 3 of the License, or (at your option) any later version. + * + * Angry-HEX is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU Affero General Public License for more details. + * + * You should have received a copy of the GNU Affero General Public License along with this program. If not, see . + *******************************************************************************/ +package angryhexclient; + +import ab.demo.other.ClientActionRobotJava; + +public class HexActionRobot extends ClientActionRobotJava { + + public HexActionRobot(String ip) { + super(ip); + } + +// public byte[] fastshoot(int fx, int fy, int dx, int dy, int t1, int t2, +// boolean polar) { +// return super.shootFast(intToByteArray(fx), intToByteArray(fy), +// intToByteArray(dx), intToByteArray(dy), intToByteArray(t1), +// intToByteArray(t2), polar); +// } +} diff --git a/src/angryhexclient/HexAgent.java b/src/angryhexclient/HexAgent.java new file mode 100644 index 0000000..5579678 --- /dev/null +++ b/src/angryhexclient/HexAgent.java @@ -0,0 +1,670 @@ +/***************************************************************************** + ** ANGRYBIRDS AI AGENT FRAMEWORK + ** Copyright (c) 2013, 2015, XiaoYu (Gary) Ge, Stephen Gould, Jochen Renz + ** Sahan Abeyasinghe,Jim Keys, Kar-Wai Lim, Zain Mubashir, Andrew Wang, Peng Zhang + ** All rights reserved. + **This work is licensed under the Creative Commons Attribution-NonCommercial-ShareAlike 3.0 Unported License. + **To view a copy of this license, visit http://creativecommons.org/licenses/by-nc-sa/3.0/ + *or send a letter to Creative Commons, 444 Castro Street, Suite 900, Mountain View, California, 94041, USA. + *****************************************************************************/ +package angryhexclient; + +import java.awt.Point; +import java.awt.Rectangle; +import java.awt.geom.Point2D; +import java.awt.image.BufferedImage; +import java.io.IOException; +import java.util.ArrayList; +import java.util.List; +import java.util.Random; +import java.util.logging.Logger; + +//commented out because it's not used +//import org.opencv.core.RotatedRect; + +import ab.demo.other.ClientActionRobot; +import ab.demo.other.Env; +import ab.planner.TrajectoryPlanner; +import ab.vision.ABObject; +import ab.vision.ABType; +import ab.vision.GameStateExtractor; +import ab.vision.GameStateExtractor.GameState; +import ab.vision.Vision; +import ab.vision.VisionUtils; +import angryhexclient.strategy.BenchmarkStrategy; +import angryhexclient.strategy.DeclarativeStrategy; +import angryhexclient.strategy.StrategyManager; +import angryhexclient.util.DebugUtils; + +public class HexAgent implements Runnable { + + private static final Logger Log = Logger.getLogger(Logger.GLOBAL_LOGGER_NAME); + private static final GameStateExtractor gse = new GameStateExtractor(); + + private final ABType DEFAULT_BIRD_ON_SLINGSHOT = ABType.BlueBird; + + // focus point + private int focus_x; + private int focus_y; + // Wrapper of the communicating messages + private HexActionRobot ar; + + private TrajectoryPlanner tp; + + private StrategyManager strategyManager; + + private boolean firstShoot; + + private BufferedImage screenshot; + + //commented out because it's not used +// private Rectangle currentBirdRect; + + public HexAgent(HexActionRobot ar) throws Exception { + this(ar, (byte)1); + } + + public HexAgent(HexActionRobot ar, byte startingLevel) throws Exception { + this.ar = ar; + this.tp = new TrajectoryPlanner(); + this.firstShoot = true; + + byte[] configureData = ar.configure(ClientActionRobot + .intToByteArray(Configuration.getTeamID())); + if (BenchmarkStrategy.BENCHMARK) { + this.strategyManager = new BenchmarkStrategy(ar, startingLevel, configureData); + } else { + this.strategyManager = new DeclarativeStrategy(ar, startingLevel, configureData); + } + + DebugUtils.init(this.strategyManager); + + Memory.init(); + } + + /** + * Run the Client (Naive Agent) + */ + public void run() { + + Log.info("Starting client..."); + + // load the initial level (default 1) + strategyManager.loadCurrentLevel(); + + while (true) { + + if (DebugUtils.DEBUG) { + DebugUtils.initBenchmarkParametersValues(); + DebugUtils.addTime(System.nanoTime()); + DebugUtils.setCurrentLevel(strategyManager.getCurrentLevel()); + DebugUtils.setCurrentTurn(strategyManager.getCurrentTurn()); + } + + Log.info("Solve step."); + GameState state = solve(); + strategyManager.increaseCurrentTurn(); + firstShoot = false; + + if (DebugUtils.DEBUG) + DebugUtils.addTime(System.nanoTime()); + + if (state == GameState.WON || state == GameState.LOST) { + + if (BenchmarkStrategy.BENCHMARK) { + if (state == GameState.WON) { + int score = gse.getScoreEndGame(ar.doScreenShot()); + strategyManager.updateScore(score); + Log.fine("WON|score: " + score); + } else { + strategyManager.updateScore(0); + Log.fine("LOST|score: 0"); + } + } + + strategyManager.loadNewLevel(state); + + if (state == GameState.WON && DebugUtils.DEBUG) { + try { + strategyManager.saveScores("scores.csv"); + } catch (IOException e) { + Log.warning("cannot save scores: " + e.getMessage()); + } + + } + // make a new trajectory planner whenever a new level is entered + tp = new TrajectoryPlanner(); + firstShoot = true; + } else if (state == GameState.LEVEL_SELECTION) { + Log.info("unexpected level selection page, go to the last current level : " + + strategyManager.getCurrentLevel()); + ar.loadLevel(strategyManager.getCurrentLevel()); + + firstShoot = true; + } else if (state == GameState.MAIN_MENU) { + Log.info("unexpected main menu page, reload the level : " + + strategyManager.getCurrentLevel()); + ar.loadLevel(strategyManager.getCurrentLevel()); + + firstShoot = true; + } else if (state == GameState.EPISODE_MENU) { + Log.info("unexpected episode menu page, reload the level: " + + strategyManager.getCurrentLevel()); + ar.loadLevel(strategyManager.getCurrentLevel()); + + firstShoot = true; + } + + if (DebugUtils.DEBUG) { + DebugUtils.addTime(System.nanoTime()); + DebugUtils.saveBenchmark(); + } + + } + } + + /** + * Solve a particular level by shooting birds directly to pigs + * + * @return GameState: the game state after shots. + */ + public GameState solve() { + + // capture Image + screenshot = ar.doScreenShot(); + // process image + Vision vision = new Vision(screenshot); + //just for ground + OurVision ourVision = new OurVision(screenshot); + + Rectangle sling = vision.findSlingshotRealShape(); + ABType currentBird; + // + // Tries to use more precision for understanding the current Bird Color + // + // ar.clickInCenter(); + ar.fullyZoomIn(); + Vision birdVision = new Vision(ar.doScreenShot()); + Rectangle sling2 = birdVision.findSlingshotRealShape(); + + if (DebugUtils.DEBUG) + DebugUtils.addTime(System.nanoTime()); + + // + // Determines the bird type at hand. + // + currentBird = getBirdType(birdVision, sling2); + //If the first recognition failed, try to recognize the bird again + if (currentBird == null){ + ar.fullyZoomOut(); + try { + Thread.sleep(1500); + } catch (InterruptedException e) { + e.printStackTrace(); + } + Log.info("Re-do bird recognition."); + ar.fullyZoomIn(); + birdVision = new Vision(ar.doScreenShot()); + sling2 = birdVision.findSlingshotRealShape(); + currentBird = getBirdType(birdVision, sling2); + if (currentBird == null){ + currentBird = DEFAULT_BIRD_ON_SLINGSHOT; + } + } + + if (DebugUtils.DEBUG) + DebugUtils.addTime(System.nanoTime()); + + // If the level is loaded (in PLAYING state)but no slingshot detected, + // then the agent will request to fully zoom out. + Log.info("Zooming out again.."); + ar.fullyZoomOut(); + + if (DebugUtils.DEBUG) + DebugUtils.addTime(System.nanoTime()); + + while (sling == null && ar.checkState() == GameState.PLAYING) { + Log.info("no slingshot detected. Please remove pop up or zoom out"); + ar.fullyZoomOut(); + screenshot = ar.doScreenShot(); + vision = new Vision(screenshot); + sling = vision.findSlingshotRealShape(); + } + + if (DebugUtils.DEBUG) + DebugUtils.addTime(System.nanoTime()); + + Log.info("Checking state.."); + GameState state = ar.checkState(); + Log.info("State is.." + state.name()); + int tap_time = 0; + + if (DebugUtils.DEBUG) + DebugUtils.addTime(System.nanoTime()); + + // if there is a sling, then play, otherwise skip. + if (sling != null) { + + ar.fullyZoomOut(); + + if (DebugUtils.DEBUG) + DebugUtils.addTime(System.nanoTime()); + + if (!vision.findPigsMBR().isEmpty()) { + Point releasePoint; + { + Target result; + + if (DebugUtils.DEBUG) { + DebugUtils.setCurrentBird(currentBird.name()); + DebugUtils.addBirds(birdVision.findBirdsMBR()); + DebugUtils.setN_pigs(vision.findPigsMBR().size()); + DebugUtils.addBlocks(vision.findBlocksRealShape()); + DebugUtils.setN_hills(ourVision.detectGround().size()); + DebugUtils.setN_tnt(vision.findTNTs().size()); + } + + if (DebugUtils.DEBUG) + DebugUtils.addTime(System.nanoTime()); + + try { + // invoke reasoner + result = reason(vision, ourVision, tp, currentBird); + } + // If there is an exception just return the game state, + // so the shot will be attempted again. + catch (UnsupportedOperationException e) { + Log.severe("error calling reasoner: " + e.getMessage()); + return ar.checkState(); + } catch (IOException e) { + Log.severe("error calling reasoner: " + e.getMessage()); + return ar.checkState(); + } catch (InterruptedException e) { + Log.severe("error calling reasoner: " + e.getMessage()); + return ar.checkState(); + } + + if (DebugUtils.DEBUG) + DebugUtils.addTime(System.nanoTime()); + + Point _tpt = result.target; + + Log.info(String.format("TGT: %s TR: %s", _tpt, (result.trajectory == 0) ? "low" : "high")); + + // estimate the trajectory + ArrayList pts = tp.estimateLaunchPoint(sling, _tpt); + if (pts.size() == 1) { + releasePoint = pts.get(0); + } else { + releasePoint = pts.get(result.trajectory); + } + + Point refPoint = tp.getReferencePoint(sling); + // focus_x = (int) currentBirdRect.getCenterX(); + // focus_y = (int) currentBirdRect.getCenterY(); + // Get the center of the active bird as focus point + focus_x = (int) ((Env.getFocuslist() + .containsKey(strategyManager.getCurrentLevel())) ? Env + .getFocuslist() + .get(strategyManager.getCurrentLevel()).getX() + : refPoint.x); + focus_y = (int) ((Env.getFocuslist() + .containsKey(strategyManager.getCurrentLevel())) ? Env + .getFocuslist() + .get(strategyManager.getCurrentLevel()).getY() + : refPoint.y); + // System.out.print("FX:"+focus_x+" FY:"+focus_y+" RP: " + + // releasePoint+" "); + + // Get the release point from the trajectory prediction + // module + if (releasePoint != null) { + //commented out because it's not used +// double releaseAngle = tp.getReleaseAngle(sling, +// releasePoint); + //System.out.print("ANG : " + // + Math.toDegrees(releaseAngle)+ " Tap Coeff:"+result.tapCoeff+" "); + + // Tap Coefficient now comes from reasoning + tap_time = getTapTime((int) _tpt.x, tp, sling, + releasePoint, result.tapCoeff / 100.0, + currentBird); + Log.info("Tap time: " + tap_time); + } else { + Log.severe("releasePoint is null!"); + } + } + + // checks whether the slingshot is changed. the change of the + // slingshot indicates a change in the scale. + { + +// ar.fullyZoomOut(); +// screenshot = ar.doScreenShot(); +// vision = new Vision(screenshot); +// Rectangle _sling = vision.findSlingshot(); +// if (sling.equals(_sling)) +// { +// +// // make the shot +// ar.shoot(focus_x, focus_y, (int) releasePoint.getX() +// - focus_x, (int) releasePoint.getY() - focus_y, +// 0, tap_time, false); + + if (DebugUtils.DEBUG) + DebugUtils.addTime(System.nanoTime()); + + // New method, tries to improve performance by not waiting + // 15 still not losing shoots. + quickShoot(focus_x, focus_y, (int) releasePoint.getX() + - focus_x, (int) releasePoint.getY() - focus_y, 0, + tap_time, false); + Log.info("Shot done."); + + if (DebugUtils.DEBUG) + DebugUtils.addTime(System.nanoTime()); + + // additional screenshot + screenshot = ar.doScreenShot(); + // check the state after the shot + state = ar.checkState(); + //screenshot = ar.doScreenShot(); + // update parameters after a shot is made + if (state == GameState.PLAYING) { + vision = new Vision(screenshot); + List traj = vision.findTrajPoints(); + tp.adjustTrajectory(traj, sling, releasePoint); + } +// else +// System.out +// .println("scale is changed, can not execute the shot, will re-segement the image"); + + if (DebugUtils.DEBUG) + DebugUtils.addTime(System.nanoTime()); + + } + } + } + return state; + } + + private void quickShoot(int focus_x2, int focus_y2, int i, int j, int k, + int tap_time, boolean polar) { + ar.fastshoot(focus_x2, focus_y2, i, j, k, tap_time, polar); + BufferedImage screenshot = ar.doScreenShot(); + BufferedImage image = null; + int waitSeconds = 0; + while ((image == null) + || (waitSeconds <= 15 && VisionUtils.numPixelsDifferent( + screenshot, image) > Configuration + .getFastshootThreshold())) { + + // update frame count + image = screenshot; + try { + Thread.sleep(1000); + waitSeconds++; + } catch (InterruptedException e) { + Log.severe(e.getMessage()); + } + screenshot = ar.doScreenShot_(); + } + } + + //commented out because it's not used +// private static final double speedRatio = 3.1115090723; + //commented out because it's not used +// private static final double speedRatioX = Configuration.getSpeedRatio(); + + /** + * This function gets the tap time. It calculates the waiting time needed so + * that the bird will be tapped at approximately the position tapX. + */ + private int getTapTime(int targetX, TrajectoryPlanner tp, + Rectangle slingshot, Point launchPoint, double fraction, ABType b) { + //double dist = getDistance(tp, slingshot, launchPoint, targetX); + Point tapPoint = getAnticipatedPoint(tp,slingshot, launchPoint, targetX, fraction); + //return (int) ((dist / (tp.getSceneScale(slingshot) * speedRatio)) * 1000); + //commented out because it's not used +// double angle = tp.getReleaseAngle(slingshot,launchPoint); + // + // Our estimate + // + //return (int) (tapPoint.getX() / (Configuration.getSpeedRatioByBird(b) * Math.cos(angle) * tp.getVelocity(angle)) * 10); + // + // Organizers estimate + // + return tp.getTapTime(slingshot, launchPoint, tapPoint); + + } + + private Point getAnticipatedPoint(TrajectoryPlanner tp2, Rectangle slingshot, + Point launchPoint, int targetX, double fraction) { + // + // Follows the parabola perimeter and find the X coordinate closer to the fraction*parabola + // + + List ps = tp + .predictTrajectory(slingshot, launchPoint); + double dist = 0; + for (int i = 0; i < ps.size() - 1 && ps.get(i).x < targetX; i++) { + dist += Math.sqrt(Math.pow(ps.get(i).x - ps.get(i + 1).x, 2) + + Math.pow(ps.get(i).y - ps.get(i + 1).y, 2)); + } + double targetDist = dist*fraction; + Log.info("Points:"+ps.size()+" Dist: "+dist+" TargetDist:"+targetDist); + dist = 0; + Point lastX = new Point(); + for (int i = 0; i < ps.size() - 1 && dist < targetDist; i++) { + dist += Math.sqrt(Math.pow(ps.get(i).x - ps.get(i + 1).x, 2) + + Math.pow(ps.get(i).y - ps.get(i + 1).y, 2)); + + // FIXME Check if precision is enough without averaging between x and x+1 + lastX = ps.get(i); + } + System.out.println("TargetX: "+targetX+" TapX:"+lastX); + return lastX; + } + + //commented out because it's not used +// private double getDistance(TrajectoryPlanner tp, Rectangle slingshot, +// Point launchPoint, int xPosition) { +// List ps = tp +// .predictTrajectory(slingshot, launchPoint); +// double dist = 0; +// for (int i = 0; i < ps.size() - 1 && ps.get(i).x < xPosition; i++) { +// dist += Math.sqrt(Math.pow(ps.get(i).x - ps.get(i + 1).x, 2) +// + Math.pow(ps.get(i).y - ps.get(i + 1).y, 2)); +// } +// return dist; +// } + + /** + * The method that does all the reasoning. It takes the vision component and + * returns the best shot according to our HEX program. + * + * @param tp + * + * @return A result instance, containing the target and the trajectory to be + * used. + * @throws IOException + * @throws UnsupportedOperationException + * @throws InterruptedException + */ + private Target reason(Vision vision, OurVision ourVision, TrajectoryPlanner tp, ABType currentBird) + throws UnsupportedOperationException, IOException, InterruptedException { + Log.info("Reasoning..."); + + VisionFact visionFacts = new VisionFact(vision, ourVision, TargetReasoner.getInstance(),tp); + visionFacts.createFacts(currentBird); + + BufferedImage img = DebugUtils.drawObjectsWithID(screenshot, visionFacts.getABObjects()); + DebugUtils.showImage(img); + DebugUtils.saveScreenshot(img, String.format("level_%d_%d", (int)strategyManager.getCurrentLevel(), strategyManager.getCurrentTurn())); + + // If it's the first shoot it load the targets selected before + if (firstShoot) { + // load memory for current level + List targets = Memory.load(strategyManager.getCurrentLevel()); + // It finds the objects more similar to the previous targets + for (Point.Double point : targets) { + for (int i = 0; i < visionFacts.getABObjects().size(); i++) { + ABObject rr = visionFacts.getABObject(i); + if (rr.contains(point)) { + String ss = String.format(":- target(%s,_).", i); + TargetReasoner.getInstance().addFact(ss); + break; + } + } + } + } + + if (DebugUtils.DEBUG) + DebugUtils.addTime(System.nanoTime()); + + Log.info("Calling HEX..."); + // Now we call HEX to evaluate our program. + TargetReasoner.getInstance().reason(currentBird); + Log.info("Called HEX"); + + if (DebugUtils.DEBUG) + DebugUtils.addTime(System.nanoTime()); + + // We extract the solution(s) of the program and select a random one. + // All solutions to the hex program should be reasonably reasonable. No + // solution should be significantly worse than the others and the best + // solutions should be included. Therefore we can just select any one of + // them at random. + List answers = TargetReasoner.getInstance() + .getTargets(); + + if (answers.size() == 0) { + Log.warning("No answer set found"); + List pigs = vision.findPigsMBR(); + + ABObject pig = pigs.get((new Random()).nextInt(pigs.size())); + return new Target(new Point((int) pig.getCenterX(), + (int) pig.getCenterY()), (new Random()).nextInt(2), + 80 + (new Random()).nextInt(31)); + } + + TargetReasoner.TargetData answer = answers.get(new Random() + .nextInt(answers.size())); + + ABObject answerObject = visionFacts.getABObject(answer.id); + Log.info("///////////"); + Log.info(answer.toString()); + Log.info("///////////"); + + // If it's the first shoot it saves on file the target + if (firstShoot) { + Memory.store(strategyManager.getCurrentLevel(), + answerObject.getCenter()); + } + + // + // Builds target point depending on trajectory and offset: right face for low traj, upper face for high traj + // +// double x_target = answer.trajectory == 0 ? answerRectangle.center.x - answerRectangle.size.width/2 : answerRectangle.center.x; +// double y_target = answer.trajectory == 1 ? answerRectangle.center.y + answerRectangle.size.height/2 : +// Math.max(0,answerRectangle.center.y-answerRectangle.size.height*answer.yoffsetRatio/2); +// + double x_target; + double y_target; + if (answer.eggMode) { + x_target = answerObject.getCenterX(); + y_target = answer.yoffsetRatio; + } else { + x_target = answer.trajectory == 0 ? answerObject.getCenterX() - answerObject.width/2 : answer.yoffsetRatio; + y_target = answer.trajectory == 1 ? answerObject.getCenterY() - answerObject.height/2 : answer.yoffsetRatio; + } + + return new Target(new Point((int) x_target, (int) y_target), answer.trajectory, answer.tapCoeff); + } + +// public boolean targetProbablyEquals(RotatedRect r1, RotatedRect r2) { +// +// boolean equals = false; +// +// if (Math.sqrt(Math.pow(r1.center.x - r2.center.x, 2) +// + Math.pow(r1.center.y - r2.center.y, 2)) < 3) +// equals = true; +// +// return equals; +// +// } + + // + // Gets bird type, side effect updates currentBird. + // + private ABType getBirdType(Vision vision, Rectangle slingshot) { + ABType type = null; + try { + //commented out because it's not used +// Rectangle closest = null; + double bestDist = 0; + List birds = vision.findBirdsMBR(); + // Log.info(b.name() + ":" + birds.size() + " "); + + for (ABObject bird : birds) { + // + // Purposely considers the (centerX, minY) coordinate for + // the slingshot. + // + double val = Point2D.distance(bird.getCenterX(), + bird.getCenterY(), slingshot.getCenterX(), + slingshot.getY()); + if (val < bestDist || bestDist == 0) { + type = bird.type; + bestDist = val; + //commented out because it's not used +// closest = bird; + } + } + //commented out because it's not used +// currentBirdRect = closest; + Log.info("BT:" + type.name()); + } catch (NullPointerException e) { + // TODO catching a NullPointerException is very bad practice + // check if null via 'if' + Log.severe("No bird type recognized."); + } + return type; + } + + /** + * A class that serves as the return value of the reasoning function, + * because not only the target point but also the trajectory needs to be + * returned. + */ + class Target { + /** + * The trajectory, 0 for low, 1 for high. + */ + public int trajectory; + /** + * Tap coefficient, percentage variation on the tap time. + */ + public int tapCoeff; + /** + * The target point that the bird will be shot at. + */ + public Point target; + + //public double yoffsetRatio; + + public Target(Point ta, int tr, int tap) { + trajectory = tr; + target = ta; + tapCoeff = tap; + //yoffsetRatio = yoffset; + } + } + + //commented out because it's not used +// private static RotatedRect convertRectangleToRotatedRect(Rectangle r) { +// return new RotatedRect(new org.opencv.core.Point(r.getCenterX(), +// r.getCenterY()), new org.opencv.core.Size(r.getSize() +// .getWidth(), r.getSize().getHeight()), 0); +// } +} diff --git a/src/angryhexclient/HexMainEntry.java b/src/angryhexclient/HexMainEntry.java new file mode 100644 index 0000000..af6a9a3 --- /dev/null +++ b/src/angryhexclient/HexMainEntry.java @@ -0,0 +1,72 @@ +/******************************************************************************* + * Angry-HEX - an artificial player for Angry Birds based on declarative knowledge bases + * Copyright (C) 2012-2015 Francesco Calimeri, Michael Fink, Stefano Germano, Andreas Humenberger, Giovambattista Ianni, Christoph Redl, Daria Stepanova, Andrea Tucci, Anton Wimmer. + * + * This file is part of Angry-HEX. + * + * Angry-HEX is free software: you can redistribute it and/or modify it under the terms of the GNU Affero General Public License as published by the Free Software Foundation, either version 3 of the License, or (at your option) any later version. + * + * Angry-HEX is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU Affero General Public License for more details. + * + * You should have received a copy of the GNU Affero General Public License along with this program. If not, see . + *******************************************************************************/ +package angryhexclient; + +import java.io.IOException; +import java.util.logging.Level; +import java.util.logging.Logger; + +import angryhexclient.util.LogFormatter; +import angryhexclient.util.OutConsoleHandler; + +public class HexMainEntry { + + private static Logger Log = Logger.getLogger(Logger.GLOBAL_LOGGER_NAME); + + // the entry of the software + public static void main(String args[]) { + + // setup logger + // TODO distinguish debug levels + OutConsoleHandler ch = new OutConsoleHandler(); + ch.setFormatter(new LogFormatter()); + ch.setLevel(Level.ALL); + Log.addHandler(ch); + Log.setLevel(Level.ALL); + + // // load OpenCV + if (Configuration.getOpencvNativePath() == null) { + System.loadLibrary("opencv_java246"); + } else { + System.load(Configuration.getOpencvNativePath()); + } + + // Rips off any dlvhex2 processes which were left + try { + Runtime.getRuntime().exec("killall -9 dlvhex2"); + } catch (IOException e1) { + Log.warning("cannot killall dlvhex2"); + } + + // check arguments for ip address and initial level + byte initialLevel = 1; + String ipaddress = "127.0.0.1"; + if (args.length > 0) { + ipaddress = args[0]; + + if (args.length > 2 && args[1].equals("-level")) { + initialLevel = (byte) Integer.parseInt(args[2]); + } + } + + // setup agent + try { + HexActionRobot ar = new HexActionRobot(ipaddress); + HexAgent ha = new HexAgent(ar, initialLevel); + Thread haThread = new Thread(ha); + haThread.start(); + } catch (Exception e) { + Log.severe("Cannot init agent: " + e.getMessage()); + } + } +} diff --git a/src/angryhexclient/Memory.java b/src/angryhexclient/Memory.java new file mode 100644 index 0000000..98b3932 --- /dev/null +++ b/src/angryhexclient/Memory.java @@ -0,0 +1,92 @@ +/******************************************************************************* + * Angry-HEX - an artificial player for Angry Birds based on declarative knowledge bases + * Copyright (C) 2012-2015 Francesco Calimeri, Michael Fink, Stefano Germano, Andreas Humenberger, Giovambattista Ianni, Christoph Redl, Daria Stepanova, Andrea Tucci, Anton Wimmer. + * + * This file is part of Angry-HEX. + * + * Angry-HEX is free software: you can redistribute it and/or modify it under the terms of the GNU Affero General Public License as published by the Free Software Foundation, either version 3 of the License, or (at your option) any later version. + * + * Angry-HEX is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU Affero General Public License for more details. + * + * You should have received a copy of the GNU Affero General Public License along with this program. If not, see . + *******************************************************************************/ +package angryhexclient; + +import java.awt.Point; +import java.io.BufferedReader; +import java.io.File; +import java.io.FileNotFoundException; +import java.io.FileReader; +import java.io.FileWriter; +import java.io.IOException; +import java.io.PrintWriter; +import java.util.LinkedList; +import java.util.List; +import java.util.logging.Logger; + +import angryhexclient.util.Utils; + +public class Memory { + + private static Logger Log = Logger.getLogger(Logger.GLOBAL_LOGGER_NAME); + + final public static String MEMORY_DIR = System.getProperty("user.dir") + File.separator + "memory"; + final public static String DELIMITER = ";"; + + public static void init() { + try { + // it's not needed because we delete the directory in the StrategyManager +// if (DebugUtils.DEBUG) { +// Utils.deleteDir(MEMORY_DIR); +// } + if (!new File(MEMORY_DIR).exists()) { + Utils.createDir(MEMORY_DIR); + } + } catch (IOException e) { + Log.severe("cannot init memory"); + } catch (InterruptedException e) { + Log.severe("cannot init memory"); + } + } + + private static String getMemFilename(int level) { + return String.format("%s%slevel%d.mem", MEMORY_DIR, File.separator, level); + } + + public static List load(int level) { + List points = new LinkedList(); + + File file = new File(getMemFilename(level)); + if (!file.exists()) { + Log.info("memory file does not exist: " + file.getName()); + return points; + } + BufferedReader reader = null; + try { + reader = new BufferedReader(new FileReader(file)); + String line; + while ((line = reader.readLine()) != null) { + String[] coord = line.split(DELIMITER); + double x = Double.parseDouble(coord[0]); + double y = Double.parseDouble(coord[1]); + points.add(new Point.Double(x, y)); + } + reader.close(); + } catch (FileNotFoundException e) { + Log.warning("could not read memory: " + e.getMessage()); + } catch (IOException e) { + Log.warning("could not read memory: " + e.getMessage()); + } + return points; + } + + public static void store(int level, Point p) { + try { + PrintWriter printer = new PrintWriter(new FileWriter(getMemFilename(level), true)); + printer.println(p.x + DELIMITER + p.y); + printer.close(); + } catch (IOException e) { + Log.warning("could not store point for level " + level); + } + } +} diff --git a/src/angryhexclient/OurVision.java b/src/angryhexclient/OurVision.java new file mode 100644 index 0000000..97f767b --- /dev/null +++ b/src/angryhexclient/OurVision.java @@ -0,0 +1,1476 @@ +/***************************************************************************** + ** ANGRYBIRDS AI AGENT FRAMEWORK + ** Copyright (c) 2013, 2015,XiaoYu (Gary) Ge, Stephen Gould,Jochen Renz + ** Sahan Abeyasinghe, Jim Keys, Kar-Wai Lim, Zain Mubashir, Andrew Wang, Peng Zhang + ** All rights reserved. + **This work is licensed under the Creative Commons Attribution-NonCommercial-ShareAlike 3.0 Unported License. + **To view a copy of this license, visit http://creativecommons.org/licenses/by-nc-sa/3.0/ + *or send a letter to Creative Commons, 444 Castro Street, Suite 900, Mountain View, California, 94041, USA. + *****************************************************************************/ + +package angryhexclient; + +import java.awt.Point; +import java.awt.Rectangle; +import java.awt.image.BufferedImage; +import java.util.ArrayList; +import java.util.Arrays; +import java.util.HashSet; +import java.util.LinkedList; +import java.util.List; +import java.util.Set; +import java.util.logging.Logger; + +import org.opencv.core.CvType; +import org.opencv.core.Mat; +import org.opencv.core.MatOfPoint; +import org.opencv.core.MatOfPoint2f; +import org.opencv.core.RotatedRect; +import org.opencv.core.Scalar; +import org.opencv.core.Size; +import org.opencv.imgproc.Imgproc; + +import Jama.Matrix; +import ab.vision.BirdType; +import ab.vision.VisionUtils; + +/* OurVision ----------------------------------------------------------------- */ + +public class OurVision +{ + + private int _nHeight; // height of the scene + private int _nWidth; // width of the scene + private int _scene[][]; // quantized scene colours + private int _nSegments; // number of segments + private int _segments[][]; // connected components (0 to _nSegments) + private int _colours[]; // colour for each segment + private Rectangle _boxes[]; // bounding box for each segment + private int _regionThreshold = 10; // minimal pixels in a region + + private static Logger Log = Logger.getLogger(Logger.GLOBAL_LOGGER_NAME); + + // create a vision object for processing a given screenshot + public OurVision(BufferedImage screenshot) + { + processScreenShot(screenshot); + } + + // find slingshot + // only return one rectangle + public Rectangle findSlingshot() + { + Rectangle obj; + + // test for slingshot (mainly 345) + //commented out because it's not used +// int nPixel = _nWidth * _nHeight; + Boolean ignorePixel[][] = new Boolean[_nHeight][_nWidth]; + + for (int i = 0; i < _nHeight; i++) + { + for (int j = 0; j < _nWidth; j++) + { + ignorePixel[i][j] = false; + } + } + + for (int i = 0; i < _nHeight; i++) + { + for (int j = 0; j < _nWidth; j++) + { + if ((_scene[i][j] != 345) || ignorePixel[i][j]) + continue; + obj = new Rectangle(j, i, 0, 0); + LinkedList l = new LinkedList(); + + LinkedList pointsinRec = new LinkedList(); + + l.add(new Point(j, i)); + ignorePixel[i][j] = true; + while (true) + { + if (l.isEmpty()) + break; + Point p = l.pop(); + // check if the colours of the adjacent points of p is + // belong to slingshot + + // check underneath pixel + if (p.y < _nHeight - 1) + if ((_scene[p.y + 1][p.x] == 345 + || _scene[p.y + 1][p.x] == 418 + || _scene[p.y + 1][p.x] == 273 + || _scene[p.y + 1][p.x] == 281 + || _scene[p.y + 1][p.x] == 209 + || _scene[p.y + 1][p.x] == 346 + || _scene[p.y + 1][p.x] == 354 + || _scene[p.y + 1][p.x] == 282 || _scene[p.y + 1][p.x] == 351) + && !ignorePixel[p.y + 1][p.x]) + { + l.add(new Point(p.x, p.y + 1)); + obj.add(p.x, p.y + 1); + pointsinRec.add(new Point(p.x, p.y + 1)); + } + + // check right pixel + if (p.x < _nWidth - 1) + if ((_scene[p.y][p.x + 1] == 345 + || _scene[p.y][p.x + 1] == 418 + || _scene[p.y][p.x + 1] == 346 + || _scene[p.y][p.x + 1] == 354 + || _scene[p.y][p.x + 1] == 273 + || _scene[p.y][p.x + 1] == 281 + || _scene[p.y][p.x + 1] == 209 + || _scene[p.y][p.x + 1] == 282 || _scene[p.y][p.x + 1] == 351) + && !ignorePixel[p.y][p.x + 1]) + { + l.add(new Point(p.x + 1, p.y)); + obj.add(p.x + 1, p.y); + pointsinRec.add(new Point(p.x, p.y + 1)); + } + + // check upper pixel + if (p.y > 0) + if ((_scene[p.y - 1][p.x] == 345 + || _scene[p.y - 1][p.x] == 418 + || _scene[p.y - 1][p.x] == 346 + || _scene[p.y - 1][p.x] == 354 + || _scene[p.y - 1][p.x] == 273 + || _scene[p.y - 1][p.x] == 281 + || _scene[p.y - 1][p.x] == 209 + || _scene[p.y - 1][p.x] == 282 || _scene[p.y - 1][p.x] == 351) + && !ignorePixel[p.y - 1][p.x]) + { + l.add(new Point(p.x, p.y - 1)); + obj.add(p.x, p.y - 1); + pointsinRec.add(new Point(p.x, p.y + 1)); + } + + // check left pixel + if (p.x > 0) + if ((_scene[p.y][p.x - 1] == 345 + || _scene[p.y][p.x - 1] == 418 + || _scene[p.y][p.x - 1] == 346 + || _scene[p.y][p.x - 1] == 354 + || _scene[p.y][p.x - 1] == 273 + || _scene[p.y][p.x - 1] == 281 + || _scene[p.y][p.x - 1] == 209 + || _scene[p.y][p.x - 1] == 282 || _scene[p.y][p.x - 1] == 351) + && !ignorePixel[p.y][p.x - 1]) + { + l.add(new Point(p.x - 1, p.y)); + obj.add(p.x - 1, p.y); + pointsinRec.add(new Point(p.x, p.y + 1)); + } + + // ignore checked pixels + if (p.y < _nHeight - 1) + ignorePixel[p.y + 1][p.x] = true; + if (p.x < _nWidth - 1) + ignorePixel[p.y][p.x + 1] = true; + if (p.y > 0) + ignorePixel[p.y - 1][p.x] = true; + if (p.x > 0) + ignorePixel[p.y][p.x - 1] = true; + + } + int[] hist = histogram(obj); + + // abandon shelf underneath + if (obj.height > 10) + { + Rectangle col = new Rectangle(obj.x, obj.y, 1, obj.height); + int[] histCol = histogram(col); + //commented out because it's not used +// int ColColour = histCol[345] + histCol[418] + histCol[346] +// + histCol[354] + histCol[273] + histCol[281] +// + histCol[209] + histCol[280] + histCol[351]; + + if (_scene[obj.y][obj.x] == 511 + || _scene[obj.y][obj.x] == 447) + { + for (int m = obj.y; m < obj.y + obj.height; m++) + { + if (_scene[m][obj.x] == 345 + || _scene[m][obj.x] == 418 + || _scene[m][obj.x] == 346 + || _scene[m][obj.x] == 354 + || _scene[m][obj.x] == 273 + || _scene[m][obj.x] == 281 + || _scene[m][obj.x] == 209 + || _scene[m][obj.x] == 282 + || _scene[m][obj.x] == 351) + { + obj.setSize(obj.width, m - obj.y); + break; + } + } + } + + while (histCol[511] >= obj.height * 0.8) + { + obj.setBounds(obj.x + 1, obj.y, obj.width - 1, + obj.height); + col = new Rectangle(obj.x + 1, obj.y, 1, obj.height); + histCol = histogram(col); + } + + col = new Rectangle(obj.x + obj.width, obj.y, 1, obj.height); + histCol = histogram(col); + while (histCol[511] >= obj.height * 0.8 && obj.height > 10) + { + obj.setSize(obj.width - 1, obj.height); + col = new Rectangle(obj.x + obj.width, obj.y, 1, + obj.height); + histCol = histogram(col); + } + } + + if (obj.width > obj.height) + continue; + + if ((hist[345] > Math.max(32, 0.1 * obj.width * obj.height)) + && (hist[64] != 0)) + { + obj.add(new Rectangle(obj.x - obj.width / 10, obj.y + - obj.height / 3, obj.width / 10 * 12, + obj.height / 3 * 4)); + return obj; + } + } + } + return null; + } + + // find pigs in the current scene + public List findPigs() + { + ArrayList objects = new ArrayList(); + + // find candidates + Boolean ignore[] = new Boolean[_nSegments]; + Arrays.fill(ignore, false); + + for (int n = 0; n < _nSegments; n++) + { + if ((_colours[n] != 376) || ignore[n]) + continue; + + // dilate bounding box of colour 376 + Rectangle bounds = VisionUtils.dialateRectangle(_boxes[n], + _boxes[n].width / 2 + 1, _boxes[n].height / 2 + 1); + Rectangle obj = _boxes[n]; + + // look for overlapping bounding boxes of colour 376 + for (int m = n + 1; m < _nSegments; m++) + { + if (_colours[m] != 376) + continue; + final Rectangle bounds2 = VisionUtils.dialateRectangle( + _boxes[m], _boxes[m].width / 2 + 1, + _boxes[m].height / 2 + 1); + if (bounds.intersects(bounds2)) + { + bounds.add(bounds2); + obj.add(_boxes[m]); + ignore[m] = true; + } + } + + // look for overlapping bounding boxes of colour 250 + Boolean bValidObject = false; + for (int m = 0; m < _nSegments; m++) + { + if (_colours[m] != 250) + continue; + if (bounds.intersects(_boxes[m])) + { + bValidObject = true; + break; + } + } + + // add object if valid + if (bValidObject) + { + obj = VisionUtils.dialateRectangle(obj, obj.width / 2 + 1, + obj.height / 2 + 1); + obj = VisionUtils.cropBoundingBox(obj, _nWidth, _nHeight); + objects.add(obj); + } + } + + return objects; + } + + public List findBirds(BirdType b) + { + //System.out.println("Finding "+b.name()+" birds."); + switch (b) + { + case red: + return findRedBirds(); + case yellow: + return findYellowBirds(); + case blue: + return findBlueBirds(); + case white: + return findWhiteBirds(); + case black: + return findBlackBirds(); + default: + // very useful to understand if someone (perhaps the organizers) + // changes the enum BirdType and we forgot to update this switch + Log.warning("Unknown Bird Type"); + return null; + } + } + + // find birds in the current scene + public List findRedBirds() + { + ArrayList objects = new ArrayList(); + + // test for red birds (385, 488, 501) + Boolean ignore[] = new Boolean[_nSegments]; + Arrays.fill(ignore, false); + + for (int n = 0; n < _nSegments; n++) + { + if ((_colours[n] != 385) || ignore[n]) + continue; + + // dilate bounding box around colour 385 + Rectangle bounds = VisionUtils.dialateRectangle(_boxes[n], 1, + _boxes[n].height / 2 + 1); + Rectangle obj = _boxes[n]; + + // look for overlapping bounding boxes of colour 385 + for (int m = n + 1; m < _nSegments; m++) + { + if (_colours[m] != 385) + continue; + final Rectangle bounds2 = VisionUtils.dialateRectangle( + _boxes[m], 1, _boxes[m].height / 2 + 1); + if (bounds.intersects(bounds2)) + { + bounds.add(bounds2); + obj.add(_boxes[m]); + ignore[m] = true; + } + } + + // look for overlapping bounding boxes of colours 488 and 501 + Boolean bValidObject = false; + for (int m = 0; m < _nSegments; m++) + { + if ((_colours[m] != 488) && (_colours[m] != 501)) + continue; + if (bounds.intersects(_boxes[m])) + { + obj.add(_boxes[m]); + bValidObject = true; + } + } + + if (bValidObject) + { + obj = VisionUtils.cropBoundingBox(obj, _nWidth, _nHeight); + objects.add(obj); + } + } + + return objects; + } + + public List findBlueBirds() + { + ArrayList objects = new ArrayList(); + + // test for blue birds (238) + Boolean ignore[] = new Boolean[_nSegments]; + Arrays.fill(ignore, false); + + for (int n = 0; n < _nSegments; n++) + { + if ((_colours[n] != 238) || ignore[n]) + continue; + + // dilate bounding box around colour 238 + Rectangle bounds = VisionUtils.dialateRectangle(_boxes[n], 1, + _boxes[n].height / 2 + 1); + Rectangle obj = _boxes[n]; + + // look for overlapping bounding boxes of colours 238, 165, 280, + // 344, 488, 416 + for (int m = n + 1; m < _nSegments; m++) + { + if ((_colours[m] != 238) && (_colours[m] != 165) + && (_colours[m] != 280) && (_colours[m] != 344) + && (_colours[m] != 488) && (_colours[m] != 416)) + continue; + final Rectangle bounds2 = VisionUtils.dialateRectangle( + _boxes[m], 2, _boxes[m].height / 2 + 1); + if (bounds.intersects(bounds2)) + { + bounds.add(bounds2); + obj.add(_boxes[m]); + ignore[m] = true; + } + } + + for (int m = n + 1; m < _nSegments; m++) + { + if (_colours[m] != 238) + continue; + final Rectangle bounds2 = VisionUtils.dialateRectangle( + _boxes[m], 2, _boxes[m].height / 2 + 1); + if (bounds.intersects(bounds2)) + { + ignore[m] = true; + } + } + + // look for overlapping bounding boxes of colours 488 + Boolean bValidObject = false; + for (int m = 0; m < _nSegments; m++) + { + if (_colours[m] != 488) + continue; + if (bounds.intersects(_boxes[m])) + { + obj.add(_boxes[m]); + bValidObject = true; + } + } + + if (bValidObject && (obj.width > 3)) + { + obj = VisionUtils.cropBoundingBox(obj, _nWidth, _nHeight); + objects.add(obj); + } + } + + return objects; + } + + public List findYellowBirds() + { + ArrayList objects = new ArrayList(); + + // test for blue birds (497) + Boolean ignore[] = new Boolean[_nSegments]; + Arrays.fill(ignore, false); + + for (int n = 0; n < _nSegments; n++) + { + if ((_colours[n] != 497) || ignore[n]) + continue; + + // dilate bounding box around colour 497 + Rectangle bounds = VisionUtils.dialateRectangle(_boxes[n], 2, 2); + Rectangle obj = _boxes[n]; + + // look for overlapping bounding boxes of colours 497 + for (int m = n + 1; m < _nSegments; m++) + { + if (_colours[m] != 497) + continue; + final Rectangle bounds2 = VisionUtils.dialateRectangle( + _boxes[m], 2, 2); + if (bounds.intersects(bounds2)) + { + bounds.add(bounds2); + obj.add(_boxes[m]); + ignore[m] = true; + } + } + + // confirm secondary colours 288 + obj = VisionUtils.dialateRectangle(obj, 2, 2); + obj = VisionUtils.cropBoundingBox(obj, _nWidth, _nHeight); + int[] hist = histogram(obj); + if (hist[288] > 0) + { + objects.add(obj); + } + } + + return objects; + } + + public List findWhiteBirds() + { + ArrayList objects = new ArrayList(); + + // test for white birds (490) + Boolean ignore[] = new Boolean[_nSegments]; + Arrays.fill(ignore, false); + + for (int n = 0; n < _nSegments; n++) + { + if ((_colours[n] != 490) || ignore[n]) + continue; + + // dilate bounding box around colour 490 + Rectangle bounds = VisionUtils.dialateRectangle(_boxes[n], 2, 2); + Rectangle obj = _boxes[n]; + + // look for overlapping bounding boxes of colour 490 + for (int m = n + 1; m < _nSegments; m++) + { + if (_colours[m] != 490 && _colours[m] != 508 + && _colours[m] != 510) + continue; + final Rectangle bounds2 = VisionUtils.dialateRectangle( + _boxes[m], 2, 2); + if (bounds.intersects(bounds2)) + { + bounds.add(bounds2); + obj.add(_boxes[m]); + ignore[m] = true; + } + } + + // confirm secondary colour 510 + obj = VisionUtils.dialateRectangle(obj, 2, 2); + obj = VisionUtils.cropBoundingBox(obj, _nWidth, _nHeight); + + // Jochen's patch July 25th 2013 + // remove objects too high or too low in the image + // (probably false positives) + if ((obj.y < 60) || (obj.y > 385)) { + continue; + } + + + int[] hist = histogram(obj); + if (hist[510] > 0 && hist[508] > 0) + { + objects.add(obj); + } + } + + return objects; + } + + public List findBlackBirds() + { + ArrayList objects = new ArrayList(); + + // test for white birds (488) + Boolean ignore[] = new Boolean[_nSegments]; + Arrays.fill(ignore, false); + + for (int n = 0; n < _nSegments; n++) + { + if ((_colours[n] != 488) || ignore[n]) + continue; + + // dilate bounding box around colour 488 + Rectangle bounds = VisionUtils.dialateRectangle(_boxes[n], 2, 2); + Rectangle obj = _boxes[n]; + + // look for overlapping bounding boxes of colour 488 + for (int m = n + 1; m < _nSegments; m++) + { + if (_colours[m] != 488 && _colours[m] != 146 + && _colours[m] != 64 && _colours[m] != 0) + continue; + final Rectangle bounds2 = VisionUtils.dialateRectangle( + _boxes[m], 2, 2); + if (bounds.intersects(bounds2)) + { + bounds.add(bounds2); + obj.add(_boxes[m]); + ignore[m] = true; + } + } + + // confirm secondary colour + obj = VisionUtils.dialateRectangle(obj, 2, 2); + obj = VisionUtils.cropBoundingBox(obj, _nWidth, _nHeight); + int[] hist = histogram(obj); + if ((hist[0] > Math.max(32, 0.1 * obj.width * obj.height)) + && hist[64] > 0 && hist[385] == 0) + { + objects.add(obj); + } + } + + return objects; + } + + public List findStonesAsRectangles() + { + List retValue = new ArrayList(); + for (Block b : findStones()) + { + retValue.add(b.rectangle); + } + return retValue; + + } + + public List findStones() + { + ArrayList objects = new ArrayList(); + + // test for stone (mainly 365) + //commented out because it's not used +// int nPixel = _nWidth * _nHeight; + Boolean ignorePixel[][] = new Boolean[_nHeight][_nWidth]; + + for (int i = 0; i < _nHeight; i++) + { + for (int j = 0; j < _nWidth; j++) + { + ignorePixel[i][j] = false; + } + } + + for (int i = 0; i < _nHeight; i++) + { + for (int j = 0; j < _nWidth; j++) + { + if ((_scene[i][j] != 365) || ignorePixel[i][j]) + continue; + Block obj = new Block(j, i); + LinkedList l = new LinkedList(); + l.add(new Point(j, i)); + ignorePixel[i][j] = true; + while (true) + { + if (l.isEmpty()) + break; + Point p = l.pop(); + // check if the colours of the adjacent points of p is + // belong to stone + if (p.y < _nHeight - 1) + if ((_scene[p.y + 1][p.x] == 365) + && !ignorePixel[p.y + 1][p.x]) + { + l.add(new Point(p.x, p.y + 1)); + obj.add(p.x, p.y + 1); + } + if (p.x < _nWidth - 1) + if ((_scene[p.y][p.x + 1] == 365) + && !ignorePixel[p.y][p.x + 1]) + { + l.add(new Point(p.x + 1, p.y)); + obj.add(p.x + 1, p.y); + } + + if (p.y > 0) + if ((_scene[p.y - 1][p.x] == 365) + && !ignorePixel[p.y - 1][p.x]) + { + l.add(new Point(p.x, p.y - 1)); + obj.add(p.x, p.y - 1); + } + + if (p.x > 0) + if ((_scene[p.y][p.x - 1] == 365) + && !ignorePixel[p.y][p.x - 1]) + { + l.add(new Point(p.x - 1, p.y)); + obj.add(p.x - 1, p.y); + } + + if (p.y < _nHeight - 1) + ignorePixel[p.y + 1][p.x] = true; + if (p.x < _nWidth - 1) + ignorePixel[p.y][p.x + 1] = true; + if (p.y > 0) + ignorePixel[p.y - 1][p.x] = true; + if (p.x > 0) + ignorePixel[p.y][p.x - 1] = true; + + } + if (obj.rectangle.width * obj.rectangle.height > _regionThreshold + && !(new Rectangle(0, 0, 190, 55) + .contains(obj.rectangle))) + objects.add(obj); + } + } + return objects; + } + + public List findIceAsRectangles() + { + List retValue = new ArrayList(); + for (Block b : findIce()) + { + retValue.add(b.rectangle); + } + return retValue; + + } + + + public List findIce() + { + ArrayList objects = new ArrayList(); + + // test for ice (mainly 311) + //commented out because it's not used +// int nPixel = _nWidth * _nHeight; + Boolean ignorePixel[][] = new Boolean[_nHeight][_nWidth]; + + for (int i = 0; i < _nHeight; i++) + { + for (int j = 0; j < _nWidth; j++) + { + ignorePixel[i][j] = false; + } + + } + + for (int i = 0; i < _nHeight; i++) + { + for (int j = 0; j < _nWidth; j++) + { + if ((_scene[i][j] != 311) || ignorePixel[i][j]) + continue; + Block obj = new Block(j, i); + LinkedList l = new LinkedList(); + l.add(new Point(j, i)); + ignorePixel[i][j] = true; + while (true) + { + if (l.isEmpty()) + break; + Point p = l.pop(); + // check if the colours of the adjacent points of p is + // belong to ice + if (p.y < _nHeight - 1) + if ((_scene[p.y + 1][p.x] == 311 + || _scene[p.y + 1][p.x] == 247 || _scene[p.y + 1][p.x] == 183) + && !ignorePixel[p.y + 1][p.x]) + { + l.add(new Point(p.x, p.y + 1)); + obj.add(p.x, p.y + 1); + } + if (p.x < _nWidth - 1) + if ((_scene[p.y][p.x + 1] == 311 + || _scene[p.y][p.x + 1] == 247 || _scene[p.y][p.x + 1] == 183) + && !ignorePixel[p.y][p.x + 1]) + { + l.add(new Point(p.x + 1, p.y)); + obj.add(p.x + 1, p.y); + } + if (p.y > 0) + if ((_scene[p.y - 1][p.x] == 311 + || _scene[p.y - 1][p.x] == 247 || _scene[p.y - 1][p.x] == 183) + && !ignorePixel[p.y - 1][p.x]) + { + l.add(new Point(p.x, p.y - 1)); + obj.add(p.x, p.y - 1); + } + if (p.x > 0) + if ((_scene[p.y][p.x - 1] == 311 + || _scene[p.y][p.x - 1] == 247 || _scene[p.y][p.x - 1] == 183) + && !ignorePixel[p.y][p.x - 1]) + { + l.add(new Point(p.x - 1, p.y)); + obj.add(p.x - 1, p.y); + } + + if (p.y < _nHeight - 1) + ignorePixel[p.y + 1][p.x] = true; + if (p.x < _nWidth - 1) + ignorePixel[p.y][p.x + 1] = true; + if (p.y > 0) + ignorePixel[p.y - 1][p.x] = true; + if (p.x > 0) + ignorePixel[p.y][p.x - 1] = true; + + } + if (obj.rectangle.width * obj.rectangle.height > _regionThreshold + && !(new Rectangle(0, 0, 190, 55) + .contains(obj.rectangle))) + objects.add(obj); + } + } + return objects; + } + + public List findWoodAsRectangles() + { + List retValue = new ArrayList(); + for (Block b : findWood()) + { + retValue.add(b.rectangle); + } + return retValue; + } + + public List findWood() + { + ArrayList objects = new ArrayList(); + + // test for wood (mainly 481) + //commented out because it's not used +// int nPixel = _nWidth * _nHeight; + // Boolean ignore[] = new Boolean[_nSegments]; + Boolean ignorePixel[][] = new Boolean[_nHeight][_nWidth]; + + for (int i = 0; i < _nHeight; i++) + { + for (int j = 0; j < _nWidth; j++) + { + ignorePixel[i][j] = false; + } + + } + + for (int i = 0; i < _nHeight; i++) + { + for (int j = 0; j < _nWidth; j++) + { + if ((_scene[i][j] != 481) || ignorePixel[i][j]) + continue; + Block obj = new Block(j, i); + LinkedList l = new LinkedList(); + List pointBag = new ArrayList(); + l.add(new Point(j, i)); + pointBag.add(new Point(j, i)); + ignorePixel[i][j] = true; + while (true) + { + if (l.isEmpty()) + break; + Point p = l.pop(); + // check if the colours of the adjacent points of p is + // belong to wood + if (p.y < _nHeight - 1) + if ((_scene[p.y + 1][p.x] == 481 + || _scene[p.y + 1][p.x] == 408 || _scene[p.y + 1][p.x] == 417) + && !ignorePixel[p.y + 1][p.x]) + { + l.add(new Point(p.x, p.y + 1)); + obj.add(p.x, p.y + 1); + pointBag.add(new Point(p.x, p.y + 1)); + } + if (p.x < _nWidth - 1) + if ((_scene[p.y][p.x + 1] == 481 + || _scene[p.y][p.x + 1] == 408 || _scene[p.y][p.x + 1] == 417) + && !ignorePixel[p.y][p.x + 1]) + { + l.add(new Point(p.x + 1, p.y)); + obj.add(p.x + 1, p.y); + pointBag.add(new Point(p.x + 1, p.y)); + } + if (p.y > 0) + if ((_scene[p.y - 1][p.x] == 481 + || _scene[p.y - 1][p.x] == 408 || _scene[p.y - 1][p.x] == 417) + && !ignorePixel[p.y - 1][p.x]) + { + l.add(new Point(p.x, p.y - 1)); + obj.add(p.x, p.y - 1); + pointBag.add(new Point(p.x, p.y - 1)); + } + if (p.x > 0) + if ((_scene[p.y][p.x - 1] == 481 + || _scene[p.y][p.x - 1] == 408 || _scene[p.y][p.x - 1] == 417) + && !ignorePixel[p.y][p.x - 1]) + { + l.add(new Point(p.x - 1, p.y)); + obj.add(p.x - 1, p.y); + pointBag.add(new Point(p.x - 1, p.y)); + } + + if (p.y < _nHeight - 1) + ignorePixel[p.y + 1][p.x] = true; + if (p.x < _nWidth - 1) + ignorePixel[p.y][p.x + 1] = true; + if (p.y > 0) + ignorePixel[p.y - 1][p.x] = true; + if (p.x > 0) + ignorePixel[p.y][p.x - 1] = true; + + } + if (obj.rectangle.width * obj.rectangle.height > _regionThreshold + && !(new Rectangle(0, 0, 190, 55) + .contains(obj.rectangle))) + objects.add(obj); + } + } + + return objects; + } + + public List findTNTs() + { + ArrayList objects = new ArrayList(); + + Boolean ignore[] = new Boolean[_nSegments]; + Arrays.fill(ignore, false); + + for (int n = 0; n < _nSegments; n++) + { + if ((_colours[n] != 410) || ignore[n]) + continue; + + // dilate bounding box around colour 410 + Rectangle bounds = VisionUtils.dialateRectangle(_boxes[n], 2, 2); + Rectangle obj = _boxes[n]; + + + // look for overlapping bounding boxes of colour 410 + for (int m = n + 1; m < _nSegments; m++) + { + if (_colours[m] != 410 && _colours[m] != 418) + continue; + final Rectangle bounds2 = VisionUtils.dialateRectangle( + _boxes[m], 2, 2); + if (bounds.intersects(bounds2)) + { + bounds.add(bounds2); + obj.add(_boxes[m]); + ignore[m] = true; + } + } + + obj = VisionUtils.dialateRectangle(obj, 2, 2); + obj = VisionUtils.cropBoundingBox(obj, _nWidth, _nHeight); + + // check secondary colour + int[] hist = histogram(obj); + if (hist[457] > 0 && hist[511] > 0) + { + objects.add(obj); + } + } + + return objects; + } + + // find trajectory points + public ArrayList findTrajPoints() + { + ArrayList objects = new ArrayList(); + ArrayList objectsRemovedNoise; + + // test for trajectory points + //commented out because it's not used +// int nPixel = _nWidth * _nHeight; + Boolean ignorePixel[][] = new Boolean[_nHeight][_nWidth]; + + for (int i = 0; i < _nHeight; i++) + { + for (int j = 0; j < _nWidth; j++) + { + ignorePixel[i][j] = false; + } + + } + + for (int i = 0; i < _nHeight; i++) + { + for (int j = 0; j < _nWidth; j++) + { + if ((_scene[i][j] != 365 && _scene[i][j] != 366 && _scene[i][j] != 438) + || ignorePixel[i][j]) + continue; + Rectangle obj = new Rectangle(j, i, 0, 0); + LinkedList l = new LinkedList(); + l.add(new Point(j, i)); + ignorePixel[i][j] = true; + while (true) + { + if (l.isEmpty()) + break; + Point p = l.pop(); + // check if the colours of the adjacent points of p is + // belong to traj Points + if (p.y < _nHeight - 1 && p.x < _nWidth - 1 && p.y > 0 + && p.x > 0) + { + if ((_scene[p.y + 1][p.x] == 365 + || _scene[p.y + 1][p.x] == 366 || _scene[p.y + 1][p.x] == 438) + && !ignorePixel[p.y + 1][p.x]) + { + l.add(new Point(p.x, p.y + 1)); + obj.add(p.x, p.y + 1); + } + + if ((_scene[p.y][p.x + 1] == 365 + || _scene[p.y][p.x + 1] == 366 || _scene[p.y][p.x + 1] == 438) + && !ignorePixel[p.y][p.x + 1]) + { + l.add(new Point(p.x + 1, p.y)); + obj.add(p.x + 1, p.y); + } + + if ((_scene[p.y - 1][p.x] == 365 + || _scene[p.y - 1][p.x] == 366 || _scene[p.y - 1][p.x] == 438) + && !ignorePixel[p.y - 1][p.x]) + { + l.add(new Point(p.x, p.y - 1)); + obj.add(p.x, p.y - 1); + } + + if ((_scene[p.y][p.x - 1] == 365 + || _scene[p.y][p.x - 1] == 366 || _scene[p.y][p.x - 1] == 438) + && !ignorePixel[p.y][p.x - 1]) + { + l.add(new Point(p.x - 1, p.y)); + obj.add(p.x - 1, p.y); + } + + if ((_scene[p.y - 1][p.x - 1] == 365 + || _scene[p.y - 1][p.x - 1] == 366 || _scene[p.y - 1][p.x - 1] == 438) + && !ignorePixel[p.y - 1][p.x - 1]) + { + l.add(new Point(p.x - 1, p.y - 1)); + obj.add(p.x - 1, p.y - 1); + } + + if ((_scene[p.y - 1][p.x + 1] == 365 + || _scene[p.y - 1][p.x + 1] == 366 || _scene[p.y - 1][p.x + 1] == 438) + && !ignorePixel[p.y - 1][p.x + 1]) + { + l.add(new Point(p.x + 1, p.y - 1)); + obj.add(p.x + 1, p.y - 1); + } + + if ((_scene[p.y + 1][p.x + 1] == 365 + || _scene[p.y + 1][p.x + 1] == 366 || _scene[p.y + 1][p.x + 1] == 438) + && !ignorePixel[p.y + 1][p.x + 1]) + { + l.add(new Point(p.x + 1, p.y + 1)); + obj.add(p.x + 1, p.y + 1); + } + + if ((_scene[p.y + 1][p.x - 1] == 365 + || _scene[p.y + 1][p.x - 1] == 366 || _scene[p.y + 1][p.x - 1] == 438) + && !ignorePixel[p.y + 1][p.x - 1]) + { + l.add(new Point(p.x - 1, p.y + 1)); + obj.add(p.x - 1, p.y + 1); + } + + } + if (p.y < _nHeight - 1 && p.x < _nWidth - 1 && p.y > 0 + && p.x > 0) + { + ignorePixel[p.y + 1][p.x] = true; + ignorePixel[p.y][p.x + 1] = true; + + ignorePixel[p.y - 1][p.x] = true; + ignorePixel[p.y][p.x - 1] = true; + + ignorePixel[p.y + 1][p.x + 1] = true; + ignorePixel[p.y - 1][p.x + 1] = true; + ignorePixel[p.y + 1][p.x - 1] = true; + ignorePixel[p.y - 1][p.x - 1] = true; + } + } + + //commented out because it's not used +// Rectangle menu = new Rectangle(0, 0, 205, 60); + if (obj.height * obj.width <= 25) + objects.add(new Point((int) obj.getCenterX(), (int) obj + .getCenterY())); + } + } + + objectsRemovedNoise = (ArrayList) objects.clone(); + + // remove noise points + Matrix W = fitParabola(objects); + double maxError = 10; + Rectangle menu = new Rectangle(0, 0, 205, 60); + + for (Point o : objects) + { + if (Math.abs(W.get(0, 0) * Math.pow(o.x, 2) + W.get(1, 0) * o.x + + W.get(2, 0) - o.y) > maxError) + { + objectsRemovedNoise.remove(o); + } + + if (menu.contains(o)) + { + objectsRemovedNoise.remove(o); + } + } + + return objectsRemovedNoise; + } + + // fit parabola using maximum likelihood + // vector W = (w0,w1,w2)T , y = w0*x^2 + w1*x + w2 + public Matrix fitParabola(List objects) + { + int trainingSize = 60; + double arrayPhiX[][] = new double[trainingSize][3]; // Training set + double arrayY[][] = new double[trainingSize][1]; + + Rectangle sling = this.findSlingshot(); + + Matrix PhiX, Y; + Matrix W = new Matrix(new double[] { 0, 0, 0 }, 3); + int i = 0; + for (Point p : objects) + { + + // if slingshot not detected, abandon side noises + if (sling == null) + { + if (Math.abs(p.x - _nWidth / 2) <= _nWidth / 6 + && p.y <= _nHeight / 5 * 3 && i < trainingSize) + { + arrayPhiX[i][0] = Math.pow(p.x, 2); + arrayPhiX[i][1] = p.x; + arrayPhiX[i][2] = 1; + arrayY[i][0] = p.y; + i++; + } + } + + // if slingshot detected, abandon noises to the left of slingshot + else + { + if (p.x >= sling.getCenterX() + sling.width * 2 + && p.x <= sling.getCenterX() + _nWidth / 3 + && p.y <= sling.getCenterY() && i < trainingSize) + { + arrayPhiX[i][0] = Math.pow(p.x, 2); + arrayPhiX[i][1] = p.x; + arrayPhiX[i][2] = 1; + arrayY[i][0] = p.y; + i++; + } + } + } + + PhiX = new Matrix(arrayPhiX); + Y = new Matrix(arrayY); + + // Maximum likelihood + try + { + W = PhiX.transpose().times(PhiX).inverse().times(PhiX.transpose()) + .times(Y); + } + catch (Exception e) + { + // if Matrix is singular + // do nothing + } + return W; + } + + // train parabola using gradient descent + public Matrix trainParabola(ArrayList objects) + { + + double points[][] = new double[objects.size()][2]; + double alpha = 1e-10; + int trainingSize = 100; + + double trainingSet[][] = new double[trainingSize][2]; + double SquareError; + Matrix deltaError; + + int i = 0, j = 0; + for (Rectangle p : objects) + { + points[i][0] = p.getCenterX(); + points[i][1] = p.getCenterY(); + if (Math.abs(p.getCenterX() - _nWidth / 2) <= _nWidth / 4 + && Math.abs(p.getCenterY() - _nHeight / 2) <= _nHeight / 5 + && j < trainingSize) + { + trainingSet[j][0] = points[i][0]; + trainingSet[j][1] = points[i][1]; + j++; + } + i++; + } + + //commented out because it's not used +// Matrix T = new Matrix(trainingSet);// possible traj points matrix + Matrix W = new Matrix(new double[] { 0, 0, 0 }, 3);// parabola + // parameters + //commented out because it's not used +// Matrix oldW; + Matrix phiX; + for (int x = -50; x < 50; x++) + { + if (x + 50 < trainingSize) + { + trainingSet[x + 50][0] = x; + trainingSet[x + 50][1] = -x * x + 20 * x + 1; + } + } + + for (int it = 0; it < 50000; it++) + { + SquareError = 0.; + for (int n = 0; n < trainingSize; n++) + { + if (trainingSet[n][0] > 0) + { + double xn = trainingSet[n][0]; + double yn = trainingSet[n][1]; + phiX = new Matrix(new double[] { Math.pow(xn, 2), xn, 1. }, + 3); + + deltaError = phiX.times((yn - W.transpose().times(phiX) + .get(0, 0))); + //commented out because it's not used +// oldW = W; + + W = W.plus(deltaError.times(alpha)); + SquareError += Math.pow( + yn - phiX.transpose().times(W).get(0, 0), 2); + + } + } + if (it % 1000 == 0) + { + System.out.print(SquareError + "\n"); + W.print(1, 30); + } + } + + return W; + } + + // find bounding boxes around an arbitrary colour code + public List findColour(int colourCode) + { + ArrayList objects = new ArrayList(); + + for (int n = 0; n < _nSegments; n++) + { + if (_colours[n] == colourCode) + { + objects.add(_boxes[n]); + } + } + + return objects; + } + + // query the colour at given pixel + public Integer query(Point p) + { + if ((p.x >= _nWidth) || (p.y >= _nHeight)) + { + System.err.println("pixel (" + p.x + ", " + p.y + + ") is out of range"); + return null; + } + + return _colours[_segments[p.y][p.x]]; + } + + // query colours within given bounding box + public Set query(Rectangle r) + { + Set s = new HashSet(); + for (int n = 0; n < _nSegments; n++) + { + if (r.contains(_boxes[n])) + { + s.add(_colours[n]); + } + } + return s; + } + + // compute a histogram of colours within a given bounding box + public int[] histogram(Rectangle r) + { + int[] h = new int[512]; + Arrays.fill(h, 0); + + for (int y = r.y; y < r.y + r.height; y++) + { + if ((y < 0) || (y >= _nHeight)) + continue; + for (int x = r.x; x < r.x + r.width; x++) + { + if ((x < 0) || (x >= _nWidth)) + continue; + h[_colours[_segments[y][x]]] += 1; + } + } + + return h; + } + + // perform preprocessing of a new screenshot + private void processScreenShot(BufferedImage screenshot) + { + // extract width and height + _nHeight = screenshot.getHeight(); + _nWidth = screenshot.getWidth(); + if ((_nHeight != 480) && (_nWidth != 840)) + { + System.err.println("ERROR: expecting 840-by-480 image"); + System.exit(1); + } + + // quantize to 3-bit colour + _scene = new int[_nHeight][_nWidth]; + for (int y = 0; y < _nHeight; y++) + { + for (int x = 0; x < _nWidth; x++) + { + final int colour = screenshot.getRGB(x, y); + _scene[y][x] = ((colour & 0x00e00000) >> 15) + | ((colour & 0x0000e000) >> 10) + | ((colour & 0x000000e0) >> 5); + } + } + + // find connected components + _segments = VisionUtils.findConnectedComponents(_scene); + _nSegments = VisionUtils.countComponents(_segments); + // System.out.println("...found " + _nSegments + " components"); + + _colours = new int[_nSegments]; + for (int y = 0; y < _nHeight; y++) + { + for (int x = 0; x < _nWidth; x++) + { + _colours[_segments[y][x]] = _scene[y][x]; + } + } + + // find bounding boxes and segment colours + _boxes = VisionUtils.findBoundingBoxes(_segments); + } + + /** + * Detects the ground in the image. + * @return A list of blocks representing the ground. + */ + public List detectGround() + { + Mat binaryImage = new Mat(new Size(_nWidth, _nHeight), CvType.CV_8U, + new Scalar(1)); + + // We only detect right of this margin. The slingshot has some ground + // colors and would partly be detected as ground. This is not what we + // want. Trajectories originate at the slingshot, and if there is ground + // detected at the slingshot, the agent will think, that none of its + // trajectories are valid. Therefore we start with detecting due right + // of the slingshot. + int startAtX = findSlingshot().x + findSlingshot().width * 2; + + // Now we create a binary image of the ground areas. White where there + // is ground, black otherwise. + for (int y = 0; y < _nHeight; y++) + { + for (int x = 0; x < _nWidth; x++) + { + if (x > startAtX && isGround(x, y)) + binaryImage.put(y, x, 255); + else + binaryImage.put(y, x, 0); + } + } + + Mat smoothedImage = new Mat(new Size(_nWidth, _nHeight), CvType.CV_8U, + new Scalar(1)); + + // This median filter improves the detection tremendously. There are a + // whole lot of single pixels that carry ground colors spread all over + // the image. We remove them here. + Imgproc.medianBlur(binaryImage, smoothedImage, 7); + + List contours = new ArrayList(); + + // We use OpenCV to find the contours. Contours are lines, that + // represent the boundaries of the objects in the binary image. + Imgproc.findContours(smoothedImage, contours, new Mat(), + Imgproc.RETR_EXTERNAL, Imgproc.CHAIN_APPROX_SIMPLE); + + ArrayList result = new ArrayList(); + + //Now for every contour, we convert it to blocks for communicating them to DLV. + for (MatOfPoint mp : contours) + { + org.opencv.core.Point[] pts = mp.toArray(); + + for (int i = 0; i < pts.length - 1; i++) + { + Block b = new Block((int) pts[i].x, (int) pts[i].y); + b.add((int) pts[i + 1].x, (int) pts[i + 1].y); + result.add(b); + } + + //One block for the first vertex to the last vertex. + Block b = new Block((int) pts[pts.length - 1].x, + (int) pts[pts.length - 1].y); + b.add((int) pts[0].x, (int) pts[0].y); + result.add(b); + } + + return result; + } + + /** + * Returns true if the pixel at the given location has typical ground + * colors. Colors have been determined manually by retrieving the color of + * ground pixels. + */ + private boolean isGround(int x, int y) + { + return _scene[y][x] == 64 || _scene[y][x] == 72 || _scene[y][x] == 136 + || _scene[y][x] == 209 || _scene[y][x] == 210 + || _scene[y][x] == 282 || _scene[y][x] == 346; + } + + /** + * Information about a block, contains not only the bounding rectangle, but + * also all the pixels that make it up, so that they can also be used. + */ + public class Block + { + /** + * The bounding rectangle of the block. + */ + public Rectangle rectangle; + + /** + * All the pixels belonging to the block. + */ + public List pixels = new LinkedList(); + + /** + * Adds the point to the rectangle as well as the pixel list. + */ + public void add(int x, int y) + { + rectangle.add(x, y); + pixels.add(new org.opencv.core.Point(x, y)); + } + + public MatOfPoint2f getMatOfPoint2f() + { + MatOfPoint2f matrix = new MatOfPoint2f(); + matrix.fromList(pixels); + return matrix; + } + + public RotatedRect getRBoundingBox() + { + return Imgproc.minAreaRect(getMatOfPoint2f()); + } + + public Block(int x, int y) + { + rectangle = new Rectangle(x, y, 0, 0); + pixels.add(new org.opencv.core.Point(x, y)); + } + } + +} diff --git a/src/angryhexclient/OurVisionFact.java b/src/angryhexclient/OurVisionFact.java new file mode 100644 index 0000000..2300b02 --- /dev/null +++ b/src/angryhexclient/OurVisionFact.java @@ -0,0 +1,151 @@ +/******************************************************************************* + * Angry-HEX - an artificial player for Angry Birds based on declarative knowledge bases + * Copyright (C) 2012-2015 Francesco Calimeri, Michael Fink, Stefano Germano, Andreas Humenberger, Giovambattista Ianni, Christoph Redl, Daria Stepanova, Andrea Tucci, Anton Wimmer. + * + * This file is part of Angry-HEX. + * + * Angry-HEX is free software: you can redistribute it and/or modify it under the terms of the GNU Affero General Public License as published by the Free Software Foundation, either version 3 of the License, or (at your option) any later version. + * + * Angry-HEX is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU Affero General Public License for more details. + * + * You should have received a copy of the GNU Affero General Public License along with this program. If not, see . + *******************************************************************************/ +package angryhexclient; + +import java.awt.Rectangle; +import java.util.LinkedList; +import java.util.List; + +import org.opencv.core.RotatedRect; + +import ab.planner.TrajectoryPlanner; +import ab.vision.BirdType; + +public class OurVisionFact { + + private OurVision vision; + private TargetReasoner reasoner; + private TrajectoryPlanner planner; + private List objects; + + public OurVisionFact(OurVision vision, TargetReasoner reasoner, TrajectoryPlanner planner) { + this.vision = vision; + this.reasoner = reasoner; + this.planner = planner; + this.objects = new LinkedList(); + } + + public RotatedRect getObject(int index) { + return objects.get(index); + } + + public List getObjects() { + return objects; + } + + public void createFacts(BirdType currentBird) { + addPigsToExecutor(vision.findPigs()); + + addBlocksToExecutor(vision.findIce(), "ice"); + addBlocksToExecutor(vision.findStones(), "stone"); + addBlocksToExecutor(vision.findWood(), "wood"); + addBlocksToExecutor(vision.detectGround(), "ground"); + addTNTs(vision.findTNTs()); + + addBirdTypeToExecutor(currentBird); + addTrajectoryInfoToExecutor(vision.findSlingshot()); + } + + /** + * Adds facts for the pigs to the executor. + */ + private void addPigsToExecutor(List pigs) { + for (Rectangle r : pigs) { + RotatedRect rr = convertRectangleToRotatedRect(r); + addRotatedRectToExecutor(objects.size(), "pig", rr); + objects.add(rr); + } + } + + /** + * Adds the facts for the blocks to the executor. + * + * @param blocks + * The list of blocks as returned by the vision component. Each + * List Member must be a block with at least one pixel. + */ + private void addBlocksToExecutor(List blocks, String type) { + for (OurVision.Block b : blocks) { + // Each list member must be a block with at least one pixel. + assert (!b.pixels.isEmpty()); + + RotatedRect rr = b.getRBoundingBox(); + // Enlarge Rectangles by 2 pixels, as they are frequently "seen" + // too small. + rr.size.height += 2; + rr.size.width += 2; + + addRotatedRectToExecutor(objects.size(), type, rr); + objects.add(rr); + } + } + + /** + * Adds facts for the TNT boxes to the executor. + */ + private void addTNTs(List TNTs) { + for (Rectangle r : TNTs) { + RotatedRect rr = convertRectangleToRotatedRect(r); + addRotatedRectToExecutor(objects.size(), "tnt", rr); + objects.add(rr); + } + } + + private RotatedRect convertRectangleToRotatedRect(Rectangle r) { + return new RotatedRect(new org.opencv.core.Point(r.getCenterX(), + r.getCenterY()), new org.opencv.core.Size(r.getSize() + .getWidth(), r.getSize().getHeight()), 0); + } + + private void addRotatedRectToExecutor(int index, String type, + RotatedRect rr) { + // + // GB: avoids strange 90 or -90 degrees rotations + // + int width, height, angle; + if (rr.angle >= 45) { + width = (int) rr.size.height; + height = (int) rr.size.width; + angle = (int) rr.angle - 90; + } else if (rr.angle <= -45) { + width = (int) rr.size.height; + height = (int) rr.size.width; + angle = (int) rr.angle + 90; + } else { + width = (int) rr.size.width; + height = (int) rr.size.height; + angle = (int) rr.angle; + } + String fact = String.format("object(%d, %s, %d, %d, %d, %d, \"%f\").", + index, type, (int) rr.center.x, (int) rr.center.y, width, + height, Math.toRadians(angle)); + reasoner.addFact(fact); + } + + private void addBirdTypeToExecutor(BirdType type) { + String ss = String.format("birdType(%s).", type.name()); + reasoner.addFact(ss); + } + + private void addTrajectoryInfoToExecutor(Rectangle slingshot) { + // In previous versions, the scale factor was dubbed velocity. + reasoner.addFact( + "velocity(\"" + planner.getScaleFactor() + "\")."); + + String ss = String.format("slingshot(%d, %d, %d, %d).", + (int) slingshot.getX(), (int) slingshot.getY(), + (int) slingshot.getWidth(), (int) slingshot.getHeight()); + + reasoner.addFact(ss); + } +} diff --git a/src/angryhexclient/Reasoner.java b/src/angryhexclient/Reasoner.java new file mode 100644 index 0000000..053adf2 --- /dev/null +++ b/src/angryhexclient/Reasoner.java @@ -0,0 +1,133 @@ +/******************************************************************************* + * Angry-HEX - an artificial player for Angry Birds based on declarative knowledge bases + * Copyright (C) 2012-2015 Francesco Calimeri, Michael Fink, Stefano Germano, Andreas Humenberger, Giovambattista Ianni, Christoph Redl, Daria Stepanova, Andrea Tucci, Anton Wimmer. + * + * This file is part of Angry-HEX. + * + * Angry-HEX is free software: you can redistribute it and/or modify it under the terms of the GNU Affero General Public License as published by the Free Software Foundation, either version 3 of the License, or (at your option) any later version. + * + * Angry-HEX is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU Affero General Public License for more details. + * + * You should have received a copy of the GNU Affero General Public License along with this program. If not, see . + *******************************************************************************/ +package angryhexclient; + +import java.io.BufferedReader; +import java.io.File; +import java.io.IOException; +import java.io.InputStreamReader; +import java.io.PrintWriter; +import java.util.ArrayList; +import java.util.List; +import java.util.logging.Logger; +import java.util.regex.Matcher; +import java.util.regex.Pattern; + +public abstract class Reasoner { + + private static Logger Log = Logger.getLogger(Logger.GLOBAL_LOGGER_NAME); + + // dlvhex arguments + protected static String DLVHEX_CMDARGS = join(new String[] { + Configuration.getHexpath(), + Configuration.getUseDlv() ? "--solver=dlv" : "", + Configuration.getHexAdditionalArguments(), + Configuration.isCalibrationMode() ? "-n=1" : "", "-e easy", + "--weak-enable", "--silent", "--verbose=0" }); + + // parent dir of dlv files + protected static String clientDir = System.getProperty("user.dir") + + System.getProperty("file.separator"); + + protected String filterPred; + protected Pattern filterRegex; + protected String encFile; + protected List facts; + protected String dlvhexOutput; + protected int callCount; + + public Reasoner(String filterPred, Pattern filterRegex) { + this.filterPred = filterPred; + this.filterRegex = filterRegex; + this.facts = new ArrayList(); + } + + public void setEncodingFile(String encFile) { + this.encFile = encFile; + } + + public void addFact(String fact) { + facts.add(fact); + } + + public void reason() throws UnsupportedOperationException, IOException, InterruptedException { + + // create file containing just facts + String factsFile = clientDir + + getFactFilename(); + PrintWriter writer = new PrintWriter(factsFile, "UTF-8"); + for (String string : facts) { + writer.println(string); + } + writer.close(); + + // call dlvhex + String cmd = String.format("%s --filter=%s %s %s", DLVHEX_CMDARGS, + filterPred, factsFile, encFile); + System.out.println("Calling dlvhex2: " + cmd); + Process process = Runtime.getRuntime().exec(cmd); + process.waitFor(); + System.out.println("Called dlvhex2"); + + // read output of dlvhex and store in dlvhexOutput + BufferedReader bufferedReader = new BufferedReader( + new InputStreamReader(process.getInputStream())); + BufferedReader hexerr = new BufferedReader(new InputStreamReader( + process.getErrorStream())); + + dlvhexOutput = ""; + String currentLine; + String currentErrLine; + while ((currentLine = bufferedReader.readLine()) != null) { + dlvhexOutput += currentLine + "\n"; + } + while ((currentErrLine = hexerr.readLine()) != null) { + Log.severe(currentErrLine); + } + + // cleanup + facts.clear(); + // keep facts file if debug mode + saveDebugHexWithInfo(factsFile); + // delete facts file + new File(factsFile).delete(); + // parse response of dlvhex + parseOutput(); + } + + protected void parseOutput() { + clear(); + Matcher m = filterRegex.matcher(dlvhexOutput); + while (m.find()) { + storeAtom(m); + } + } + + protected String getFactFilename() { + return String.format("program%d.hex", callCount++); + } + + protected abstract void clear(); + + protected abstract void storeAtom(Matcher m); + + private static String join(String[] arr) { + String str = ""; + for (String s : arr) { + str += s + " "; + } + return str; + } + + protected abstract void saveDebugHexWithInfo(String file); +} diff --git a/src/angryhexclient/TargetReasoner.java b/src/angryhexclient/TargetReasoner.java new file mode 100644 index 0000000..4481da7 --- /dev/null +++ b/src/angryhexclient/TargetReasoner.java @@ -0,0 +1,120 @@ +/******************************************************************************* + * Angry-HEX - an artificial player for Angry Birds based on declarative knowledge bases + * Copyright (C) 2012-2015 Francesco Calimeri, Michael Fink, Stefano Germano, Andreas Humenberger, Giovambattista Ianni, Christoph Redl, Daria Stepanova, Andrea Tucci, Anton Wimmer. + * + * This file is part of Angry-HEX. + * + * Angry-HEX is free software: you can redistribute it and/or modify it under the terms of the GNU Affero General Public License as published by the Free Software Foundation, either version 3 of the License, or (at your option) any later version. + * + * Angry-HEX is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU Affero General Public License for more details. + * + * You should have received a copy of the GNU Affero General Public License along with this program. If not, see . + *******************************************************************************/ +package angryhexclient; + +import java.io.File; +import java.io.IOException; +import java.util.ArrayList; +import java.util.List; +import java.util.regex.Matcher; +import java.util.regex.Pattern; + +import ab.vision.ABType; +import angryhexclient.util.DebugUtils; +import angryhexclient.util.Utils; + +public class TargetReasoner extends Reasoner { + + private static String filterPred = "targetData"; + private static Pattern filterRegex = Pattern + .compile("\\{targetData\\((\\d+),(high|low),(\\d+),(\\d+),(\\d+)\\)\\}"); + + private static TargetReasoner instance; + + public static TargetReasoner getInstance() { + if (instance == null) { + instance = new TargetReasoner(); + } + return instance; + } + + private List targets; + private int callCount; + + private TargetReasoner() { + super(filterPred, filterRegex); + + this.targets = new ArrayList(); + this.callCount = 0; + } + + public List getTargets() { + return targets; + } + + public void reason(ABType birdType) throws UnsupportedOperationException, + IOException, InterruptedException { + // get suitable encoding file + String encFile = clientDir + Utils.DLV_DIR + File.separator; + if (Configuration.isCalibrationMode()) { + encFile += "calibrate.dlv"; + } else if (birdType == ABType.WhiteBird) { + encFile += Configuration.getReasoningWhiteFilename(); + } else { + encFile += Configuration.getReasoningFilename(); + } + setEncodingFile(encFile); + reason(); + } + + @Override + protected String getFactFilename() { + return String.format("targetData%d.hex", callCount++); + } + + @Override + protected void clear() { + targets.clear(); + } + + @Override + protected void storeAtom(Matcher m) { + int id = Integer.parseInt(m.group(1)); + int trajectory = m.group(2).equals("low") ? 0 : 1; + int tapCoeff = Integer.parseInt(m.group(3)); + int yoffset = Integer.parseInt(m.group(4)); + int eggMode = Integer.parseInt(m.group(5)); + + TargetData a = new TargetData(id, trajectory, tapCoeff, yoffset, + eggMode != 0); + targets.add(a); + } + + public class TargetData { + // The trajectory, 0 for low, 1 for high. + public int trajectory; + // The target point that the bird will be shot at. + public int id; + public int tapCoeff; + public int yoffsetRatio; + public boolean eggMode; + + public TargetData(int id, int tr, int tap, int yoffset, boolean eggMode) { + this.trajectory = tr; + this.id = id; + this.tapCoeff = tap; + this.yoffsetRatio = yoffset; + this.eggMode = eggMode; + } + + public String toString() { + return "ID:" + id + " TRAJ:" + trajectory + " TAP:" + tapCoeff + + " YOFF:" + yoffsetRatio + " MODE:" + eggMode; + } + } + + @Override + protected void saveDebugHexWithInfo(String file){ + DebugUtils.saveHexWithInfo(file,"Target"); + } +} diff --git a/src/angryhexclient/VisionFact.java b/src/angryhexclient/VisionFact.java new file mode 100644 index 0000000..4bfd5ae --- /dev/null +++ b/src/angryhexclient/VisionFact.java @@ -0,0 +1,289 @@ +/******************************************************************************* + * Angry-HEX - an artificial player for Angry Birds based on declarative knowledge bases + * Copyright (C) 2012-2015 Francesco Calimeri, Michael Fink, Stefano Germano, Andreas Humenberger, Giovambattista Ianni, Christoph Redl, Daria Stepanova, Andrea Tucci, Anton Wimmer. + * + * This file is part of Angry-HEX. + * + * Angry-HEX is free software: you can redistribute it and/or modify it under the terms of the GNU Affero General Public License as published by the Free Software Foundation, either version 3 of the License, or (at your option) any later version. + * + * Angry-HEX is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU Affero General Public License for more details. + * + * You should have received a copy of the GNU Affero General Public License along with this program. If not, see . + *******************************************************************************/ +package angryhexclient; + +import java.awt.Rectangle; +import java.util.LinkedList; +import java.util.List; +import java.util.logging.Logger; + +import org.opencv.core.RotatedRect; + +import ab.planner.TrajectoryPlanner; +import ab.vision.ABObject; +import ab.vision.ABType; +import ab.vision.Vision; +import ab.vision.real.shape.Circle; +import ab.vision.real.shape.Poly; +import ab.vision.real.shape.Rect; +import angryhexclient.OurVision.Block; + +public class VisionFact { + + private static Logger Log = Logger.getLogger(Logger.GLOBAL_LOGGER_NAME); + + private Vision vision; + private TargetReasoner reasoner; + private List abobjects; + private TrajectoryPlanner planner; + + //just for ground + private OurVision ourVision; + + public VisionFact(Vision vision, OurVision ourVision, TargetReasoner reasoner, + TrajectoryPlanner planner) { + this.vision = vision; + this.ourVision = ourVision; + this.reasoner = reasoner; + this.abobjects = new LinkedList(); + this.planner = planner; + } + + public ABObject getABObject(int i) { + return abobjects.get(i); + } + + public List getABObjects() { + return abobjects; + } + + private int addABObject(ABObject ab) { + ab.id = abobjects.size(); + abobjects.add(ab); + return ab.id; + } + + public void createFacts(ABType currentBird) { + addBirdTypeToExecutor(currentBird); + addTrajectoryInfoToExecutor(vision.findSlingshotRealShape()); + addPigs(vision.findPigsMBR()); + addBlocks(vision.findBlocksRealShape()); + addTNTs(vision.findTNTs()); + addGround(ourVision.detectGround()); + } + + private void addPigs(List objs) + throws UnsupportedOperationException { + if (objs.isEmpty()) { + throw new UnsupportedOperationException( + "No pigs found in the scene."); + } + //at the moment pigs are blocks since we don't care about their + //circle shape (they don't roll like stones etc..) + addBlocks(objs); + } + + private void addTNTs(List objs) { + //TODO if TNTs are treated the same way as blocks, remove this method + addBlocks(objs); + } + + private void addBlocks(List objs) { + for (ABObject ab : objs) { + if (ab.type != ABType.Unknown){ + switch (ab.shape) { + case Circle: + addCircle(ab); + break; + case Poly: + addPoly(ab); + break; + case Rect: + addRect(ab); + break; + case Triangle: + addTriangle(ab); + break; + default: + Log.warning("unknown ABShape"); + break; + } + } else{ + Log.warning("Found an Unknown object type. This object has been avoided."); + } + } + } + + private void addCircle(ABObject ab) { + int index = addABObject(ab); + String fact = String.format("circle(%d, %d, %d, \"%f\" ).", + index, (int) ab.getCenter().x, (int) ab.getCenter().y, ((Circle)ab).r); + + reasoner.addFact(fact); + String type = VisionFact.getABTypeString(ab.getType()).toLowerCase(); + addBoundingBox(((Circle)ab).getBounds(), type, index,0.f); + + + } + + private void addPoly(ABObject ab) { + // FIXME identification of a triangle(three points) may be not enough as vision can recognize a triangle as a poly line (and it can be imprecise) + String type = VisionFact.getABTypeString(ab.getType()).toLowerCase(); + Poly poly = (Poly) ab; + //If the poly line has three points, it is a triangle + if (poly.polygon.xpoints.length == poly.polygon.ypoints.length && poly.polygon.xpoints.length == 3){ + addTriangle(ab); + }else{ + //If not, we save the bounding box + //FIXME potentially wrong: saving a bounding box without its shape + int index = addABObject(ab); + addBoundingBox(ab.getBounds(), type, index, 0.f); + } + + } + + private void addBoundingBox(Rectangle obj, String type, int index, double angle){ + String fact = String.format("boundingBox(%d, %s, %d, %d, %d, %d, \"%f\").", + index, type, (int) obj.getCenterX(), (int) obj.getCenterY(), obj.width, + obj.height, angle); + + reasoner.addFact(fact); + } + + private void addRect(ABObject obj) { + //get the type of the object + String type = VisionFact.getABTypeString(obj.getType()).toLowerCase(); + + int width = obj.width; + int height = obj.height; + double angle = obj.angle; + if (obj instanceof Rect){ + Rect rr = (Rect)obj; + width = (int) rr.getpWidth(); + height = (int) rr.getpLength(); + //adjust the angle for box2d representation + angle = obj.angle - Math.toRadians(90); + //System.out.print(rr.getpWidth() + " " + rr.getpLength() + " " + rr.angle); + } + + int index = addABObject(obj); + //System.out.print(" at " + obj.getCenter().x + " , " + obj.getCenter().y); + //System.out.println(" " + index); + String fact = String.format("rectangle(%d, %s, %d, %d, %d, %d, \"%f\").", + index, type, (int) obj.getCenter().x, (int) obj.getCenter().y, width, + height, angle); + + reasoner.addFact(fact); + Rectangle boundingBox = new Rectangle (obj.getCenter().x - width/2, obj.getCenter().y - height/2, width, height); + addBoundingBox(boundingBox,type, index,angle); + } + + private void addTriangle(ABObject ab) { + int index = addABObject(ab); + Poly triangle = (Poly) ab; + String fact = String.format("triangle(%d, %d, %d, %d, %d, %d, %d ).", index, + triangle.polygon.xpoints[0], triangle.polygon.ypoints[0], + triangle.polygon.xpoints[1], triangle.polygon.ypoints[1], + triangle.polygon.xpoints[2], triangle.polygon.ypoints[2]); + + + reasoner.addFact(fact); + addBoundingBox(triangle.getBounds(), fact, index,0.f); + } + + private void addBirdTypeToExecutor(ABType type) { + String ss = String.format("birdType(%s).", type.name().toLowerCase()); + reasoner.addFact(ss); + } + + private void addTrajectoryInfoToExecutor(Rectangle slingshot) { + // In previous versions, the scale factor was dubbed velocity. + reasoner.addFact("velocity(\"" + planner.getScaleFactor() + "\")."); + + String ss = String.format("slingshot(%d, %d, %d, %d).", + (int) slingshot.getX(), (int) slingshot.getY(), + (int) slingshot.getWidth(), (int) slingshot.getHeight()); + + reasoner.addFact(ss); + } + + public static String getABTypeString(ABType type) { + switch (type) { + case BlackBird: + break; + case BlueBird: + break; + case Ground: + return "ground"; + case Hill: + return "hill"; + case Ice: + return "ice"; + case Pig: + return "pig"; + case RedBird: + break; + case Sling: + return "sling"; + case Stone: + return "stone"; + case TNT: + return "tnt"; + case Unknown: + return "unknown"; + case WhiteBird: + break; + case Wood: + return "wood"; + case YellowBird: + break; + default: + break; + + } + Log.warning("unknown ABType"); + return null; + } + +//Needed for ground. To be deleted once ground is computed by the new vision + private void addGround(List blocks){ + int count = abobjects.size(); + for (OurVision.Block b : blocks) { + // Each list member must be a block with at least one pixel. + assert (!b.pixels.isEmpty()); + + RotatedRect rr = b.getRBoundingBox(); + // Enlarge Rectangles by 2 pixels, as they are frequently "seen" + // too small. + rr.size.height += 2; + rr.size.width += 2; + + addRotatedRectToExecutor(count++,rr); + } + } + + //Needed for ground. To be deleted once ground is computed by the new vision + private void addRotatedRectToExecutor(int index,RotatedRect rr) { + // + // GB: avoids strange 90 or -90 degrees rotations + // + int width, height, angle; + if (rr.angle >= 45) { + width = (int) rr.size.height; + height = (int) rr.size.width; + angle = (int) rr.angle - 90; + } else if (rr.angle <= -45) { + width = (int) rr.size.height; + height = (int) rr.size.width; + angle = (int) rr.angle + 90; + } else { + width = (int) rr.size.width; + height = (int) rr.size.height; + angle = (int) rr.angle; + } + String fact = String.format("boundingBox(%d, %s, %d, %d, %d, %d, \"%f\").", + index, "ground", (int) rr.center.x, (int) rr.center.y, width, + height, Math.toRadians(angle)); + reasoner.addFact(fact); + } +} diff --git a/src/angryhexclient/strategy/BenchmarkStrategy.java b/src/angryhexclient/strategy/BenchmarkStrategy.java new file mode 100644 index 0000000..88dac2e --- /dev/null +++ b/src/angryhexclient/strategy/BenchmarkStrategy.java @@ -0,0 +1,120 @@ +/******************************************************************************* + * Angry-HEX - an artificial player for Angry Birds based on declarative knowledge bases + * Copyright (C) 2012-2015 Francesco Calimeri, Michael Fink, Stefano Germano, Andreas Humenberger, Giovambattista Ianni, Christoph Redl, Daria Stepanova, Andrea Tucci, Anton Wimmer. + * + * This file is part of Angry-HEX. + * + * Angry-HEX is free software: you can redistribute it and/or modify it under the terms of the GNU Affero General Public License as published by the Free Software Foundation, either version 3 of the License, or (at your option) any later version. + * + * Angry-HEX is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU Affero General Public License for more details. + * + * You should have received a copy of the GNU Affero General Public License along with this program. If not, see . + *******************************************************************************/ +package angryhexclient.strategy; + +import java.io.FileWriter; +import java.io.IOException; +import java.io.PrintWriter; +import java.util.logging.Logger; + +import ab.demo.other.ClientActionRobotJava; + +public class BenchmarkStrategy extends StrategyManager { + + final public static boolean BENCHMARK = false; + + private static Logger Log = Logger.getLogger(Logger.GLOBAL_LOGGER_NAME); + private static String BENCHMARK_FILE = "benchmark.csv"; + + // levels to benchmark + private int[] levels = new int[] { 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, + 13, 14, 15, 16, 17, 18, 19, 20, 21 }; + // number of runs per level + private int runs = 5; + // index of current level in array 'levels' + private int currIdx = 0; + // count of runs of levels[currIdx] + private int currRun = 0; + + int[][] scores = new int[levels.length][runs]; + + public BenchmarkStrategy(ClientActionRobotJava ar, byte startingLevel, + byte[] configureData) throws Exception { + super(ar, startingLevel, configureData); + if (levels.length < 1) { + throw new Exception("No levels for benchmark specified"); + } else if (runs < 1) { + throw new Exception("No runs for benchmark specified"); + } + } + + @Override + protected byte findNextLevelToPlay() { + if (currRun < runs) { + currRun++; + return (byte) levels[currIdx]; + } else if (currIdx < levels.length - 1) { + currRun = 1; + currIdx++; + return (byte) levels[currIdx]; + } + saveResult(); + Log.warning("All levels in benchmark strategy covered."); + return (byte) -1; + } + + @Override + public void updateScore(int score) { + scores[currIdx][currRun] = score; + } + + private int[][] evaluate() { + int[][] res = new int[levels.length][4]; + for (int i = 0; i < levels.length; i++) { + int sum = 0; + int won = 0; + int best = 0; + for (int j = 0; j < runs; j++) { + if (scores[i][j] > 0) { + won++; + } + if (scores[i][j] > best) { + best = scores[i][j]; + } + sum += scores[i][j]; + } + res[i][0] = won; + res[i][1] = sum / won; + res[i][2] = sum / runs; + res[i][3] = best; + } + return res; + } + + //commented out because it's not used +// private void printResult() { +// int[][] res = evaluate(); +// for (int i = 0; i < res.length; i++) { +// Log.warning(String.format("L%d %d %d %d %d", levels[i], +// res[i][0], res[i][1], res[i][2], res[i][3])); +// } +// } + + private void saveResult() { + int[][] res = evaluate(); + try { + PrintWriter wr = new PrintWriter(new FileWriter(BENCHMARK_FILE, + false)); + wr.println(String + .format("Level;Number of WON runs;AVG excl. LOST;AVG incl. LOST;Best score")); + for (int i = 0; i < res.length; i++) { + + wr.println(String.format("%d;%d;%d;%d;%d", levels[i], + res[i][0], res[i][1], res[i][2], res[i][3])); + } + wr.close(); + } catch (IOException e) { + Log.warning("couldn't save benchmark results"); + } + } +} diff --git a/src/angryhexclient/strategy/DeclarativeStrategy.java b/src/angryhexclient/strategy/DeclarativeStrategy.java new file mode 100644 index 0000000..5e5b100 --- /dev/null +++ b/src/angryhexclient/strategy/DeclarativeStrategy.java @@ -0,0 +1,99 @@ +/******************************************************************************* + * Angry-HEX - an artificial player for Angry Birds based on declarative knowledge bases + * Copyright (C) 2012-2015 Francesco Calimeri, Michael Fink, Stefano Germano, Andreas Humenberger, Giovambattista Ianni, Christoph Redl, Daria Stepanova, Andrea Tucci, Anton Wimmer. + * + * This file is part of Angry-HEX. + * + * Angry-HEX is free software: you can redistribute it and/or modify it under the terms of the GNU Affero General Public License as published by the Free Software Foundation, either version 3 of the License, or (at your option) any later version. + * + * Angry-HEX is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU Affero General Public License for more details. + * + * You should have received a copy of the GNU Affero General Public License along with this program. If not, see . + *******************************************************************************/ +package angryhexclient.strategy; + +import java.io.IOException; +import java.util.Random; +import java.util.logging.Logger; + +import ab.demo.other.ClientActionRobotJava; + +/** + * @author Stefano, Dasha + * + */ +public class DeclarativeStrategy extends StrategyManager { + + private static Logger Log = Logger.getLogger(Logger.GLOBAL_LOGGER_NAME); + + public DeclarativeStrategy(ClientActionRobotJava ar, byte startingLevel, + byte[] configureData) throws Exception { + super(ar, startingLevel, configureData); + } + + /** + * Find the next level to play + * + * @return next level to play + */ + protected byte findNextLevelToPlay() { + + System.out.println("SM: searching for the next level to play"); + + byte newLevel = (byte) (1); + + String fact; + + // add facts diff(i,j,k) reflecting the difference j between best scores + // and ours for level i if k=1 that we played best, otherwise k=0. + for (int i = 0; i < bestScores.length; i++) { + int diff = bestScores[i] - myScores[i]; + if (diff > 0) { + fact = "diff(" + i + "," + diff + "," + 0 + ")."; + } else { + fact = "diff(" + i + "," + Math.abs(diff) + "," + 1 + ")."; + } + + StrategyReasoner.getInstance().addFact(fact); + } + + // add facts timeslevelplayed(i,j) reflecting that level i was played j + // times + for (int i = 0; i < howManyTimes.length; i++) { + fact = "timeslevelplayed(" + i + "," + howManyTimes[i] + ")."; + StrategyReasoner.getInstance().addFact(fact); + } + + // add facts myscore(i,j) reflecting our score j for level i + for (int i = 0; i < myScores.length; i++) { + fact = "myscore(" + i + "," + myScores[i] + ")."; + StrategyReasoner.getInstance().addFact(fact); + } + + // add fact with round info + fact = "roundinfo(" + roundInfo + ")."; + StrategyReasoner.getInstance().addFact(fact); + + // call hex to compute next level to be played + try { + StrategyReasoner.getInstance().reason(); + } catch (UnsupportedOperationException e) { + Log.severe("could not call dlvhex: " + e.getMessage()); + } catch (IOException e) { + Log.severe("could not call dlvhex: " + e.getMessage()); + } catch (InterruptedException e) { + Log.severe("could not call dlvhex: " + e.getMessage()); + } + + newLevel = StrategyReasoner.getInstance().getNewLevel(); + if (newLevel!=111) + newLevel+=1; + else { + newLevel = (byte) (1 + (new Random()).nextInt(21)); + } + + System.out.println("SM: next level to be played " + newLevel); + + return newLevel; + } +} diff --git a/src/angryhexclient/strategy/JavaStrategy.java b/src/angryhexclient/strategy/JavaStrategy.java new file mode 100644 index 0000000..45ca22f --- /dev/null +++ b/src/angryhexclient/strategy/JavaStrategy.java @@ -0,0 +1,81 @@ +/******************************************************************************* + * Angry-HEX - an artificial player for Angry Birds based on declarative knowledge bases + * Copyright (C) 2012-2015 Francesco Calimeri, Michael Fink, Stefano Germano, Andreas Humenberger, Giovambattista Ianni, Christoph Redl, Daria Stepanova, Andrea Tucci, Anton Wimmer. + * + * This file is part of Angry-HEX. + * + * Angry-HEX is free software: you can redistribute it and/or modify it under the terms of the GNU Affero General Public License as published by the Free Software Foundation, either version 3 of the License, or (at your option) any later version. + * + * Angry-HEX is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU Affero General Public License for more details. + * + * You should have received a copy of the GNU Affero General Public License along with this program. If not, see . + *******************************************************************************/ +package angryhexclient.strategy; + +import java.util.Random; + +import ab.demo.other.ClientActionRobotJava; + +/** + * @author Stefano + * + */ +public class JavaStrategy extends StrategyManager { + + public JavaStrategy(ClientActionRobotJava ar, byte startingLevel, + byte[] configureData) throws Exception { + super(ar, startingLevel, configureData); + } + + /** + * Find the next level to play + * + * @return next level to play + */ + protected byte findNextLevelToPlay() { + + /** + * First it tries to play each level one time + */ + for (int i = 0; i < numberOfLevels; i++) + if (myScores[i] == 0 && howManyTimes[i] == 0) + return (byte) (i + 1); + + /** + * Next it tries to play the levels that have the maximum difference + * from the best scores + */ + int maxDifference = 0; + byte newLevel = (byte) (1); + + for (int i = 0; i < numberOfLevels; i++) { + int difference = bestScores[i] - myScores[i]; + if (difference >= maxDifference && howManyTimes[i] < 3) { + maxDifference = difference; + newLevel = (byte) (i + 1); + } + } + + if (maxDifference != 0) + return newLevel; + + /** + * Finally it tries to play the levels that we perform better than best + * scores and that have the minimum difference from the best score + */ + int minDifference = 500000; + newLevel = (byte) (new Random().nextInt(numberOfLevels) + 1); + + for (int i = 0; i < numberOfLevels; i++) { + int difference = myScores[i] - bestScores[i]; + if (difference >= 0 && difference < minDifference + && howManyTimes[i] < 5) { + minDifference = difference; + newLevel = (byte) (i + 1); + } + } + + return newLevel; + + } +} diff --git a/src/angryhexclient/strategy/StrategyManager.java b/src/angryhexclient/strategy/StrategyManager.java new file mode 100644 index 0000000..f13dc2b --- /dev/null +++ b/src/angryhexclient/strategy/StrategyManager.java @@ -0,0 +1,302 @@ +/******************************************************************************* + * Angry-HEX - an artificial player for Angry Birds based on declarative knowledge bases + * Copyright (C) 2012-2015 Francesco Calimeri, Michael Fink, Stefano Germano, Andreas Humenberger, Giovambattista Ianni, Christoph Redl, Daria Stepanova, Andrea Tucci, Anton Wimmer. + * + * This file is part of Angry-HEX. + * + * Angry-HEX is free software: you can redistribute it and/or modify it under the terms of the GNU Affero General Public License as published by the Free Software Foundation, either version 3 of the License, or (at your option) any later version. + * + * Angry-HEX is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU Affero General Public License for more details. + * + * You should have received a copy of the GNU Affero General Public License along with this program. If not, see . + *******************************************************************************/ +package angryhexclient.strategy; + +import java.io.File; +import java.io.FileWriter; +import java.io.IOException; +import java.io.PrintWriter; + +import ab.demo.other.ClientActionRobotJava; +import ab.vision.GameStateExtractor.GameState; +import angryhexclient.Configuration; +import angryhexclient.Memory; + +/** + * @author Stefano + * + */ +public abstract class StrategyManager { + + protected byte currentLevel; + + /** + * Each bird launch corresponds to a turn. + */ + protected int currentTurn; + + /** + * Round Info: a byte indicates the ongoing round of the competition. 1: 1st + * qualification round 2: 2nd qualification round 3: Group round (group of + * 4) 4: Knock-out round (group of 2) 0: Reject + */ + protected byte roundInfo; + + /** + * Time_limit: a byte indicates the time limit in minutes + */ + protected byte timeLimit; + + /** + * Number of Levels: a byte indicates the number of available levels. + */ + protected byte numberOfLevels; + + /** + * Our best scores for each level + */ + protected int[] myScores; + + /** + * Global best scores for each level + */ + protected int[] bestScores; + + /** + * How many times was played each level + */ + protected int[] howManyTimes; + + protected ClientActionRobotJava ar; + + public StrategyManager(ClientActionRobotJava ar, byte startingLevel, + byte[] configureData) throws Exception { + + this.ar = ar; + + this.currentLevel = startingLevel; + + this.currentTurn = 0; + + roundInfo = configureData[0]; + // based on its value we can choose a different strategy + + System.out.println("roundInfo: " + roundInfo); + + if (roundInfo != 2) + try { + + File theDir = new File(Memory.MEMORY_DIR); + // if the directory exist, we remove it + if (theDir.exists()) { + Process p = Runtime.getRuntime().exec("rm -rf " + Memory.MEMORY_DIR); + p.waitFor(); + // boolean result = theDir.delete(); + // System.out.println(result); + // if (result) + // System.out.println("DIR memory deleted"); + } + } catch (Exception e) { + e.printStackTrace(); + } + + timeLimit = configureData[1]; + // based on this variable we can decide to play in a different way + + System.out.println("timeLimit: " + timeLimit); + + numberOfLevels = configureData[2]; + + System.out.println("numberOfLevels: " + numberOfLevels); + + if (numberOfLevels > 21) + throw new Exception( + "*** Number of Levels not allowed by the rule of the Angry Birds AI Competition ***"); + + myScores = new int[numberOfLevels]; + + initializeMyScores(); + + bestScores = new int[numberOfLevels]; + + updateBestScores(); + + howManyTimes = new int[numberOfLevels]; + + initializeHowManyTimes(); + + } + + /** + * Initialize myScores + */ + private void initializeMyScores() { + + int[] myNewScores = ar.checkMyScore(); + + for (int i = 0; i < numberOfLevels; i++) + myScores[i] = myNewScores[i]; + + } + + /** + * Update myScores + * + * @throws MyScoreUpdateException + */ + private void updateMyScores() { + + int[] myNewScores = ar.checkMyScore(); + + // System.out.println("CURRENT LEVEL " + currentLevel); + // for (int i = 0; i < numberOfLevels; i++) + // System.out.println("SCORE " + (i + 1) + ": " + myNewScores[i]); + + myScores[currentLevel - 1] = myNewScores[currentLevel - 1]; + + } + + /** + * Update bestScores + */ + private void updateBestScores() { + + int[] newBestScores = ar.checkScore(); + + for (int i = 0; i < numberOfLevels; i++) + bestScores[i] = newBestScores[i]; + + } + + /** + * Initialize howManyTimes + */ + private void initializeHowManyTimes() { + for (int i = 0; i < numberOfLevels; i++) + howManyTimes[i] = 0; + } + + /** + * Returns the current level + * + * @return the currentLevel + */ + public byte getCurrentLevel() { + return currentLevel; + } + + /** + * Update currentLevel + * + * @param state + * @return + */ + public boolean updateCurrentLevel(GameState state) { + + byte tentativeCurrentLevel = currentLevel; + + if (state == GameState.WON) { + + tentativeCurrentLevel = findNextLevelToPlay(); + // System.out.println("tentativeCurrentLevel: " + + // tentativeCurrentLevel); + ar.loadLevel(tentativeCurrentLevel); + + updateMyScores(); + + System.out.println("\nLevel: " + currentLevel + " NEW score: " + + myScores[currentLevel - 1]); + + } + + currentLevel = findNextLevelToPlay(); + + System.out.println("NEW currentLevel: " + currentLevel + "\n"); + + if (state == GameState.LOST || currentLevel != tentativeCurrentLevel) + return true; + + return false; + + } + + /** + * Find the next level to play + * + * @return next level to play + */ + protected abstract byte findNextLevelToPlay(); + + /** + * Load the current level + */ + public void loadCurrentLevel() { + ar.loadLevel((byte) currentLevel); + } + + /** + * Load the next level to play + * + * @param state + */ + public void loadNewLevel(GameState state) { + + if (roundInfo == 3 || roundInfo == 4) + updateBestScores(); + + boolean iHaveToLoadTheLevel = true; + + if (!Configuration.getTournamentMode()) { + if (state == GameState.WON) + currentLevel++; + } else { + + howManyTimes[currentLevel - 1]++; + + iHaveToLoadTheLevel = updateCurrentLevel(state); + + // System.out.println("iHaveToLoadTheLevel: " + + // iHaveToLoadTheLevel); + + } + + if (iHaveToLoadTheLevel) + ar.loadLevel(currentLevel); + + currentTurn = 0; + + } + + /** + * Save myScores on file + * + * @param fileName + * @throws IOException + */ + public void saveScores(String fileName) throws IOException { + + PrintWriter log = new PrintWriter(new FileWriter(fileName, false)); + + for (int i = 0; i < numberOfLevels; i++) + log.println("Level " + (i + 1) + ";" + myScores[i]); + + log.close(); + + } + + public int getCurrentTurn(){ + return currentTurn; + } + + public void increaseCurrentTurn(){ + currentTurn++; + } + + public int getHowManyTimesCurrentLevel(){ + return howManyTimes[(int)currentLevel]; + } + + // updates score of current level + public void updateScore(int score) { + } +} diff --git a/src/angryhexclient/strategy/StrategyReasoner.java b/src/angryhexclient/strategy/StrategyReasoner.java new file mode 100644 index 0000000..29b9378 --- /dev/null +++ b/src/angryhexclient/strategy/StrategyReasoner.java @@ -0,0 +1,74 @@ +/******************************************************************************* + * Angry-HEX - an artificial player for Angry Birds based on declarative knowledge bases + * Copyright (C) 2012-2015 Francesco Calimeri, Michael Fink, Stefano Germano, Andreas Humenberger, Giovambattista Ianni, Christoph Redl, Daria Stepanova, Andrea Tucci, Anton Wimmer. + * + * This file is part of Angry-HEX. + * + * Angry-HEX is free software: you can redistribute it and/or modify it under the terms of the GNU Affero General Public License as published by the Free Software Foundation, either version 3 of the License, or (at your option) any later version. + * + * Angry-HEX is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU Affero General Public License for more details. + * + * You should have received a copy of the GNU Affero General Public License along with this program. If not, see . + *******************************************************************************/ +package angryhexclient.strategy; + +import java.io.File; +import java.util.regex.Matcher; +import java.util.regex.Pattern; + +import angryhexclient.Reasoner; +import angryhexclient.util.DebugUtils; +import angryhexclient.util.Utils; + +public class StrategyReasoner extends Reasoner { + + private static final String filterPred = "newlevel"; + private static final Pattern filterRegex = Pattern + .compile("\\{newlevel\\((\\d+)\\)\\}"); + private static final String encodingFile = Utils.DLV_DIR + File.separator + "strategy.dlv"; + + private static StrategyReasoner instance; + + public static StrategyReasoner getInstance() { + if (instance == null) { + instance = new StrategyReasoner(); + } + return instance; + } + + private byte newLevel; + private int callCount; + + public StrategyReasoner() { + super(filterPred, filterRegex); + setEncodingFile(encodingFile); + + this.newLevel = 0; + this.callCount = 0; + } + + public byte getNewLevel() { + return newLevel; + } + + @Override + protected String getFactFilename() { + return String.format("strategy%d.hex", callCount++); + } + + @Override + protected void clear() { + newLevel = 0; + } + + @Override + protected void storeAtom(Matcher m) { + // FIXME always just one answer set??? + newLevel = Byte.parseByte(m.group(1)); + } + + @Override + protected void saveDebugHexWithInfo(String file){ + DebugUtils.saveHexWithInfo(file,"Strategy"); + } +} diff --git a/src/angryhexclient/util/DebugUtils.java b/src/angryhexclient/util/DebugUtils.java new file mode 100644 index 0000000..baaa5ac --- /dev/null +++ b/src/angryhexclient/util/DebugUtils.java @@ -0,0 +1,415 @@ +/******************************************************************************* + * Angry-HEX - an artificial player for Angry Birds based on declarative knowledge bases + * Copyright (C) 2012-2015 Francesco Calimeri, Michael Fink, Stefano Germano, Andreas Humenberger, Giovambattista Ianni, Christoph Redl, Daria Stepanova, Andrea Tucci, Anton Wimmer. + * + * This file is part of Angry-HEX. + * + * Angry-HEX is free software: you can redistribute it and/or modify it under the terms of the GNU Affero General Public License as published by the Free Software Foundation, either version 3 of the License, or (at your option) any later version. + * + * Angry-HEX is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU Affero General Public License for more details. + * + * You should have received a copy of the GNU Affero General Public License along with this program. If not, see . + *******************************************************************************/ +package angryhexclient.util; + +import java.awt.Color; +import java.awt.Graphics; +import java.awt.Graphics2D; +import java.awt.Rectangle; +import java.awt.image.BufferedImage; +import java.io.File; +import java.io.FileWriter; +import java.io.IOException; +import java.io.PrintWriter; +import java.util.LinkedList; +import java.util.List; +import java.util.logging.Logger; + +import javax.imageio.ImageIO; + +import ab.utils.ImageSegFrame; +import ab.vision.ABObject; +import ab.vision.VisionMBR; +import ab.vision.VisionRealShape; +import ab.vision.VisionUtils; +import angryhexclient.Configuration; +import angryhexclient.strategy.StrategyManager; + +public class DebugUtils { + private static Logger Log = Logger.getLogger(Logger.GLOBAL_LOGGER_NAME); + + final public static String DEBUG_DIR = System.getProperty("user.dir") + + File.separator + "debugutils"; + final public static String SCREENSHOT_DIR = DEBUG_DIR + File.separator + + "screenshots" + File.separator; + final public static String HEX_DIR = DEBUG_DIR + File.separator + "hex" + + File.separator; + final public static String BENCHMARK_FILE = DEBUG_DIR + File.separator + "benchmark.csv"; + + final public static boolean DEBUG; + + private static ImageSegFrame imgFrame; + + private static StrategyManager strategyManager; + + private static byte currentLevel; + private static int currentTurn; + private static List timeList = new LinkedList(); + private static String currentBird; + private static int n_redBirds; + private static int n_yellowBirds; + private static int n_blueBirds; + private static int n_blackBirds; + private static int n_whiteBirds; + private static int n_pigs; + private static int n_ice; + private static int n_stone; + private static int n_wood; + private static int n_hills; + private static int n_tnt; + private static int n_unknown; + + static { + if (Configuration.isDebugMode()) { + DEBUG = true; + try { + Utils.deleteDir(DEBUG_DIR); + Utils.createDir(DEBUG_DIR); + Utils.createDir(SCREENSHOT_DIR); + Utils.createDir(HEX_DIR); + } catch (IOException e) { + Log.warning("cannot create " + DEBUG_DIR); + } catch (InterruptedException e) { + Log.warning("cannot create " + DEBUG_DIR); + } + } else { + DEBUG = false; + } + + PrintWriter log = null; + try { + log = new PrintWriter(new FileWriter(BENCHMARK_FILE, true)); + log.print("Level;"); + log.print("Turn;"); + log.print("Current Bird;"); + log.print("Number of Red Birds;"); + log.print("Number of Yellow Birds;"); + log.print("Number of Blue Birds;"); + log.print("Number of Black Birds;"); + log.print("Number of White Birds;"); + log.print("Number of Birds;"); + log.print("Number of Pigs;"); + log.print("Number of Ice Blocks;"); + log.print("Number of Stone Blocks;"); + log.print("Number of Wood Blocks;"); + log.print("Number of Hills (ex Ground) objects;"); + log.print("Number of TNT objects;"); + log.print("Number of Unknown objects;"); + log.print("Estimated Total Time (nanoseconds);"); + log.println(); + } catch (IOException e) { + Log.warning("cannot write " + BENCHMARK_FILE); + } finally { + if (log != null) + log.close(); + } + + } + + public static void init(StrategyManager smanager){ + System.out.println("Init"); + strategyManager = smanager; + } + + public static void saveScreenshot(BufferedImage img, String fileName) { + if (!DEBUG) { + return; + } + + String file = SCREENSHOT_DIR + fileName + ".png"; + try { + File dest = new File(file); + ImageIO.write(img, "png", dest); + Log.fine("saved " + dest.getName()); + } catch (IOException e) { + Log.warning("cannot save " + file); + } + } + + public static void saveScreenshot(String file) { + if (!DEBUG) { + return; + } + File src = new File(file); + File dest = new File(SCREENSHOT_DIR + src.getName()); + try { + Utils.copy(src, dest); + Log.fine("saved " + dest.getName()); + } catch (IOException e) { + Log.warning("cannot copy " + file); + } + } + + public static void saveHex(String file) { + if (!DEBUG) { + return; + } + File src = new File(file); + File dest = new File(HEX_DIR + src.getName()); + try { + Utils.copy(src, dest); + Log.fine("saved " + dest.getName()); + } catch (IOException e) { + Log.warning("cannot copy " + file); + } + } + + public static void saveHexWithInfo (String originalFile, String reasoner){ + if (!DEBUG){ + return; + } + File src = new File(originalFile); + File dest = new File(HEX_DIR + + String.format("level[%s]%d_%d_#%d.hex",reasoner,(int)strategyManager.getCurrentLevel(),strategyManager.getCurrentTurn(), + strategyManager.getHowManyTimesCurrentLevel())); + try { + Utils.copy(src, dest); + Log.fine("saved " + dest.getName()); + } catch (IOException e) { + Log.warning("cannot copy " + originalFile); + } + } + + + public static void showImage(BufferedImage img) { + if (!DEBUG) { + return; + } + if (imgFrame == null) { + imgFrame = new ImageSegFrame("Rotated rectangles.", img); + } + imgFrame.refresh(img); + } + + public static BufferedImage drawMBRs(BufferedImage img) { + if (!DEBUG) { + return img; + } + VisionMBR v = new VisionMBR(img); + img = VisionUtils.convert2grey(img); + VisionUtils.drawBoundingBoxes(img, v.findPigsMBR(), Color.GREEN); + VisionUtils.drawBoundingBoxes(img, v.findRedBirdsMBRs(), Color.RED); + VisionUtils.drawBoundingBoxes(img, v.findBlueBirdsMBRs(), Color.BLUE); + VisionUtils.drawBoundingBoxes(img, v.findYellowBirdsMBRs(), + Color.YELLOW); + VisionUtils.drawBoundingBoxes(img, v.findWoodMBR(), Color.WHITE, + Color.ORANGE); + VisionUtils.drawBoundingBoxes(img, v.findStonesMBR(), Color.WHITE, + Color.GRAY); + VisionUtils.drawBoundingBoxes(img, v.findIceMBR(), Color.WHITE, + Color.CYAN); + VisionUtils.drawBoundingBoxes(img, v.findWhiteBirdsMBRs(), Color.WHITE, + Color.lightGray); + VisionUtils.drawBoundingBoxes(img, v.findTNTsMBR(), Color.WHITE, + Color.PINK); + VisionUtils.drawBoundingBoxes(img, v.findBlackBirdsMBRs(), Color.BLACK); + + Rectangle sling = v.findSlingshotMBR(); + if (sling != null) { + VisionUtils.drawBoundingBox(img, sling, Color.ORANGE, Color.BLACK); + } + return img; + } + + public static BufferedImage drawRealShapes(BufferedImage img) { + if (!DEBUG) { + return img; + } + BufferedImage copy = new BufferedImage(img.getWidth(), img.getHeight(), + BufferedImage.TYPE_INT_RGB); + Graphics g = copy.createGraphics(); + g.drawImage(img, 0, 0, null); + VisionRealShape v = new VisionRealShape(copy); + v.findSling(); + v.findPigs(); + v.findBirds(); + v.findObjects(); + v.findHills(); + v.findTrajectory(); + v.drawObjects(copy, false); + return copy; + } + + public static BufferedImage drawObjectsWithID(BufferedImage image, + List objects) { + if (!DEBUG) { + return image; + } + BufferedImage imgMBR = VisionUtils.convert2grey(image); + VisionUtils.drawBoundingBoxesWithID(imgMBR, objects, Color.WHITE); + BufferedImage imgRS = drawRealShapes(image); + + BufferedImage img = new BufferedImage(imgMBR.getWidth(), + imgMBR.getHeight() + imgRS.getHeight(), + BufferedImage.TYPE_INT_RGB); + Graphics2D g = img.createGraphics(); + + g.drawImage(imgMBR, 0, 0, null); + g.drawImage(imgRS, 0, imgMBR.getHeight(), null); + // TODO maybe add MBR image as well + return img; + } + + public static void initBenchmarkParametersValues() { + currentLevel = 0; + currentTurn = 0; + timeList.clear(); + currentBird = ""; + n_redBirds = 0; + n_yellowBirds = 0; + n_blueBirds = 0; + n_blackBirds = 0; + n_whiteBirds = 0; + n_pigs = 0; + n_ice = 0; + n_stone = 0; + n_wood = 0; + n_hills = 0; + n_tnt = 0; + n_unknown = 0; + } + + /** + * Save some useful benchmark parameters in a file + */ + public static void saveBenchmark() { + + PrintWriter log = null; + try { + log = new PrintWriter(new FileWriter(BENCHMARK_FILE, true)); + log.print(currentLevel + ";"); + log.print(currentTurn + ";"); + log.print(currentBird + ";"); + log.print(n_redBirds + ";"); + log.print(n_yellowBirds + ";"); + log.print(n_blueBirds + ";"); + log.print(n_blackBirds + ";"); + log.print(n_whiteBirds + ";"); + log.print((n_redBirds + n_yellowBirds + n_blueBirds + n_blackBirds + n_whiteBirds) + ";"); + log.print(n_pigs + ";"); + log.print(n_ice + ";"); + log.print(n_stone + ";"); + log.print(n_wood + ";"); + log.print(n_hills + ";"); + log.print(n_tnt + ";"); + log.print(n_unknown + ";"); + log.print((timeList.get(timeList.size() - 1)- timeList.get(0)) + ";"); + Long tempTime = null; + for (Long time : timeList) + if (tempTime == null) + tempTime = time; + else { + log.print((time - tempTime) + ";"); + tempTime = time; + } + log.println(); + } catch (IOException e) { + Log.warning("cannot write " + BENCHMARK_FILE); + } finally { + if (log != null) + log.close(); + } + + } + + /** + * @param currentLevel the currentLevel to set + */ + public static void setCurrentLevel(byte currentLevel) { + DebugUtils.currentLevel = currentLevel; + } + + /** + * @param currentTurn the currentTurn to set + */ + public static void setCurrentTurn(int currentTurn) { + DebugUtils.currentTurn = currentTurn; + } + + /** + * @param currentBird the currentBird to set + */ + public static void setCurrentBird(String currentBird) { + DebugUtils.currentBird = currentBird; + } + + /** + * @param n_pigs the n_pigs to set + */ + public static void setN_pigs(int n_pigs) { + DebugUtils.n_pigs = n_pigs; + } + + /** + * @param n_tnt the n_tnt to set + */ + public static void setN_tnt(int n_tnt) { + DebugUtils.n_tnt = n_tnt; + } + + /** + * @param n_hills the n_hills to set + */ + public static void setN_hills(int n_hills) { + DebugUtils.n_hills = n_hills; + } + + public static void addBirds(List birds) { + for(ABObject bird : birds) + switch(bird.getType()) { + case RedBird: + n_redBirds++; + break; + case YellowBird: + n_yellowBirds++; + break; + case BlueBird: + n_blueBirds++; + break; + case BlackBird: + n_blackBirds++; + break; + case WhiteBird: + n_whiteBirds++; + break; + default: + break; + } + + } + + public static void addBlocks(List bloks) { + for(ABObject block : bloks) + switch(block.getType()) { + case Ice: + n_ice++; + break; + case Stone: + n_stone++; + break; + case Wood: + n_wood++; + break; + case Unknown: + n_unknown++; + default: + break; + } + + } + + public static void addTime(long nanoTime) { + timeList.add(nanoTime); + } + +} diff --git a/src/angryhexclient/util/LogFormatter.java b/src/angryhexclient/util/LogFormatter.java new file mode 100644 index 0000000..68329f2 --- /dev/null +++ b/src/angryhexclient/util/LogFormatter.java @@ -0,0 +1,48 @@ +/******************************************************************************* + * Angry-HEX - an artificial player for Angry Birds based on declarative knowledge bases + * Copyright (C) 2012-2015 Francesco Calimeri, Michael Fink, Stefano Germano, Andreas Humenberger, Giovambattista Ianni, Christoph Redl, Daria Stepanova, Andrea Tucci, Anton Wimmer. + * + * This file is part of Angry-HEX. + * + * Angry-HEX is free software: you can redistribute it and/or modify it under the terms of the GNU Affero General Public License as published by the Free Software Foundation, either version 3 of the License, or (at your option) any later version. + * + * Angry-HEX is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU Affero General Public License for more details. + * + * You should have received a copy of the GNU Affero General Public License along with this program. If not, see . + *******************************************************************************/ +package angryhexclient.util; + +import java.util.logging.Formatter; +import java.util.logging.Level; +import java.util.logging.LogRecord; + +public class LogFormatter extends Formatter { + + public static final String ANSI_RESET = "\u001B[0m"; + public static final String ANSI_BLACK = "\u001B[30m"; + public static final String ANSI_RED = "\u001B[31m"; + public static final String ANSI_GREEN = "\u001B[32m"; + public static final String ANSI_YELLOW = "\u001B[33m"; + public static final String ANSI_BLUE = "\u001B[34m"; + public static final String ANSI_PURPLE = "\u001B[35m"; + public static final String ANSI_CYAN = "\u001B[36m"; + public static final String ANSI_WHITE = "\u001B[37m"; + + @Override + public String format(LogRecord lr) { + if (lr.getLevel() == Level.INFO) { + return String.format("%s\n", lr.getMessage()); + } + String color = ANSI_RESET; + if (lr.getLevel() == Level.SEVERE) { + color = ANSI_RED; + } else if (lr.getLevel() == Level.WARNING) { + color = ANSI_YELLOW; + } else if (lr.getLevel() == Level.FINE) { + color = ANSI_CYAN; + } + return String.format("%s[%s][%s] %s: %s%s\n", color, + lr.getSourceClassName(), lr.getSourceMethodName(), + lr.getLevel(), lr.getMessage(), ANSI_RESET); + } +} diff --git a/src/angryhexclient/util/OutConsoleHandler.java b/src/angryhexclient/util/OutConsoleHandler.java new file mode 100644 index 0000000..6776991 --- /dev/null +++ b/src/angryhexclient/util/OutConsoleHandler.java @@ -0,0 +1,23 @@ +/******************************************************************************* + * Angry-HEX - an artificial player for Angry Birds based on declarative knowledge bases + * Copyright (C) 2012-2015 Francesco Calimeri, Michael Fink, Stefano Germano, Andreas Humenberger, Giovambattista Ianni, Christoph Redl, Daria Stepanova, Andrea Tucci, Anton Wimmer. + * + * This file is part of Angry-HEX. + * + * Angry-HEX is free software: you can redistribute it and/or modify it under the terms of the GNU Affero General Public License as published by the Free Software Foundation, either version 3 of the License, or (at your option) any later version. + * + * Angry-HEX is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU Affero General Public License for more details. + * + * You should have received a copy of the GNU Affero General Public License along with this program. If not, see . + *******************************************************************************/ +package angryhexclient.util; + +import java.util.logging.ConsoleHandler; + +public class OutConsoleHandler extends ConsoleHandler { + + public OutConsoleHandler() { + super(); + setOutputStream(System.out); + } +} \ No newline at end of file diff --git a/src/angryhexclient/util/Utils.java b/src/angryhexclient/util/Utils.java new file mode 100644 index 0000000..8e9f529 --- /dev/null +++ b/src/angryhexclient/util/Utils.java @@ -0,0 +1,47 @@ +/******************************************************************************* + * Angry-HEX - an artificial player for Angry Birds based on declarative knowledge bases + * Copyright (C) 2012-2015 Francesco Calimeri, Michael Fink, Stefano Germano, Andreas Humenberger, Giovambattista Ianni, Christoph Redl, Daria Stepanova, Andrea Tucci, Anton Wimmer. + * + * This file is part of Angry-HEX. + * + * Angry-HEX is free software: you can redistribute it and/or modify it under the terms of the GNU Affero General Public License as published by the Free Software Foundation, either version 3 of the License, or (at your option) any later version. + * + * Angry-HEX is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU Affero General Public License for more details. + * + * You should have received a copy of the GNU Affero General Public License along with this program. If not, see . + *******************************************************************************/ +package angryhexclient.util; + +import java.io.File; +import java.io.FileInputStream; +import java.io.FileOutputStream; +import java.io.IOException; +import java.nio.channels.FileChannel; + +public class Utils { + + // global constants + final public static String DLV_DIR = "dlv"; + + // global tools + public static void deleteDir(String file) throws IOException, InterruptedException { + Runtime.getRuntime().exec(String.format("rm -rf %s", file)).waitFor(); + } + + public static void createDir(String file) throws IOException, InterruptedException { + Runtime.getRuntime().exec(String.format("mkdir %s", file)).waitFor(); + } + + public static void copy(File source, File dest) throws IOException { + FileChannel inputChannel = null; + FileChannel outputChannel = null; + try { + inputChannel = new FileInputStream(source).getChannel(); + outputChannel = new FileOutputStream(dest).getChannel(); + outputChannel.transferFrom(inputChannel, 0, inputChannel.size()); + } finally { + inputChannel.close(); + outputChannel.close(); + } + } +} diff --git a/version_info b/version_info new file mode 100644 index 0000000..2e4ad7a --- /dev/null +++ b/version_info @@ -0,0 +1 @@ +Updated to version 1.32 of the Framework