PokerBot

[Done] Bot for a poker game.
git clone https://git.jojolepro.com/PokerBot.git
Log | Files | Refs

commit a4c1578f11c86ec9aa2e8fde4a271f2f9b1ba1aa
Author: Joël Lupien (Jojolepro) <jojolepro@jojolepro.com>
Date:   Tue, 25 Aug 2020 14:12:22 -0400

init

Diffstat:
A.cache-main | 182+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
A.classpath | 29+++++++++++++++++++++++++++++
A.idea/codeStyleSettings.xml | 10++++++++++
A.idea/compiler.xml | 23+++++++++++++++++++++++
A.idea/copyright/profiles_settings.xml | 4++++
A.idea/dictionaries/jojolepro.xml | 4++++
A.idea/inspectionProfiles/Project_Default.xml | 15+++++++++++++++
A.idea/inspectionProfiles/profiles_settings.xml | 8++++++++
A.idea/misc.xml | 36++++++++++++++++++++++++++++++++++++
A.idea/modules.xml | 9+++++++++
A.idea/workspace.xml | 620+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
A.project | 18++++++++++++++++++
A.settings/org.eclipse.jdt.core.prefs | 12++++++++++++
A.settings/org.scala-ide.sdt.core.prefs | 42++++++++++++++++++++++++++++++++++++++++++
APokerBot.iml | 241+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Abin/net/supercraft/pokerbot/Card.class | 0
Abin/net/supercraft/pokerbot/CardNumber$.class | 0
Abin/net/supercraft/pokerbot/CardNumber.class | 0
Abin/net/supercraft/pokerbot/CardType$.class | 0
Abin/net/supercraft/pokerbot/CardType.class | 0
Abin/net/supercraft/pokerbot/Main$$anonfun$1.class | 0
Abin/net/supercraft/pokerbot/Main$$anonfun$2.class | 0
Abin/net/supercraft/pokerbot/Main$$anonfun$getEmptySeat$1.class | 0
Abin/net/supercraft/pokerbot/Main$$anonfun$main$1.class | 0
Abin/net/supercraft/pokerbot/Main$.class | 0
Abin/net/supercraft/pokerbot/Main.class | 0
Abin/net/supercraft/pokerbot/Wrapper.class | 0
Acard0.png | 0
Acard1.png | 0
Acard2.png | 0
Acard3.png | 0
Acard4.png | 0
Acard5.png | 0
Acard6.png | 0
Aheadbang.jpeg | 0
Asrc/net/supercraft/pokerbot/Card.scala | 16++++++++++++++++
Asrc/net/supercraft/pokerbot/CardUtils.scala | 78++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Asrc/net/supercraft/pokerbot/GameState.scala | 8++++++++
Asrc/net/supercraft/pokerbot/Main.scala | 144+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Asrc/net/supercraft/pokerbot/Wrapper.java | 9+++++++++
Atest.png | 0
Atest2.png | 0
Atest3.png | 0
Atest4.png | 0
Atest5.png | 0
Atest6.png | 0
46 files changed, 1508 insertions(+), 0 deletions(-)

diff --git a/.cache-main b/.cache-main @@ -0,0 +1,182 @@ +format version: 5 +output mode: +1 items +0 -> multiple +output directories: +1 items +/home/jojolepro/Prog/PokerBot/src -> /home/jojolepro/Prog/PokerBot/bin +compile options: +9 items +0 -> -javabootclasspath +1 -> /usr/lib/jvm/java-8-oracle/jre/lib/resources.jar:/usr/lib/jvm/java-8-oracle/jre/lib/rt.jar:/usr/lib/jvm/java-8-oracle/jre/lib/jsse.jar:/usr/lib/jvm/java-8-oracle/jre/lib/jce.jar:/usr/lib/jvm/java-8-oracle/jre/lib/charsets.jar:/usr/lib/jvm/java-8-oracle/jre/lib/jfr.jar:/usr/lib/jvm/java-8-oracle/jre/lib/ext/jfxrt.jar:/usr/lib/jvm/java-8-oracle/jre/lib/ext/sunjce_provider.jar:/usr/lib/jvm/java-8-oracle/jre/lib/ext/zipfs.jar:/usr/lib/jvm/java-8-oracle/jre/lib/ext/localedata.jar:/usr/lib/jvm/java-8-oracle/jre/lib/ext/cldrdata.jar:/usr/lib/jvm/java-8-oracle/jre/lib/ext/sunec.jar:/usr/lib/jvm/java-8-oracle/jre/lib/ext/jaccess.jar:/usr/lib/jvm/java-8-oracle/jre/lib/ext/dnsns.jar:/usr/lib/jvm/java-8-oracle/jre/lib/ext/sunpkcs11.jar:/usr/lib/jvm/java-8-oracle/jre/lib/ext/nashorn.jar +2 -> -javaextdirs +3 -> +4 -> -bootclasspath +5 -> /home/jojolepro/Prog/Scala-Eclipse/plugins/org.scala-lang.scala-library_2.11.7.v20150622-112736-1fbce4612c.jar +6 -> -target:jvm-1.8 +7 -> -encoding +8 -> UTF-8 +javac options: +0 items +compiler version: +1 items +0 -> 2.11.7 +compile order: +1 items +0 -> Mixed +name hashing: +1 items +0 -> false +products: +11 items +/home/jojolepro/Prog/PokerBot/src/net/supercraft/pokerbot/Card.scala -> /home/jojolepro/Prog/PokerBot/bin/net/supercraft/pokerbot/Card.class +/home/jojolepro/Prog/PokerBot/src/net/supercraft/pokerbot/Card.scala -> /home/jojolepro/Prog/PokerBot/bin/net/supercraft/pokerbot/CardNumber$.class +/home/jojolepro/Prog/PokerBot/src/net/supercraft/pokerbot/Card.scala -> /home/jojolepro/Prog/PokerBot/bin/net/supercraft/pokerbot/CardNumber.class +/home/jojolepro/Prog/PokerBot/src/net/supercraft/pokerbot/Card.scala -> /home/jojolepro/Prog/PokerBot/bin/net/supercraft/pokerbot/CardType$.class +/home/jojolepro/Prog/PokerBot/src/net/supercraft/pokerbot/Card.scala -> /home/jojolepro/Prog/PokerBot/bin/net/supercraft/pokerbot/CardType.class +/home/jojolepro/Prog/PokerBot/src/net/supercraft/pokerbot/Main.scala -> /home/jojolepro/Prog/PokerBot/bin/net/supercraft/pokerbot/Main$$anonfun$1.class +/home/jojolepro/Prog/PokerBot/src/net/supercraft/pokerbot/Main.scala -> /home/jojolepro/Prog/PokerBot/bin/net/supercraft/pokerbot/Main$$anonfun$2.class +/home/jojolepro/Prog/PokerBot/src/net/supercraft/pokerbot/Main.scala -> /home/jojolepro/Prog/PokerBot/bin/net/supercraft/pokerbot/Main$$anonfun$main$1.class +/home/jojolepro/Prog/PokerBot/src/net/supercraft/pokerbot/Main.scala -> /home/jojolepro/Prog/PokerBot/bin/net/supercraft/pokerbot/Main$.class +/home/jojolepro/Prog/PokerBot/src/net/supercraft/pokerbot/Main.scala -> /home/jojolepro/Prog/PokerBot/bin/net/supercraft/pokerbot/Main.class +/home/jojolepro/Prog/PokerBot/src/net/supercraft/pokerbot/Wrapper.java -> /home/jojolepro/Prog/PokerBot/bin/net/supercraft/pokerbot/Wrapper.class +binary dependencies: +7 items +/home/jojolepro/Prog/PokerBot/src/net/supercraft/pokerbot/Card.scala -> /home/jojolepro/Prog/Scala-Eclipse/plugins/org.scala-lang.scala-library_2.11.7.v20150622-112736-1fbce4612c.jar +/home/jojolepro/Prog/PokerBot/src/net/supercraft/pokerbot/Card.scala -> /usr/lib/jvm/java-8-oracle/jre/lib/rt.jar +/home/jojolepro/Prog/PokerBot/src/net/supercraft/pokerbot/Main.scala -> /home/jojolepro/Prog/PokerBot/lib/selenium-java-2.53.0.jar +/home/jojolepro/Prog/PokerBot/src/net/supercraft/pokerbot/Main.scala -> /home/jojolepro/Prog/PokerBot/lib/tess4j-3.1.jar +/home/jojolepro/Prog/PokerBot/src/net/supercraft/pokerbot/Main.scala -> /home/jojolepro/Prog/Scala-Eclipse/plugins/org.scala-lang.scala-library_2.11.7.v20150622-112736-1fbce4612c.jar +/home/jojolepro/Prog/PokerBot/src/net/supercraft/pokerbot/Main.scala -> /usr/lib/jvm/java-8-oracle/jre/lib/rt.jar +/home/jojolepro/Prog/PokerBot/src/net/supercraft/pokerbot/Wrapper.java -> /usr/lib/jvm/java-8-oracle/jre/lib/rt.jar +direct source dependencies: +2 items +/home/jojolepro/Prog/PokerBot/src/net/supercraft/pokerbot/Wrapper.java -> /home/jojolepro/Prog/PokerBot/src/net/supercraft/pokerbot/Main.scala +/home/jojolepro/Prog/PokerBot/src/net/supercraft/pokerbot/Wrapper.java -> /home/jojolepro/Prog/PokerBot/src/net/supercraft/pokerbot/Wrapper.java +direct external dependencies: +0 items +public inherited source dependencies: +0 items +public inherited external dependencies: +0 items +member reference internal dependencies: +0 items +member reference external dependencies: +0 items +inheritance internal dependencies: +0 items +inheritance external dependencies: +0 items +class names: +11 items +/home/jojolepro/Prog/PokerBot/src/net/supercraft/pokerbot/Card.scala -> net.supercraft.pokerbot.Card +/home/jojolepro/Prog/PokerBot/src/net/supercraft/pokerbot/Card.scala -> net.supercraft.pokerbot.CardNumber +/home/jojolepro/Prog/PokerBot/src/net/supercraft/pokerbot/Card.scala -> net.supercraft.pokerbot.CardNumber$ +/home/jojolepro/Prog/PokerBot/src/net/supercraft/pokerbot/Card.scala -> net.supercraft.pokerbot.CardType +/home/jojolepro/Prog/PokerBot/src/net/supercraft/pokerbot/Card.scala -> net.supercraft.pokerbot.CardType$ +/home/jojolepro/Prog/PokerBot/src/net/supercraft/pokerbot/Main.scala -> net.supercraft.pokerbot.Main +/home/jojolepro/Prog/PokerBot/src/net/supercraft/pokerbot/Main.scala -> net.supercraft.pokerbot.Main$ +/home/jojolepro/Prog/PokerBot/src/net/supercraft/pokerbot/Main.scala -> net.supercraft.pokerbot.Main$$anonfun$1 +/home/jojolepro/Prog/PokerBot/src/net/supercraft/pokerbot/Main.scala -> net.supercraft.pokerbot.Main$$anonfun$2 +/home/jojolepro/Prog/PokerBot/src/net/supercraft/pokerbot/Main.scala -> net.supercraft.pokerbot.Main$$anonfun$main$1 +/home/jojolepro/Prog/PokerBot/src/net/supercraft/pokerbot/Wrapper.java -> net.supercraft.pokerbot.Wrapper +used names: +0 items +product stamps: +11 items +/home/jojolepro/Prog/PokerBot/bin/net/supercraft/pokerbot/Card.class -> lastModified(1459948944000) +/home/jojolepro/Prog/PokerBot/bin/net/supercraft/pokerbot/CardNumber$.class -> lastModified(1459948944000) +/home/jojolepro/Prog/PokerBot/bin/net/supercraft/pokerbot/CardNumber.class -> lastModified(1459948944000) +/home/jojolepro/Prog/PokerBot/bin/net/supercraft/pokerbot/CardType$.class -> lastModified(1459948944000) +/home/jojolepro/Prog/PokerBot/bin/net/supercraft/pokerbot/CardType.class -> lastModified(1459948944000) +/home/jojolepro/Prog/PokerBot/bin/net/supercraft/pokerbot/Main$$anonfun$1.class -> lastModified(1459949691000) +/home/jojolepro/Prog/PokerBot/bin/net/supercraft/pokerbot/Main$$anonfun$2.class -> lastModified(1459949691000) +/home/jojolepro/Prog/PokerBot/bin/net/supercraft/pokerbot/Main$$anonfun$main$1.class -> lastModified(1459949691000) +/home/jojolepro/Prog/PokerBot/bin/net/supercraft/pokerbot/Main$.class -> lastModified(1459949691000) +/home/jojolepro/Prog/PokerBot/bin/net/supercraft/pokerbot/Main.class -> lastModified(1459949690000) +/home/jojolepro/Prog/PokerBot/bin/net/supercraft/pokerbot/Wrapper.class -> lastModified(1459948944000) +source stamps: +3 items +/home/jojolepro/Prog/PokerBot/src/net/supercraft/pokerbot/Card.scala -> hash(9617a7bab30c5a7dd0a836a935840298a4648bb6) +/home/jojolepro/Prog/PokerBot/src/net/supercraft/pokerbot/Main.scala -> hash(29cd34ee6cc5a86d5965868710e7da8f0db5b878) +/home/jojolepro/Prog/PokerBot/src/net/supercraft/pokerbot/Wrapper.java -> hash(3b3fe79e8f87a5fc84b59ee829c127cb6c1622f6) +binary stamps: +4 items +/home/jojolepro/Prog/PokerBot/lib/selenium-java-2.53.0.jar -> lastModified(1458050472000) +/home/jojolepro/Prog/PokerBot/lib/tess4j-3.1.jar -> lastModified(1458603010000) +/home/jojolepro/Prog/Scala-Eclipse/plugins/org.scala-lang.scala-library_2.11.7.v20150622-112736-1fbce4612c.jar -> lastModified(1448985432000) +/usr/lib/jvm/java-8-oracle/jre/lib/rt.jar -> lastModified(1459338244000) +class names: +4 items +/home/jojolepro/Prog/PokerBot/lib/selenium-java-2.53.0.jar -> org.openqa.selenium.chrome.ChromeDriver +/home/jojolepro/Prog/PokerBot/lib/tess4j-3.1.jar -> net.sourceforge.tess4j.Tesseract1 +/home/jojolepro/Prog/Scala-Eclipse/plugins/org.scala-lang.scala-library_2.11.7.v20150622-112736-1fbce4612c.jar -> scala.Tuple2$ +/usr/lib/jvm/java-8-oracle/jre/lib/rt.jar -> java.lang.Object +internal apis: +3 items +/home/jojolepro/Prog/PokerBot/src/net/supercraft/pokerbot/Card.scala -> +rO0ABXNyABB4c2J0aS5hcGkuU291cmNlFlpwRASfbtoCAAZJAAdhcGlIYXNoWgAIaGFzTWFjcm9MABhfaW50ZXJuYWxPbmx5X25hbWVIYXNoZXN0ACRMeHNidGkvYXBpL19pbnRlcm5hbE9ubHlfTmFtZUhhc2hlcztMAANhcGl0ABVMeHNidGkvYXBpL1NvdXJjZUFQSTtMAAtjb21waWxhdGlvbnQAF0x4c2J0aS9hcGkvQ29tcGlsYXRpb247WwAEaGFzaHQAAltCeHB5WSU/AHNyACJ4c2J0aS5hcGkuX2ludGVybmFsT25seV9OYW1lSGFzaGVzVNq+mfrU7EwCAAJbAA9pbXBsaWNpdE1lbWJlcnN0ACNbTHhzYnRpL2FwaS9faW50ZXJuYWxPbmx5X05hbWVIYXNoO1sADnJlZ3VsYXJNZW1iZXJzcQB+AAd4cHVyACNbTHhzYnRpLmFwaS5faW50ZXJuYWxPbmx5X05hbWVIYXNoO0lagLbdlov0AgAAeHAAAAAAdXEAfgAJAAAAAHNyABN4c2J0aS5hcGkuU291cmNlQVBJuV6n+SkjOKQCAAJbAAtkZWZpbml0aW9uc3QAF1tMeHNidGkvYXBpL0RlZmluaXRpb247WwAIcGFja2FnZXN0ABRbTHhzYnRpL2FwaS9QYWNrYWdlO3hwdXIAF1tMeHNidGkuYXBpLkRlZmluaXRpb247iMlc57TjXg4CAAB4cAAAAANzcgATeHNidGkuYXBpLkNsYXNzTGlrZYM0HKHfsJdsAgAETAAOZGVmaW5pdGlvblR5cGV0ABpMeHNidGkvYXBpL0RlZmluaXRpb25UeXBlO1sAEHNhdmVkQW5ub3RhdGlvbnN0ABNbTGphdmEvbGFuZy9TdHJpbmc7TAAIc2VsZlR5cGV0ABBMeHNidGkvYXBpL0xhenk7TAAJc3RydWN0dXJlcQB+ABV4cgAheHNidGkuYXBpLlBhcmFtZXRlcml6ZWREZWZpbml0aW9u+RFusdVQPOICAAFbAA50eXBlUGFyYW1ldGVyc3QAGltMeHNidGkvYXBpL1R5cGVQYXJhbWV0ZXI7eHIAFHhzYnRpLmFwaS5EZWZpbml0aW9uhyob6HFC40YCAARMAAZhY2Nlc3N0ABJMeHNidGkvYXBpL0FjY2VzcztbAAthbm5vdGF0aW9uc3QAF1tMeHNidGkvYXBpL0Fubm90YXRpb247TAAJbW9kaWZpZXJzdAAVTHhzYnRpL2FwaS9Nb2RpZmllcnM7TAAEbmFtZXQAEkxqYXZhL2xhbmcvU3RyaW5nO3hwc3IAEHhzYnRpLmFwaS5QdWJsaWO6WD2ubC1gQgIAAHhyABB4c2J0aS5hcGkuQWNjZXNz3WKa+B1jMUgCAAB4cHVyABdbTHhzYnRpLmFwaS5Bbm5vdGF0aW9uO+uX6xkQ9o1IAgAAeHAAAAAAc3IAE3hzYnRpLmFwaS5Nb2RpZmllcnPHERMhaZzcJAIAAUIABWZsYWdzeHAAdAAibmV0LnN1cGVyY3JhZnQucG9rZXJib3QuQ2FyZE51bWJlcnVyABpbTHhzYnRpLmFwaS5UeXBlUGFyYW1ldGVyO9ltJg8onfK2AgAAeHAAAAAAfnIAGHhzYnRpLmFwaS5EZWZpbml0aW9uVHlwZQAAAAAAAAAAEgAAeHIADmphdmEubGFuZy5FbnVtAAAAAAAAAAASAAB4cHQABk1vZHVsZXVyABNbTGphdmEubGFuZy5TdHJpbmc7rdJW5+kde0cCAAB4cAAAAABzcgATeHNidGkuU2FmZUxhenkkSW1wbDuRTxH0RUzJAgADWgAIYml0bWFwJDBMAAJfdHQAEkxqYXZhL2xhbmcvT2JqZWN0O0wABGV2YWx0ABFMc2NhbGEvRnVuY3Rpb24wO3hyABZ4c2J0aS5hcGkuQWJzdHJhY3RMYXp503e1AV+756ACAAB4cABwc3IAIHhzYnRpLlNhZmVMYXp5JCRhbm9uZnVuJHN0cmljdCQxAAAAAAAAAAACAAFMAAd2YWx1ZSQxcQB+AC94cHNyABN4c2J0aS5hcGkuRW1wdHlUeXBlvP2eRkk7iSQCAAB4cgAUeHNidGkuYXBpLlNpbXBsZVR5cGVyeGKIISO/QAIAAHhyAA54c2J0aS5hcGkuVHlwZT9q2SEWSarKAgAAeHBzcQB+AC4AcHNxAH4AM3NyABN4c2J0aS5hcGkuU3RydWN0dXJlqar5gJNv2AACAANMAAhkZWNsYXJlZHEAfgAVTAAJaW5oZXJpdGVkcQB+ABVMAAdwYXJlbnRzcQB+ABV4cQB+ADdzcQB+AC4AcHNxAH4AM3VxAH4AEAAAAABzcQB+AC4AcHNxAH4AM3VxAH4AEAAAAABzcQB+AC4AcHNxAH4AM3VyABFbTHhzYnRpLmFwaS5UeXBlO3T/pVp7+elBAgAAeHAAAAAFc3IAFHhzYnRpLmFwaS5Qcm9qZWN0aW9u89KNVOlFpC0CAAJMAAJpZHEAfgAcTAAGcHJlZml4dAAWTHhzYnRpL2FwaS9TaW1wbGVUeXBlO3hxAH4ANnQAC0VudW1lcmF0aW9uc3IAE3hzYnRpLmFwaS5TaW5nbGV0b278p1/4z1bkRgIAAUwABHBhdGh0ABBMeHNidGkvYXBpL1BhdGg7eHEAfgA2c3IADnhzYnRpLmFwaS5QYXRomz1cCM6lJ4QCAAFbAApjb21wb25lbnRzdAAaW0x4c2J0aS9hcGkvUGF0aENvbXBvbmVudDt4cHVyABpbTHhzYnRpLmFwaS5QYXRoQ29tcG9uZW50O0PaCXQtZxZ0AgAAeHAAAAACc3IADHhzYnRpLmFwaS5JZJgybIs3U8RAAgABTAACaWRxAH4AHHhyABd4c2J0aS5hcGkuUGF0aENvbXBvbmVudF+aIlsuhp+8AgAAeHB0AAVzY2FsYXNyAA54c2J0aS5hcGkuVGhpc9sJ7abMWkBcAgAAeHEAfgBUc3EAfgBHdAAMU2VyaWFsaXphYmxlcQB+AE1zcQB+AEdxAH4AWnNxAH4AS3NxAH4ATnVxAH4AUQAAAANzcQB+AFN0AARqYXZhc3EAfgBTdAACaW9xAH4AWHNxAH4AR3QABk9iamVjdHNxAH4AS3NxAH4ATnVxAH4AUQAAAANzcQB+AFNxAH4AYHNxAH4AU3QABGxhbmdxAH4AWHNxAH4AR3QAA0FueXEAfgBNc3EAfgAScQB+ACB1cQB+ACEAAAAAc3EAfgAjAHQAIG5ldC5zdXBlcmNyYWZ0LnBva2VyYm90LkNhcmRUeXBldXEAfgAmAAAAAHEAfgAqdXEAfgAsAAAAAHNxAH4ALgBwc3EAfgAzcQB+ADhzcQB+AC4AcHNxAH4AM3NxAH4AO3NxAH4ALgBwc3EAfgAzdXEAfgAQAAAAAHNxAH4ALgBwc3EAfgAzdXEAfgAQAAAAAHNxAH4ALgBwc3EAfgAzdXEAfgBFAAAABXNxAH4AR3QAC0VudW1lcmF0aW9uc3EAfgBLc3EAfgBOdXEAfgBRAAAAAnNxAH4AU3EAfgBWcQB+AFhzcQB+AEdxAH4AWnEAfgCDc3EAfgBHcQB+AFpzcQB+AEtzcQB+AE51cQB+AFEAAAADc3EAfgBTcQB+AGBzcQB+AFN0AAJpb3EAfgBYc3EAfgBHcQB+AGRzcQB+AEtzcQB+AE51cQB+AFEAAAADc3EAfgBTcQB+AGBzcQB+AFNxAH4AanEAfgBYc3EAfgBHcQB+AGxxAH4Ag3NxAH4AEnEAfgAgdXEAfgAhAAAAAHNxAH4AIwB0ABxuZXQuc3VwZXJjcmFmdC5wb2tlcmJvdC5DYXJkdXEAfgAmAAAAAH5xAH4AKHQACENsYXNzRGVmdXEAfgAsAAAAAHNxAH4ALgBwc3EAfgAzcQB+ADhzcQB+AC4AcHNxAH4AM3NxAH4AO3NxAH4ALgBwc3EAfgAzdXEAfgAQAAAAAHNxAH4ALgBwc3EAfgAzdXEAfgAQAAAAAHNxAH4ALgBwc3EAfgAzdXEAfgBFAAAAAnNxAH4AR3EAfgBkc3EAfgBLc3EAfgBOdXEAfgBRAAAAA3NxAH4AU3EAfgBgc3EAfgBTcQB+AGpxAH4AWHNxAH4AR3EAfgBsc3EAfgBLc3EAfgBOdXEAfgBRAAAAAnNxAH4AU3EAfgBWcQB+AFh1cgAUW0x4c2J0aS5hcGkuUGFja2FnZTtbExk3cKcnoQIAAHhwAAAAA3NyABF4c2J0aS5hcGkuUGFja2FnZX5Zj/auzjlYAgABTAAEbmFtZXEAfgAceHB0ABduZXQuc3VwZXJjcmFmdC5wb2tlcmJvdHNxAH4AuXQAA25ldHNxAH4AuXQADm5ldC5zdXBlcmNyYWZ0c3IAFXhzYnRpLmFwaS5Db21waWxhdGlvbu364MNq6KBCAgACSgAJc3RhcnRUaW1lWwAHb3V0cHV0c3QAGltMeHNidGkvYXBpL091dHB1dFNldHRpbmc7eHAAAAFT67zuxXVyABpbTHhzYnRpLmFwaS5PdXRwdXRTZXR0aW5nO39qwvOnh6VCAgAAeHAAAAABc3IAF3hzYnRpLmFwaS5PdXRwdXRTZXR0aW5netmaR3T7HXsCAAJMAA9vdXRwdXREaXJlY3RvcnlxAH4AHEwAD3NvdXJjZURpcmVjdG9yeXEAfgAceHB0ACEvaG9tZS9qb2pvbGVwcm8vUHJvZy9Qb2tlckJvdC9iaW50ACEvaG9tZS9qb2pvbGVwcm8vUHJvZy9Qb2tlckJvdC9zcmN1cgACW0Ks8xf4BghU4AIAAHhwAAAAFJYXp7qzDFp90Kg2qTWEApikZIu2 +/home/jojolepro/Prog/PokerBot/src/net/supercraft/pokerbot/Main.scala -> +rO0ABXNyABB4c2J0aS5hcGkuU291cmNlFlpwRASfbtoCAAZJAAdhcGlIYXNoWgAIaGFzTWFjcm9MABhfaW50ZXJuYWxPbmx5X25hbWVIYXNoZXN0ACRMeHNidGkvYXBpL19pbnRlcm5hbE9ubHlfTmFtZUhhc2hlcztMAANhcGl0ABVMeHNidGkvYXBpL1NvdXJjZUFQSTtMAAtjb21waWxhdGlvbnQAF0x4c2J0aS9hcGkvQ29tcGlsYXRpb247WwAEaGFzaHQAAltCeHAST7xjAHNyACJ4c2J0aS5hcGkuX2ludGVybmFsT25seV9OYW1lSGFzaGVzVNq+mfrU7EwCAAJbAA9pbXBsaWNpdE1lbWJlcnN0ACNbTHhzYnRpL2FwaS9faW50ZXJuYWxPbmx5X05hbWVIYXNoO1sADnJlZ3VsYXJNZW1iZXJzcQB+AAd4cHVyACNbTHhzYnRpLmFwaS5faW50ZXJuYWxPbmx5X05hbWVIYXNoO0lagLbdlov0AgAAeHAAAAAAdXEAfgAJAAAAAHNyABN4c2J0aS5hcGkuU291cmNlQVBJuV6n+SkjOKQCAAJbAAtkZWZpbml0aW9uc3QAF1tMeHNidGkvYXBpL0RlZmluaXRpb247WwAIcGFja2FnZXN0ABRbTHhzYnRpL2FwaS9QYWNrYWdlO3hwdXIAF1tMeHNidGkuYXBpLkRlZmluaXRpb247iMlc57TjXg4CAAB4cAAAAAFzcgATeHNidGkuYXBpLkNsYXNzTGlrZYM0HKHfsJdsAgAETAAOZGVmaW5pdGlvblR5cGV0ABpMeHNidGkvYXBpL0RlZmluaXRpb25UeXBlO1sAEHNhdmVkQW5ub3RhdGlvbnN0ABNbTGphdmEvbGFuZy9TdHJpbmc7TAAIc2VsZlR5cGV0ABBMeHNidGkvYXBpL0xhenk7TAAJc3RydWN0dXJlcQB+ABV4cgAheHNidGkuYXBpLlBhcmFtZXRlcml6ZWREZWZpbml0aW9u+RFusdVQPOICAAFbAA50eXBlUGFyYW1ldGVyc3QAGltMeHNidGkvYXBpL1R5cGVQYXJhbWV0ZXI7eHIAFHhzYnRpLmFwaS5EZWZpbml0aW9uhyob6HFC40YCAARMAAZhY2Nlc3N0ABJMeHNidGkvYXBpL0FjY2VzcztbAAthbm5vdGF0aW9uc3QAF1tMeHNidGkvYXBpL0Fubm90YXRpb247TAAJbW9kaWZpZXJzdAAVTHhzYnRpL2FwaS9Nb2RpZmllcnM7TAAEbmFtZXQAEkxqYXZhL2xhbmcvU3RyaW5nO3hwc3IAEHhzYnRpLmFwaS5QdWJsaWO6WD2ubC1gQgIAAHhyABB4c2J0aS5hcGkuQWNjZXNz3WKa+B1jMUgCAAB4cHVyABdbTHhzYnRpLmFwaS5Bbm5vdGF0aW9uO+uX6xkQ9o1IAgAAeHAAAAAAc3IAE3hzYnRpLmFwaS5Nb2RpZmllcnPHERMhaZzcJAIAAUIABWZsYWdzeHAAdAAcbmV0LnN1cGVyY3JhZnQucG9rZXJib3QuTWFpbnVyABpbTHhzYnRpLmFwaS5UeXBlUGFyYW1ldGVyO9ltJg8onfK2AgAAeHAAAAAAfnIAGHhzYnRpLmFwaS5EZWZpbml0aW9uVHlwZQAAAAAAAAAAEgAAeHIADmphdmEubGFuZy5FbnVtAAAAAAAAAAASAAB4cHQABk1vZHVsZXVyABNbTGphdmEubGFuZy5TdHJpbmc7rdJW5+kde0cCAAB4cAAAAABzcgATeHNidGkuU2FmZUxhenkkSW1wbDuRTxH0RUzJAgADWgAIYml0bWFwJDBMAAJfdHQAEkxqYXZhL2xhbmcvT2JqZWN0O0wABGV2YWx0ABFMc2NhbGEvRnVuY3Rpb24wO3hyABZ4c2J0aS5hcGkuQWJzdHJhY3RMYXp503e1AV+756ACAAB4cAFzcgATeHNidGkuYXBpLkVtcHR5VHlwZbz9nkZJO4kkAgAAeHIAFHhzYnRpLmFwaS5TaW1wbGVUeXBlcnhiiCEjv0ACAAB4cgAOeHNidGkuYXBpLlR5cGU/atkhFkmqygIAAHhwcHNxAH4ALgFzcgATeHNidGkuYXBpLlN0cnVjdHVyZamq+YCTb9gAAgADTAAIZGVjbGFyZWRxAH4AFUwACWluaGVyaXRlZHEAfgAVTAAHcGFyZW50c3EAfgAVeHEAfgA1c3EAfgAuAXVxAH4AEAAAAAFzcgANeHNidGkuYXBpLkRlZlK+n+J8tDZpAgACTAAKcmV0dXJuVHlwZXQAEEx4c2J0aS9hcGkvVHlwZTtbAA92YWx1ZVBhcmFtZXRlcnN0ABpbTHhzYnRpL2FwaS9QYXJhbWV0ZXJMaXN0O3hxAH4AFnEAfgAgdXEAfgAhAAAAAHNxAH4AIwB0AARtYWludXEAfgAmAAAAAHNyABR4c2J0aS5hcGkuUHJvamVjdGlvbvPSjVTpRaQtAgACTAACaWRxAH4AHEwABnByZWZpeHQAFkx4c2J0aS9hcGkvU2ltcGxlVHlwZTt4cQB+ADR0AARVbml0c3IAE3hzYnRpLmFwaS5TaW5nbGV0b278p1/4z1bkRgIAAUwABHBhdGh0ABBMeHNidGkvYXBpL1BhdGg7eHEAfgA0c3IADnhzYnRpLmFwaS5QYXRomz1cCM6lJ4QCAAFbAApjb21wb25lbnRzdAAaW0x4c2J0aS9hcGkvUGF0aENvbXBvbmVudDt4cHVyABpbTHhzYnRpLmFwaS5QYXRoQ29tcG9uZW50O0PaCXQtZxZ0AgAAeHAAAAACc3IADHhzYnRpLmFwaS5JZJgybIs3U8RAAgABTAACaWRxAH4AHHhyABd4c2J0aS5hcGkuUGF0aENvbXBvbmVudF+aIlsuhp+8AgAAeHB0AAVzY2FsYXNyAA54c2J0aS5hcGkuVGhpc9sJ7abMWkBcAgAAeHEAfgBRdXIAGltMeHNidGkuYXBpLlBhcmFtZXRlckxpc3Q79dM6HfKzcO4CAAB4cAAAAAFzcgAXeHNidGkuYXBpLlBhcmFtZXRlckxpc3TWxbwcZEl04wIAAloACmlzSW1wbGljaXRbAApwYXJhbWV0ZXJzdAAcW0x4c2J0aS9hcGkvTWV0aG9kUGFyYW1ldGVyO3hwAHVyABxbTHhzYnRpLmFwaS5NZXRob2RQYXJhbWV0ZXI7z7jFXaXdtW0CAAB4cAAAAAFzcgAZeHNidGkuYXBpLk1ldGhvZFBhcmFtZXRlch9FrhfTSbDqAgAEWgAKaGFzRGVmYXVsdEwACG1vZGlmaWVydAAdTHhzYnRpL2FwaS9QYXJhbWV0ZXJNb2RpZmllcjtMAARuYW1lcQB+ABxMAAN0cGVxAH4APXhwAH5yABt4c2J0aS5hcGkuUGFyYW1ldGVyTW9kaWZpZXIAAAAAAAAAABIAAHhxAH4AKXQABVBsYWludAAEYXJnc3NyABd4c2J0aS5hcGkuUGFyYW1ldGVyaXplZBZs7mkDybt/AgACTAAIYmFzZVR5cGVxAH4ARVsADXR5cGVBcmd1bWVudHN0ABFbTHhzYnRpL2FwaS9UeXBlO3hxAH4ANHNxAH4ARHQABUFycmF5cQB+AEp1cgARW0x4c2J0aS5hcGkuVHlwZTt0/6Vae/npQQIAAHhwAAAAAXNxAH4ARHQABlN0cmluZ3NxAH4ASHNxAH4AS3VxAH4ATgAAAANzcQB+AFB0AARqYXZhc3EAfgBQdAAEbGFuZ3EAfgBVcHNxAH4ALgF1cQB+ABAAAAAAcHNxAH4ALgF1cQB+AGkAAAACc3EAfgBEdAAGT2JqZWN0cQB+AG1zcQB+AER0AANBbnlxAH4ASnBwdXIAFFtMeHNidGkuYXBpLlBhY2thZ2U7WxMZN3CnJ6ECAAB4cAAAAANzcgAReHNidGkuYXBpLlBhY2thZ2V+WY/2rs45WAIAAUwABG5hbWVxAH4AHHhwdAAXbmV0LnN1cGVyY3JhZnQucG9rZXJib3RzcQB+AH50AANuZXRzcQB+AH50AA5uZXQuc3VwZXJjcmFmdHNyABV4c2J0aS5hcGkuQ29tcGlsYXRpb27t+uDDauigQgIAAkoACXN0YXJ0VGltZVsAB291dHB1dHN0ABpbTHhzYnRpL2FwaS9PdXRwdXRTZXR0aW5nO3hwAAABU+vIVVN1cgAaW0x4c2J0aS5hcGkuT3V0cHV0U2V0dGluZzt/asLzp4elQgIAAHhwAAAAAXNyABd4c2J0aS5hcGkuT3V0cHV0U2V0dGluZ3rZmkd0+x17AgACTAAPb3V0cHV0RGlyZWN0b3J5cQB+ABxMAA9zb3VyY2VEaXJlY3RvcnlxAH4AHHhwdAAhL2hvbWUvam9qb2xlcHJvL1Byb2cvUG9rZXJCb3QvYmludAAhL2hvbWUvam9qb2xlcHJvL1Byb2cvUG9rZXJCb3Qvc3JjdXIAAltCrPMX+AYIVOACAAB4cAAAABQpzTTubMWobVllhocQ59qPDbW4eA== +/home/jojolepro/Prog/PokerBot/src/net/supercraft/pokerbot/Wrapper.java -> +rO0ABXNyABB4c2J0aS5hcGkuU291cmNlFlpwRASfbtoCAAZJAAdhcGlIYXNoWgAIaGFzTWFjcm9MABhfaW50ZXJuYWxPbmx5X25hbWVIYXNoZXN0ACRMeHNidGkvYXBpL19pbnRlcm5hbE9ubHlfTmFtZUhhc2hlcztMAANhcGl0ABVMeHNidGkvYXBpL1NvdXJjZUFQSTtMAAtjb21waWxhdGlvbnQAF0x4c2J0aS9hcGkvQ29tcGlsYXRpb247WwAEaGFzaHQAAltCeHD0p97fAHNyACJ4c2J0aS5hcGkuX2ludGVybmFsT25seV9OYW1lSGFzaGVzVNq+mfrU7EwCAAJbAA9pbXBsaWNpdE1lbWJlcnN0ACNbTHhzYnRpL2FwaS9faW50ZXJuYWxPbmx5X05hbWVIYXNoO1sADnJlZ3VsYXJNZW1iZXJzcQB+AAd4cHVyACNbTHhzYnRpLmFwaS5faW50ZXJuYWxPbmx5X05hbWVIYXNoO0lagLbdlov0AgAAeHAAAAAAdXEAfgAJAAAAAHNyABN4c2J0aS5hcGkuU291cmNlQVBJuV6n+SkjOKQCAAJbAAtkZWZpbml0aW9uc3QAF1tMeHNidGkvYXBpL0RlZmluaXRpb247WwAIcGFja2FnZXN0ABRbTHhzYnRpL2FwaS9QYWNrYWdlO3hwdXIAF1tMeHNidGkuYXBpLkRlZmluaXRpb247iMlc57TjXg4CAAB4cAAAAAJzcgATeHNidGkuYXBpLkNsYXNzTGlrZYM0HKHfsJdsAgAETAAOZGVmaW5pdGlvblR5cGV0ABpMeHNidGkvYXBpL0RlZmluaXRpb25UeXBlO1sAEHNhdmVkQW5ub3RhdGlvbnN0ABNbTGphdmEvbGFuZy9TdHJpbmc7TAAIc2VsZlR5cGV0ABBMeHNidGkvYXBpL0xhenk7TAAJc3RydWN0dXJlcQB+ABV4cgAheHNidGkuYXBpLlBhcmFtZXRlcml6ZWREZWZpbml0aW9u+RFusdVQPOICAAFbAA50eXBlUGFyYW1ldGVyc3QAGltMeHNidGkvYXBpL1R5cGVQYXJhbWV0ZXI7eHIAFHhzYnRpLmFwaS5EZWZpbml0aW9uhyob6HFC40YCAARMAAZhY2Nlc3N0ABJMeHNidGkvYXBpL0FjY2VzcztbAAthbm5vdGF0aW9uc3QAF1tMeHNidGkvYXBpL0Fubm90YXRpb247TAAJbW9kaWZpZXJzdAAVTHhzYnRpL2FwaS9Nb2RpZmllcnM7TAAEbmFtZXQAEkxqYXZhL2xhbmcvU3RyaW5nO3hwc3IAEHhzYnRpLmFwaS5QdWJsaWO6WD2ubC1gQgIAAHhyABB4c2J0aS5hcGkuQWNjZXNz3WKa+B1jMUgCAAB4cHVyABdbTHhzYnRpLmFwaS5Bbm5vdGF0aW9uO+uX6xkQ9o1IAgAAeHAAAAAAc3IAE3hzYnRpLmFwaS5Nb2RpZmllcnPHERMhaZzcJAIAAUIABWZsYWdzeHAAdAAfbmV0LnN1cGVyY3JhZnQucG9rZXJib3QuV3JhcHBlcnVyABpbTHhzYnRpLmFwaS5UeXBlUGFyYW1ldGVyO9ltJg8onfK2AgAAeHAAAAAAfnIAGHhzYnRpLmFwaS5EZWZpbml0aW9uVHlwZQAAAAAAAAAAEgAAeHIADmphdmEubGFuZy5FbnVtAAAAAAAAAAASAAB4cHQACENsYXNzRGVmdXIAE1tMamF2YS5sYW5nLlN0cmluZzut0lbn6R17RwIAAHhwAAAAAXQADHNjYWxhLnRocm93c3NyABN4c2J0aS5TYWZlTGF6eSRJbXBsO5FPEfRFTMkCAANaAAhiaXRtYXAkMEwAAl90dAASTGphdmEvbGFuZy9PYmplY3Q7TAAEZXZhbHQAEUxzY2FsYS9GdW5jdGlvbjA7eHIAFnhzYnRpLmFwaS5BYnN0cmFjdExhennTd7UBX7vnoAIAAHhwAHBzcgAgeHNidGkuU2FmZUxhenkkJGFub25mdW4kc3RyaWN0JDEAAAAAAAAAAAIAAUwAB3ZhbHVlJDFxAH4AMHhwc3IAE3hzYnRpLmFwaS5FbXB0eVR5cGW8/Z5GSTuJJAIAAHhyABR4c2J0aS5hcGkuU2ltcGxlVHlwZXJ4YoghI79AAgAAeHIADnhzYnRpLmFwaS5UeXBlP2rZIRZJqsoCAAB4cHNxAH4ALwBwc3EAfgA0c3IAE3hzYnRpLmFwaS5TdHJ1Y3R1cmWpqvmAk2/YAAIAA0wACGRlY2xhcmVkcQB+ABVMAAlpbmhlcml0ZWRxAH4AFUwAB3BhcmVudHNxAH4AFXhxAH4AOHNxAH4ALwBwc3EAfgA0dXEAfgAQAAAAAHNxAH4ALwBwc3EAfgA0dXEAfgAQAAAAAHNxAH4ALwBwc3EAfgA0dXIAEVtMeHNidGkuYXBpLlR5cGU7dP+lWnv56UECAAB4cAAAAAFzcgAUeHNidGkuYXBpLlByb2plY3Rpb27z0o1U6UWkLQIAAkwAAmlkcQB+ABxMAAZwcmVmaXh0ABZMeHNidGkvYXBpL1NpbXBsZVR5cGU7eHEAfgA3dAAGT2JqZWN0c3IAE3hzYnRpLmFwaS5TaW5nbGV0b278p1/4z1bkRgIAAUwABHBhdGh0ABBMeHNidGkvYXBpL1BhdGg7eHEAfgA3c3IADnhzYnRpLmFwaS5QYXRomz1cCM6lJ4QCAAFbAApjb21wb25lbnRzdAAaW0x4c2J0aS9hcGkvUGF0aENvbXBvbmVudDt4cHVyABpbTHhzYnRpLmFwaS5QYXRoQ29tcG9uZW50O0PaCXQtZxZ0AgAAeHAAAAADc3IADHhzYnRpLmFwaS5JZJgybIs3U8RAAgABTAACaWRxAH4AHHhyABd4c2J0aS5hcGkuUGF0aENvbXBvbmVudF+aIlsuhp+8AgAAeHB0AARqYXZhc3EAfgBUdAAEbGFuZ3NyAA54c2J0aS5hcGkuVGhpc9sJ7abMWkBcAgAAeHEAfgBVc3EAfgAScQB+ACBxAH4AInEAfgAkcQB+ACVxAH4AJ35xAH4AKHQABk1vZHVsZXVxAH4ALAAAAABzcQB+AC8AcHNxAH4ANHEAfgA5c3EAfgAvAHBzcQB+ADRzcQB+ADxzcQB+AC8AcHNxAH4ANHVxAH4AEAAAAAFzcgANeHNidGkuYXBpLkRlZlK+n+J8tDZpAgACTAAKcmV0dXJuVHlwZXQAEEx4c2J0aS9hcGkvVHlwZTtbAA92YWx1ZVBhcmFtZXRlcnN0ABpbTHhzYnRpL2FwaS9QYXJhbWV0ZXJMaXN0O3hxAH4AFnEAfgAgdXEAfgAhAAAAAHNxAH4AIwB0AARtYWlucQB+ACdzcQB+AEh0AARVbml0c3EAfgBMc3EAfgBPdXEAfgBSAAAAAnNxAH4AVHQABXNjYWxhcQB+AFt1cgAaW0x4c2J0aS5hcGkuUGFyYW1ldGVyTGlzdDv10zod8rNw7gIAAHhwAAAAAXNyABd4c2J0aS5hcGkuUGFyYW1ldGVyTGlzdNbFvBxkSXTjAgACWgAKaXNJbXBsaWNpdFsACnBhcmFtZXRlcnN0ABxbTHhzYnRpL2FwaS9NZXRob2RQYXJhbWV0ZXI7eHAAdXIAHFtMeHNidGkuYXBpLk1ldGhvZFBhcmFtZXRlcjvPuMVdpd21bQIAAHhwAAAAAXNyABl4c2J0aS5hcGkuTWV0aG9kUGFyYW1ldGVyH0WuF9NJsOoCAARaAApoYXNEZWZhdWx0TAAIbW9kaWZpZXJ0AB1MeHNidGkvYXBpL1BhcmFtZXRlck1vZGlmaWVyO0wABG5hbWVxAH4AHEwAA3RwZXEAfgBpeHAAfnIAG3hzYnRpLmFwaS5QYXJhbWV0ZXJNb2RpZmllcgAAAAAAAAAAEgAAeHEAfgApdAAFUGxhaW50AABzcgAXeHNidGkuYXBpLlBhcmFtZXRlcml6ZWQWbO5pA8m7fwIAAkwACGJhc2VUeXBlcQB+AElbAA10eXBlQXJndW1lbnRzdAARW0x4c2J0aS9hcGkvVHlwZTt4cQB+ADdzcQB+AEh0AAVBcnJheXNxAH4ATHNxAH4AT3VxAH4AUgAAAAJzcQB+AFR0AAVzY2FsYXEAfgBbdXEAfgBGAAAAAXNxAH4ASHQABlN0cmluZ3NxAH4ATHNxAH4AT3VxAH4AUgAAAANzcQB+AFR0AARqYXZhc3EAfgBUdAAEbGFuZ3EAfgBbc3EAfgAvAHBzcQB+ADR1cQB+ABAAAAAAc3EAfgAvAHBzcQB+ADR1cQB+AEYAAAAAdXIAFFtMeHNidGkuYXBpLlBhY2thZ2U7WxMZN3CnJ6ECAAB4cAAAAAFzcgAReHNidGkuYXBpLlBhY2thZ2V+WY/2rs45WAIAAUwABG5hbWVxAH4AHHhwdAAXbmV0LnN1cGVyY3JhZnQucG9rZXJib3RzcgAVeHNidGkuYXBpLkNvbXBpbGF0aW9u7frgw2rooEICAAJKAAlzdGFydFRpbWVbAAdvdXRwdXRzdAAaW0x4c2J0aS9hcGkvT3V0cHV0U2V0dGluZzt4cAAAAVPrvO7FdXIAGltMeHNidGkuYXBpLk91dHB1dFNldHRpbmc7f2rC86eHpUICAAB4cAAAAAFzcgAXeHNidGkuYXBpLk91dHB1dFNldHRpbmd62ZpHdPsdewIAAkwAD291dHB1dERpcmVjdG9yeXEAfgAcTAAPc291cmNlRGlyZWN0b3J5cQB+ABx4cHQAIS9ob21lL2pvam9sZXByby9Qcm9nL1Bva2VyQm90L2JpbnQAIS9ob21lL2pvam9sZXByby9Qcm9nL1Bva2VyQm90L3NyY3VyAAJbQqzzF/gGCFTgAgAAeHAAAAAUOz/nno+HpfyEtZ7oKcEny2wWIvY= +external apis: +0 items +source infos: +3 items +/home/jojolepro/Prog/PokerBot/src/net/supercraft/pokerbot/Card.scala -> +AAAAAAAAAAA= +/home/jojolepro/Prog/PokerBot/src/net/supercraft/pokerbot/Main.scala -> +AAAAAAAAAAA= +/home/jojolepro/Prog/PokerBot/src/net/supercraft/pokerbot/Wrapper.java -> +AAAAAAAAAAA= +compilations: +48 items +00 -> rO0ABXNyABV4c2J0aS5hcGkuQ29tcGlsYXRpb27t+uDDauigQgIAAkoACXN0YXJ0VGltZVsAB291dHB1dHN0ABpbTHhzYnRpL2FwaS9PdXRwdXRTZXR0aW5nO3hwAAABU+d7Cl11cgAaW0x4c2J0aS5hcGkuT3V0cHV0U2V0dGluZzt/asLzp4elQgIAAHhwAAAAAXNyABd4c2J0aS5hcGkuT3V0cHV0U2V0dGluZ3rZmkd0+x17AgACTAAPb3V0cHV0RGlyZWN0b3J5dAASTGphdmEvbGFuZy9TdHJpbmc7TAAPc291cmNlRGlyZWN0b3J5cQB+AAZ4cHQAIS9ob21lL2pvam9sZXByby9Qcm9nL1Bva2VyQm90L2JpbnQAIS9ob21lL2pvam9sZXByby9Qcm9nL1Bva2VyQm90L3NyYw== +01 -> rO0ABXNyABV4c2J0aS5hcGkuQ29tcGlsYXRpb27t+uDDauigQgIAAkoACXN0YXJ0VGltZVsAB291dHB1dHN0ABpbTHhzYnRpL2FwaS9PdXRwdXRTZXR0aW5nO3hwAAABU+d8DoV1cgAaW0x4c2J0aS5hcGkuT3V0cHV0U2V0dGluZzt/asLzp4elQgIAAHhwAAAAAXNyABd4c2J0aS5hcGkuT3V0cHV0U2V0dGluZ3rZmkd0+x17AgACTAAPb3V0cHV0RGlyZWN0b3J5dAASTGphdmEvbGFuZy9TdHJpbmc7TAAPc291cmNlRGlyZWN0b3J5cQB+AAZ4cHQAIS9ob21lL2pvam9sZXByby9Qcm9nL1Bva2VyQm90L2JpbnQAIS9ob21lL2pvam9sZXByby9Qcm9nL1Bva2VyQm90L3NyYw== +02 -> rO0ABXNyABV4c2J0aS5hcGkuQ29tcGlsYXRpb27t+uDDauigQgIAAkoACXN0YXJ0VGltZVsAB291dHB1dHN0ABpbTHhzYnRpL2FwaS9PdXRwdXRTZXR0aW5nO3hwAAABU+d+Pnd1cgAaW0x4c2J0aS5hcGkuT3V0cHV0U2V0dGluZzt/asLzp4elQgIAAHhwAAAAAXNyABd4c2J0aS5hcGkuT3V0cHV0U2V0dGluZ3rZmkd0+x17AgACTAAPb3V0cHV0RGlyZWN0b3J5dAASTGphdmEvbGFuZy9TdHJpbmc7TAAPc291cmNlRGlyZWN0b3J5cQB+AAZ4cHQAIS9ob21lL2pvam9sZXByby9Qcm9nL1Bva2VyQm90L2JpbnQAIS9ob21lL2pvam9sZXByby9Qcm9nL1Bva2VyQm90L3NyYw== +03 -> rO0ABXNyABV4c2J0aS5hcGkuQ29tcGlsYXRpb27t+uDDauigQgIAAkoACXN0YXJ0VGltZVsAB291dHB1dHN0ABpbTHhzYnRpL2FwaS9PdXRwdXRTZXR0aW5nO3hwAAABU+d+VjN1cgAaW0x4c2J0aS5hcGkuT3V0cHV0U2V0dGluZzt/asLzp4elQgIAAHhwAAAAAXNyABd4c2J0aS5hcGkuT3V0cHV0U2V0dGluZ3rZmkd0+x17AgACTAAPb3V0cHV0RGlyZWN0b3J5dAASTGphdmEvbGFuZy9TdHJpbmc7TAAPc291cmNlRGlyZWN0b3J5cQB+AAZ4cHQAIS9ob21lL2pvam9sZXByby9Qcm9nL1Bva2VyQm90L2JpbnQAIS9ob21lL2pvam9sZXByby9Qcm9nL1Bva2VyQm90L3NyYw== +04 -> rO0ABXNyABV4c2J0aS5hcGkuQ29tcGlsYXRpb27t+uDDauigQgIAAkoACXN0YXJ0VGltZVsAB291dHB1dHN0ABpbTHhzYnRpL2FwaS9PdXRwdXRTZXR0aW5nO3hwAAABU+d/CuN1cgAaW0x4c2J0aS5hcGkuT3V0cHV0U2V0dGluZzt/asLzp4elQgIAAHhwAAAAAXNyABd4c2J0aS5hcGkuT3V0cHV0U2V0dGluZ3rZmkd0+x17AgACTAAPb3V0cHV0RGlyZWN0b3J5dAASTGphdmEvbGFuZy9TdHJpbmc7TAAPc291cmNlRGlyZWN0b3J5cQB+AAZ4cHQAIS9ob21lL2pvam9sZXByby9Qcm9nL1Bva2VyQm90L2JpbnQAIS9ob21lL2pvam9sZXByby9Qcm9nL1Bva2VyQm90L3NyYw== +05 -> rO0ABXNyABV4c2J0aS5hcGkuQ29tcGlsYXRpb27t+uDDauigQgIAAkoACXN0YXJ0VGltZVsAB291dHB1dHN0ABpbTHhzYnRpL2FwaS9PdXRwdXRTZXR0aW5nO3hwAAABU+eLWYF1cgAaW0x4c2J0aS5hcGkuT3V0cHV0U2V0dGluZzt/asLzp4elQgIAAHhwAAAAAXNyABd4c2J0aS5hcGkuT3V0cHV0U2V0dGluZ3rZmkd0+x17AgACTAAPb3V0cHV0RGlyZWN0b3J5dAASTGphdmEvbGFuZy9TdHJpbmc7TAAPc291cmNlRGlyZWN0b3J5cQB+AAZ4cHQAIS9ob21lL2pvam9sZXByby9Qcm9nL1Bva2VyQm90L2JpbnQAIS9ob21lL2pvam9sZXByby9Qcm9nL1Bva2VyQm90L3NyYw== +06 -> rO0ABXNyABV4c2J0aS5hcGkuQ29tcGlsYXRpb27t+uDDauigQgIAAkoACXN0YXJ0VGltZVsAB291dHB1dHN0ABpbTHhzYnRpL2FwaS9PdXRwdXRTZXR0aW5nO3hwAAABU+eLaEV1cgAaW0x4c2J0aS5hcGkuT3V0cHV0U2V0dGluZzt/asLzp4elQgIAAHhwAAAAAXNyABd4c2J0aS5hcGkuT3V0cHV0U2V0dGluZ3rZmkd0+x17AgACTAAPb3V0cHV0RGlyZWN0b3J5dAASTGphdmEvbGFuZy9TdHJpbmc7TAAPc291cmNlRGlyZWN0b3J5cQB+AAZ4cHQAIS9ob21lL2pvam9sZXByby9Qcm9nL1Bva2VyQm90L2JpbnQAIS9ob21lL2pvam9sZXByby9Qcm9nL1Bva2VyQm90L3NyYw== +07 -> rO0ABXNyABV4c2J0aS5hcGkuQ29tcGlsYXRpb27t+uDDauigQgIAAkoACXN0YXJ0VGltZVsAB291dHB1dHN0ABpbTHhzYnRpL2FwaS9PdXRwdXRTZXR0aW5nO3hwAAABU+eNQKR1cgAaW0x4c2J0aS5hcGkuT3V0cHV0U2V0dGluZzt/asLzp4elQgIAAHhwAAAAAXNyABd4c2J0aS5hcGkuT3V0cHV0U2V0dGluZ3rZmkd0+x17AgACTAAPb3V0cHV0RGlyZWN0b3J5dAASTGphdmEvbGFuZy9TdHJpbmc7TAAPc291cmNlRGlyZWN0b3J5cQB+AAZ4cHQAIS9ob21lL2pvam9sZXByby9Qcm9nL1Bva2VyQm90L2JpbnQAIS9ob21lL2pvam9sZXByby9Qcm9nL1Bva2VyQm90L3NyYw== +08 -> rO0ABXNyABV4c2J0aS5hcGkuQ29tcGlsYXRpb27t+uDDauigQgIAAkoACXN0YXJ0VGltZVsAB291dHB1dHN0ABpbTHhzYnRpL2FwaS9PdXRwdXRTZXR0aW5nO3hwAAABU+eNrUh1cgAaW0x4c2J0aS5hcGkuT3V0cHV0U2V0dGluZzt/asLzp4elQgIAAHhwAAAAAXNyABd4c2J0aS5hcGkuT3V0cHV0U2V0dGluZ3rZmkd0+x17AgACTAAPb3V0cHV0RGlyZWN0b3J5dAASTGphdmEvbGFuZy9TdHJpbmc7TAAPc291cmNlRGlyZWN0b3J5cQB+AAZ4cHQAIS9ob21lL2pvam9sZXByby9Qcm9nL1Bva2VyQm90L2JpbnQAIS9ob21lL2pvam9sZXByby9Qcm9nL1Bva2VyQm90L3NyYw== +09 -> rO0ABXNyABV4c2J0aS5hcGkuQ29tcGlsYXRpb27t+uDDauigQgIAAkoACXN0YXJ0VGltZVsAB291dHB1dHN0ABpbTHhzYnRpL2FwaS9PdXRwdXRTZXR0aW5nO3hwAAABU+eN9o11cgAaW0x4c2J0aS5hcGkuT3V0cHV0U2V0dGluZzt/asLzp4elQgIAAHhwAAAAAXNyABd4c2J0aS5hcGkuT3V0cHV0U2V0dGluZ3rZmkd0+x17AgACTAAPb3V0cHV0RGlyZWN0b3J5dAASTGphdmEvbGFuZy9TdHJpbmc7TAAPc291cmNlRGlyZWN0b3J5cQB+AAZ4cHQAIS9ob21lL2pvam9sZXByby9Qcm9nL1Bva2VyQm90L2JpbnQAIS9ob21lL2pvam9sZXByby9Qcm9nL1Bva2VyQm90L3NyYw== +10 -> rO0ABXNyABV4c2J0aS5hcGkuQ29tcGlsYXRpb27t+uDDauigQgIAAkoACXN0YXJ0VGltZVsAB291dHB1dHN0ABpbTHhzYnRpL2FwaS9PdXRwdXRTZXR0aW5nO3hwAAABU+eP2Vh1cgAaW0x4c2J0aS5hcGkuT3V0cHV0U2V0dGluZzt/asLzp4elQgIAAHhwAAAAAXNyABd4c2J0aS5hcGkuT3V0cHV0U2V0dGluZ3rZmkd0+x17AgACTAAPb3V0cHV0RGlyZWN0b3J5dAASTGphdmEvbGFuZy9TdHJpbmc7TAAPc291cmNlRGlyZWN0b3J5cQB+AAZ4cHQAIS9ob21lL2pvam9sZXByby9Qcm9nL1Bva2VyQm90L2JpbnQAIS9ob21lL2pvam9sZXByby9Qcm9nL1Bva2VyQm90L3NyYw== +11 -> rO0ABXNyABV4c2J0aS5hcGkuQ29tcGlsYXRpb27t+uDDauigQgIAAkoACXN0YXJ0VGltZVsAB291dHB1dHN0ABpbTHhzYnRpL2FwaS9PdXRwdXRTZXR0aW5nO3hwAAABU+eQb9d1cgAaW0x4c2J0aS5hcGkuT3V0cHV0U2V0dGluZzt/asLzp4elQgIAAHhwAAAAAXNyABd4c2J0aS5hcGkuT3V0cHV0U2V0dGluZ3rZmkd0+x17AgACTAAPb3V0cHV0RGlyZWN0b3J5dAASTGphdmEvbGFuZy9TdHJpbmc7TAAPc291cmNlRGlyZWN0b3J5cQB+AAZ4cHQAIS9ob21lL2pvam9sZXByby9Qcm9nL1Bva2VyQm90L2JpbnQAIS9ob21lL2pvam9sZXByby9Qcm9nL1Bva2VyQm90L3NyYw== +12 -> rO0ABXNyABV4c2J0aS5hcGkuQ29tcGlsYXRpb27t+uDDauigQgIAAkoACXN0YXJ0VGltZVsAB291dHB1dHN0ABpbTHhzYnRpL2FwaS9PdXRwdXRTZXR0aW5nO3hwAAABU+eQqzJ1cgAaW0x4c2J0aS5hcGkuT3V0cHV0U2V0dGluZzt/asLzp4elQgIAAHhwAAAAAXNyABd4c2J0aS5hcGkuT3V0cHV0U2V0dGluZ3rZmkd0+x17AgACTAAPb3V0cHV0RGlyZWN0b3J5dAASTGphdmEvbGFuZy9TdHJpbmc7TAAPc291cmNlRGlyZWN0b3J5cQB+AAZ4cHQAIS9ob21lL2pvam9sZXByby9Qcm9nL1Bva2VyQm90L2JpbnQAIS9ob21lL2pvam9sZXByby9Qcm9nL1Bva2VyQm90L3NyYw== +13 -> rO0ABXNyABV4c2J0aS5hcGkuQ29tcGlsYXRpb27t+uDDauigQgIAAkoACXN0YXJ0VGltZVsAB291dHB1dHN0ABpbTHhzYnRpL2FwaS9PdXRwdXRTZXR0aW5nO3hwAAABU+eRlrt1cgAaW0x4c2J0aS5hcGkuT3V0cHV0U2V0dGluZzt/asLzp4elQgIAAHhwAAAAAXNyABd4c2J0aS5hcGkuT3V0cHV0U2V0dGluZ3rZmkd0+x17AgACTAAPb3V0cHV0RGlyZWN0b3J5dAASTGphdmEvbGFuZy9TdHJpbmc7TAAPc291cmNlRGlyZWN0b3J5cQB+AAZ4cHQAIS9ob21lL2pvam9sZXByby9Qcm9nL1Bva2VyQm90L2JpbnQAIS9ob21lL2pvam9sZXByby9Qcm9nL1Bva2VyQm90L3NyYw== +14 -> rO0ABXNyABV4c2J0aS5hcGkuQ29tcGlsYXRpb27t+uDDauigQgIAAkoACXN0YXJ0VGltZVsAB291dHB1dHN0ABpbTHhzYnRpL2FwaS9PdXRwdXRTZXR0aW5nO3hwAAABU+eSg5F1cgAaW0x4c2J0aS5hcGkuT3V0cHV0U2V0dGluZzt/asLzp4elQgIAAHhwAAAAAXNyABd4c2J0aS5hcGkuT3V0cHV0U2V0dGluZ3rZmkd0+x17AgACTAAPb3V0cHV0RGlyZWN0b3J5dAASTGphdmEvbGFuZy9TdHJpbmc7TAAPc291cmNlRGlyZWN0b3J5cQB+AAZ4cHQAIS9ob21lL2pvam9sZXByby9Qcm9nL1Bva2VyQm90L2JpbnQAIS9ob21lL2pvam9sZXByby9Qcm9nL1Bva2VyQm90L3NyYw== +15 -> rO0ABXNyABV4c2J0aS5hcGkuQ29tcGlsYXRpb27t+uDDauigQgIAAkoACXN0YXJ0VGltZVsAB291dHB1dHN0ABpbTHhzYnRpL2FwaS9PdXRwdXRTZXR0aW5nO3hwAAABU+eTEdp1cgAaW0x4c2J0aS5hcGkuT3V0cHV0U2V0dGluZzt/asLzp4elQgIAAHhwAAAAAXNyABd4c2J0aS5hcGkuT3V0cHV0U2V0dGluZ3rZmkd0+x17AgACTAAPb3V0cHV0RGlyZWN0b3J5dAASTGphdmEvbGFuZy9TdHJpbmc7TAAPc291cmNlRGlyZWN0b3J5cQB+AAZ4cHQAIS9ob21lL2pvam9sZXByby9Qcm9nL1Bva2VyQm90L2JpbnQAIS9ob21lL2pvam9sZXByby9Qcm9nL1Bva2VyQm90L3NyYw== +16 -> rO0ABXNyABV4c2J0aS5hcGkuQ29tcGlsYXRpb27t+uDDauigQgIAAkoACXN0YXJ0VGltZVsAB291dHB1dHN0ABpbTHhzYnRpL2FwaS9PdXRwdXRTZXR0aW5nO3hwAAABU+eTQo11cgAaW0x4c2J0aS5hcGkuT3V0cHV0U2V0dGluZzt/asLzp4elQgIAAHhwAAAAAXNyABd4c2J0aS5hcGkuT3V0cHV0U2V0dGluZ3rZmkd0+x17AgACTAAPb3V0cHV0RGlyZWN0b3J5dAASTGphdmEvbGFuZy9TdHJpbmc7TAAPc291cmNlRGlyZWN0b3J5cQB+AAZ4cHQAIS9ob21lL2pvam9sZXByby9Qcm9nL1Bva2VyQm90L2JpbnQAIS9ob21lL2pvam9sZXByby9Qcm9nL1Bva2VyQm90L3NyYw== +17 -> rO0ABXNyABV4c2J0aS5hcGkuQ29tcGlsYXRpb27t+uDDauigQgIAAkoACXN0YXJ0VGltZVsAB291dHB1dHN0ABpbTHhzYnRpL2FwaS9PdXRwdXRTZXR0aW5nO3hwAAABU+eTmpl1cgAaW0x4c2J0aS5hcGkuT3V0cHV0U2V0dGluZzt/asLzp4elQgIAAHhwAAAAAXNyABd4c2J0aS5hcGkuT3V0cHV0U2V0dGluZ3rZmkd0+x17AgACTAAPb3V0cHV0RGlyZWN0b3J5dAASTGphdmEvbGFuZy9TdHJpbmc7TAAPc291cmNlRGlyZWN0b3J5cQB+AAZ4cHQAIS9ob21lL2pvam9sZXByby9Qcm9nL1Bva2VyQm90L2JpbnQAIS9ob21lL2pvam9sZXByby9Qcm9nL1Bva2VyQm90L3NyYw== +18 -> rO0ABXNyABV4c2J0aS5hcGkuQ29tcGlsYXRpb27t+uDDauigQgIAAkoACXN0YXJ0VGltZVsAB291dHB1dHN0ABpbTHhzYnRpL2FwaS9PdXRwdXRTZXR0aW5nO3hwAAABU+eT/6Z1cgAaW0x4c2J0aS5hcGkuT3V0cHV0U2V0dGluZzt/asLzp4elQgIAAHhwAAAAAXNyABd4c2J0aS5hcGkuT3V0cHV0U2V0dGluZ3rZmkd0+x17AgACTAAPb3V0cHV0RGlyZWN0b3J5dAASTGphdmEvbGFuZy9TdHJpbmc7TAAPc291cmNlRGlyZWN0b3J5cQB+AAZ4cHQAIS9ob21lL2pvam9sZXByby9Qcm9nL1Bva2VyQm90L2JpbnQAIS9ob21lL2pvam9sZXByby9Qcm9nL1Bva2VyQm90L3NyYw== +19 -> rO0ABXNyABV4c2J0aS5hcGkuQ29tcGlsYXRpb27t+uDDauigQgIAAkoACXN0YXJ0VGltZVsAB291dHB1dHN0ABpbTHhzYnRpL2FwaS9PdXRwdXRTZXR0aW5nO3hwAAABU+eUWVF1cgAaW0x4c2J0aS5hcGkuT3V0cHV0U2V0dGluZzt/asLzp4elQgIAAHhwAAAAAXNyABd4c2J0aS5hcGkuT3V0cHV0U2V0dGluZ3rZmkd0+x17AgACTAAPb3V0cHV0RGlyZWN0b3J5dAASTGphdmEvbGFuZy9TdHJpbmc7TAAPc291cmNlRGlyZWN0b3J5cQB+AAZ4cHQAIS9ob21lL2pvam9sZXByby9Qcm9nL1Bva2VyQm90L2JpbnQAIS9ob21lL2pvam9sZXByby9Qcm9nL1Bva2VyQm90L3NyYw== +20 -> rO0ABXNyABV4c2J0aS5hcGkuQ29tcGlsYXRpb27t+uDDauigQgIAAkoACXN0YXJ0VGltZVsAB291dHB1dHN0ABpbTHhzYnRpL2FwaS9PdXRwdXRTZXR0aW5nO3hwAAABU+eUxJh1cgAaW0x4c2J0aS5hcGkuT3V0cHV0U2V0dGluZzt/asLzp4elQgIAAHhwAAAAAXNyABd4c2J0aS5hcGkuT3V0cHV0U2V0dGluZ3rZmkd0+x17AgACTAAPb3V0cHV0RGlyZWN0b3J5dAASTGphdmEvbGFuZy9TdHJpbmc7TAAPc291cmNlRGlyZWN0b3J5cQB+AAZ4cHQAIS9ob21lL2pvam9sZXByby9Qcm9nL1Bva2VyQm90L2JpbnQAIS9ob21lL2pvam9sZXByby9Qcm9nL1Bva2VyQm90L3NyYw== +21 -> rO0ABXNyABV4c2J0aS5hcGkuQ29tcGlsYXRpb27t+uDDauigQgIAAkoACXN0YXJ0VGltZVsAB291dHB1dHN0ABpbTHhzYnRpL2FwaS9PdXRwdXRTZXR0aW5nO3hwAAABU+eU/2Z1cgAaW0x4c2J0aS5hcGkuT3V0cHV0U2V0dGluZzt/asLzp4elQgIAAHhwAAAAAXNyABd4c2J0aS5hcGkuT3V0cHV0U2V0dGluZ3rZmkd0+x17AgACTAAPb3V0cHV0RGlyZWN0b3J5dAASTGphdmEvbGFuZy9TdHJpbmc7TAAPc291cmNlRGlyZWN0b3J5cQB+AAZ4cHQAIS9ob21lL2pvam9sZXByby9Qcm9nL1Bva2VyQm90L2JpbnQAIS9ob21lL2pvam9sZXByby9Qcm9nL1Bva2VyQm90L3NyYw== +22 -> rO0ABXNyABV4c2J0aS5hcGkuQ29tcGlsYXRpb27t+uDDauigQgIAAkoACXN0YXJ0VGltZVsAB291dHB1dHN0ABpbTHhzYnRpL2FwaS9PdXRwdXRTZXR0aW5nO3hwAAABU+eVLdR1cgAaW0x4c2J0aS5hcGkuT3V0cHV0U2V0dGluZzt/asLzp4elQgIAAHhwAAAAAXNyABd4c2J0aS5hcGkuT3V0cHV0U2V0dGluZ3rZmkd0+x17AgACTAAPb3V0cHV0RGlyZWN0b3J5dAASTGphdmEvbGFuZy9TdHJpbmc7TAAPc291cmNlRGlyZWN0b3J5cQB+AAZ4cHQAIS9ob21lL2pvam9sZXByby9Qcm9nL1Bva2VyQm90L2JpbnQAIS9ob21lL2pvam9sZXByby9Qcm9nL1Bva2VyQm90L3NyYw== +23 -> rO0ABXNyABV4c2J0aS5hcGkuQ29tcGlsYXRpb27t+uDDauigQgIAAkoACXN0YXJ0VGltZVsAB291dHB1dHN0ABpbTHhzYnRpL2FwaS9PdXRwdXRTZXR0aW5nO3hwAAABU+eWGN91cgAaW0x4c2J0aS5hcGkuT3V0cHV0U2V0dGluZzt/asLzp4elQgIAAHhwAAAAAXNyABd4c2J0aS5hcGkuT3V0cHV0U2V0dGluZ3rZmkd0+x17AgACTAAPb3V0cHV0RGlyZWN0b3J5dAASTGphdmEvbGFuZy9TdHJpbmc7TAAPc291cmNlRGlyZWN0b3J5cQB+AAZ4cHQAIS9ob21lL2pvam9sZXByby9Qcm9nL1Bva2VyQm90L2JpbnQAIS9ob21lL2pvam9sZXByby9Qcm9nL1Bva2VyQm90L3NyYw== +24 -> rO0ABXNyABV4c2J0aS5hcGkuQ29tcGlsYXRpb27t+uDDauigQgIAAkoACXN0YXJ0VGltZVsAB291dHB1dHN0ABpbTHhzYnRpL2FwaS9PdXRwdXRTZXR0aW5nO3hwAAABU+eWa3B1cgAaW0x4c2J0aS5hcGkuT3V0cHV0U2V0dGluZzt/asLzp4elQgIAAHhwAAAAAXNyABd4c2J0aS5hcGkuT3V0cHV0U2V0dGluZ3rZmkd0+x17AgACTAAPb3V0cHV0RGlyZWN0b3J5dAASTGphdmEvbGFuZy9TdHJpbmc7TAAPc291cmNlRGlyZWN0b3J5cQB+AAZ4cHQAIS9ob21lL2pvam9sZXByby9Qcm9nL1Bva2VyQm90L2JpbnQAIS9ob21lL2pvam9sZXByby9Qcm9nL1Bva2VyQm90L3NyYw== +25 -> rO0ABXNyABV4c2J0aS5hcGkuQ29tcGlsYXRpb27t+uDDauigQgIAAkoACXN0YXJ0VGltZVsAB291dHB1dHN0ABpbTHhzYnRpL2FwaS9PdXRwdXRTZXR0aW5nO3hwAAABU+eWw591cgAaW0x4c2J0aS5hcGkuT3V0cHV0U2V0dGluZzt/asLzp4elQgIAAHhwAAAAAXNyABd4c2J0aS5hcGkuT3V0cHV0U2V0dGluZ3rZmkd0+x17AgACTAAPb3V0cHV0RGlyZWN0b3J5dAASTGphdmEvbGFuZy9TdHJpbmc7TAAPc291cmNlRGlyZWN0b3J5cQB+AAZ4cHQAIS9ob21lL2pvam9sZXByby9Qcm9nL1Bva2VyQm90L2JpbnQAIS9ob21lL2pvam9sZXByby9Qcm9nL1Bva2VyQm90L3NyYw== +26 -> rO0ABXNyABV4c2J0aS5hcGkuQ29tcGlsYXRpb27t+uDDauigQgIAAkoACXN0YXJ0VGltZVsAB291dHB1dHN0ABpbTHhzYnRpL2FwaS9PdXRwdXRTZXR0aW5nO3hwAAABU+eYXBJ1cgAaW0x4c2J0aS5hcGkuT3V0cHV0U2V0dGluZzt/asLzp4elQgIAAHhwAAAAAXNyABd4c2J0aS5hcGkuT3V0cHV0U2V0dGluZ3rZmkd0+x17AgACTAAPb3V0cHV0RGlyZWN0b3J5dAASTGphdmEvbGFuZy9TdHJpbmc7TAAPc291cmNlRGlyZWN0b3J5cQB+AAZ4cHQAIS9ob21lL2pvam9sZXByby9Qcm9nL1Bva2VyQm90L2JpbnQAIS9ob21lL2pvam9sZXByby9Qcm9nL1Bva2VyQm90L3NyYw== +27 -> rO0ABXNyABV4c2J0aS5hcGkuQ29tcGlsYXRpb27t+uDDauigQgIAAkoACXN0YXJ0VGltZVsAB291dHB1dHN0ABpbTHhzYnRpL2FwaS9PdXRwdXRTZXR0aW5nO3hwAAABU+ecDlJ1cgAaW0x4c2J0aS5hcGkuT3V0cHV0U2V0dGluZzt/asLzp4elQgIAAHhwAAAAAXNyABd4c2J0aS5hcGkuT3V0cHV0U2V0dGluZ3rZmkd0+x17AgACTAAPb3V0cHV0RGlyZWN0b3J5dAASTGphdmEvbGFuZy9TdHJpbmc7TAAPc291cmNlRGlyZWN0b3J5cQB+AAZ4cHQAIS9ob21lL2pvam9sZXByby9Qcm9nL1Bva2VyQm90L2JpbnQAIS9ob21lL2pvam9sZXByby9Qcm9nL1Bva2VyQm90L3NyYw== +28 -> rO0ABXNyABV4c2J0aS5hcGkuQ29tcGlsYXRpb27t+uDDauigQgIAAkoACXN0YXJ0VGltZVsAB291dHB1dHN0ABpbTHhzYnRpL2FwaS9PdXRwdXRTZXR0aW5nO3hwAAABU+eetAB1cgAaW0x4c2J0aS5hcGkuT3V0cHV0U2V0dGluZzt/asLzp4elQgIAAHhwAAAAAXNyABd4c2J0aS5hcGkuT3V0cHV0U2V0dGluZ3rZmkd0+x17AgACTAAPb3V0cHV0RGlyZWN0b3J5dAASTGphdmEvbGFuZy9TdHJpbmc7TAAPc291cmNlRGlyZWN0b3J5cQB+AAZ4cHQAIS9ob21lL2pvam9sZXByby9Qcm9nL1Bva2VyQm90L2JpbnQAIS9ob21lL2pvam9sZXByby9Qcm9nL1Bva2VyQm90L3NyYw== +29 -> rO0ABXNyABV4c2J0aS5hcGkuQ29tcGlsYXRpb27t+uDDauigQgIAAkoACXN0YXJ0VGltZVsAB291dHB1dHN0ABpbTHhzYnRpL2FwaS9PdXRwdXRTZXR0aW5nO3hwAAABU+ee2ch1cgAaW0x4c2J0aS5hcGkuT3V0cHV0U2V0dGluZzt/asLzp4elQgIAAHhwAAAAAXNyABd4c2J0aS5hcGkuT3V0cHV0U2V0dGluZ3rZmkd0+x17AgACTAAPb3V0cHV0RGlyZWN0b3J5dAASTGphdmEvbGFuZy9TdHJpbmc7TAAPc291cmNlRGlyZWN0b3J5cQB+AAZ4cHQAIS9ob21lL2pvam9sZXByby9Qcm9nL1Bva2VyQm90L2JpbnQAIS9ob21lL2pvam9sZXByby9Qcm9nL1Bva2VyQm90L3NyYw== +30 -> rO0ABXNyABV4c2J0aS5hcGkuQ29tcGlsYXRpb27t+uDDauigQgIAAkoACXN0YXJ0VGltZVsAB291dHB1dHN0ABpbTHhzYnRpL2FwaS9PdXRwdXRTZXR0aW5nO3hwAAABU+eiLtF1cgAaW0x4c2J0aS5hcGkuT3V0cHV0U2V0dGluZzt/asLzp4elQgIAAHhwAAAAAXNyABd4c2J0aS5hcGkuT3V0cHV0U2V0dGluZ3rZmkd0+x17AgACTAAPb3V0cHV0RGlyZWN0b3J5dAASTGphdmEvbGFuZy9TdHJpbmc7TAAPc291cmNlRGlyZWN0b3J5cQB+AAZ4cHQAIS9ob21lL2pvam9sZXByby9Qcm9nL1Bva2VyQm90L2JpbnQAIS9ob21lL2pvam9sZXByby9Qcm9nL1Bva2VyQm90L3NyYw== +31 -> rO0ABXNyABV4c2J0aS5hcGkuQ29tcGlsYXRpb27t+uDDauigQgIAAkoACXN0YXJ0VGltZVsAB291dHB1dHN0ABpbTHhzYnRpL2FwaS9PdXRwdXRTZXR0aW5nO3hwAAABU+ei3cF1cgAaW0x4c2J0aS5hcGkuT3V0cHV0U2V0dGluZzt/asLzp4elQgIAAHhwAAAAAXNyABd4c2J0aS5hcGkuT3V0cHV0U2V0dGluZ3rZmkd0+x17AgACTAAPb3V0cHV0RGlyZWN0b3J5dAASTGphdmEvbGFuZy9TdHJpbmc7TAAPc291cmNlRGlyZWN0b3J5cQB+AAZ4cHQAIS9ob21lL2pvam9sZXByby9Qcm9nL1Bva2VyQm90L2JpbnQAIS9ob21lL2pvam9sZXByby9Qcm9nL1Bva2VyQm90L3NyYw== +32 -> rO0ABXNyABV4c2J0aS5hcGkuQ29tcGlsYXRpb27t+uDDauigQgIAAkoACXN0YXJ0VGltZVsAB291dHB1dHN0ABpbTHhzYnRpL2FwaS9PdXRwdXRTZXR0aW5nO3hwAAABU+erD2h1cgAaW0x4c2J0aS5hcGkuT3V0cHV0U2V0dGluZzt/asLzp4elQgIAAHhwAAAAAXNyABd4c2J0aS5hcGkuT3V0cHV0U2V0dGluZ3rZmkd0+x17AgACTAAPb3V0cHV0RGlyZWN0b3J5dAASTGphdmEvbGFuZy9TdHJpbmc7TAAPc291cmNlRGlyZWN0b3J5cQB+AAZ4cHQAIS9ob21lL2pvam9sZXByby9Qcm9nL1Bva2VyQm90L2JpbnQAIS9ob21lL2pvam9sZXByby9Qcm9nL1Bva2VyQm90L3NyYw== +33 -> rO0ABXNyABV4c2J0aS5hcGkuQ29tcGlsYXRpb27t+uDDauigQgIAAkoACXN0YXJ0VGltZVsAB291dHB1dHN0ABpbTHhzYnRpL2FwaS9PdXRwdXRTZXR0aW5nO3hwAAABU+f6mP91cgAaW0x4c2J0aS5hcGkuT3V0cHV0U2V0dGluZzt/asLzp4elQgIAAHhwAAAAAXNyABd4c2J0aS5hcGkuT3V0cHV0U2V0dGluZ3rZmkd0+x17AgACTAAPb3V0cHV0RGlyZWN0b3J5dAASTGphdmEvbGFuZy9TdHJpbmc7TAAPc291cmNlRGlyZWN0b3J5cQB+AAZ4cHQAIS9ob21lL2pvam9sZXByby9Qcm9nL1Bva2VyQm90L2JpbnQAIS9ob21lL2pvam9sZXByby9Qcm9nL1Bva2VyQm90L3NyYw== +34 -> rO0ABXNyABV4c2J0aS5hcGkuQ29tcGlsYXRpb27t+uDDauigQgIAAkoACXN0YXJ0VGltZVsAB291dHB1dHN0ABpbTHhzYnRpL2FwaS9PdXRwdXRTZXR0aW5nO3hwAAABU+f9J0d1cgAaW0x4c2J0aS5hcGkuT3V0cHV0U2V0dGluZzt/asLzp4elQgIAAHhwAAAAAXNyABd4c2J0aS5hcGkuT3V0cHV0U2V0dGluZ3rZmkd0+x17AgACTAAPb3V0cHV0RGlyZWN0b3J5dAASTGphdmEvbGFuZy9TdHJpbmc7TAAPc291cmNlRGlyZWN0b3J5cQB+AAZ4cHQAIS9ob21lL2pvam9sZXByby9Qcm9nL1Bva2VyQm90L2JpbnQAIS9ob21lL2pvam9sZXByby9Qcm9nL1Bva2VyQm90L3NyYw== +35 -> rO0ABXNyABV4c2J0aS5hcGkuQ29tcGlsYXRpb27t+uDDauigQgIAAkoACXN0YXJ0VGltZVsAB291dHB1dHN0ABpbTHhzYnRpL2FwaS9PdXRwdXRTZXR0aW5nO3hwAAABU+gBZVV1cgAaW0x4c2J0aS5hcGkuT3V0cHV0U2V0dGluZzt/asLzp4elQgIAAHhwAAAAAXNyABd4c2J0aS5hcGkuT3V0cHV0U2V0dGluZ3rZmkd0+x17AgACTAAPb3V0cHV0RGlyZWN0b3J5dAASTGphdmEvbGFuZy9TdHJpbmc7TAAPc291cmNlRGlyZWN0b3J5cQB+AAZ4cHQAIS9ob21lL2pvam9sZXByby9Qcm9nL1Bva2VyQm90L2JpbnQAIS9ob21lL2pvam9sZXByby9Qcm9nL1Bva2VyQm90L3NyYw== +36 -> rO0ABXNyABV4c2J0aS5hcGkuQ29tcGlsYXRpb27t+uDDauigQgIAAkoACXN0YXJ0VGltZVsAB291dHB1dHN0ABpbTHhzYnRpL2FwaS9PdXRwdXRTZXR0aW5nO3hwAAABU+gJU7h1cgAaW0x4c2J0aS5hcGkuT3V0cHV0U2V0dGluZzt/asLzp4elQgIAAHhwAAAAAXNyABd4c2J0aS5hcGkuT3V0cHV0U2V0dGluZ3rZmkd0+x17AgACTAAPb3V0cHV0RGlyZWN0b3J5dAASTGphdmEvbGFuZy9TdHJpbmc7TAAPc291cmNlRGlyZWN0b3J5cQB+AAZ4cHQAIS9ob21lL2pvam9sZXByby9Qcm9nL1Bva2VyQm90L2JpbnQAIS9ob21lL2pvam9sZXByby9Qcm9nL1Bva2VyQm90L3NyYw== +37 -> rO0ABXNyABV4c2J0aS5hcGkuQ29tcGlsYXRpb27t+uDDauigQgIAAkoACXN0YXJ0VGltZVsAB291dHB1dHN0ABpbTHhzYnRpL2FwaS9PdXRwdXRTZXR0aW5nO3hwAAABU+gK9sl1cgAaW0x4c2J0aS5hcGkuT3V0cHV0U2V0dGluZzt/asLzp4elQgIAAHhwAAAAAXNyABd4c2J0aS5hcGkuT3V0cHV0U2V0dGluZ3rZmkd0+x17AgACTAAPb3V0cHV0RGlyZWN0b3J5dAASTGphdmEvbGFuZy9TdHJpbmc7TAAPc291cmNlRGlyZWN0b3J5cQB+AAZ4cHQAIS9ob21lL2pvam9sZXByby9Qcm9nL1Bva2VyQm90L2JpbnQAIS9ob21lL2pvam9sZXByby9Qcm9nL1Bva2VyQm90L3NyYw== +38 -> rO0ABXNyABV4c2J0aS5hcGkuQ29tcGlsYXRpb27t+uDDauigQgIAAkoACXN0YXJ0VGltZVsAB291dHB1dHN0ABpbTHhzYnRpL2FwaS9PdXRwdXRTZXR0aW5nO3hwAAABU+gM3v91cgAaW0x4c2J0aS5hcGkuT3V0cHV0U2V0dGluZzt/asLzp4elQgIAAHhwAAAAAXNyABd4c2J0aS5hcGkuT3V0cHV0U2V0dGluZ3rZmkd0+x17AgACTAAPb3V0cHV0RGlyZWN0b3J5dAASTGphdmEvbGFuZy9TdHJpbmc7TAAPc291cmNlRGlyZWN0b3J5cQB+AAZ4cHQAIS9ob21lL2pvam9sZXByby9Qcm9nL1Bva2VyQm90L2JpbnQAIS9ob21lL2pvam9sZXByby9Qcm9nL1Bva2VyQm90L3NyYw== +39 -> rO0ABXNyABV4c2J0aS5hcGkuQ29tcGlsYXRpb27t+uDDauigQgIAAkoACXN0YXJ0VGltZVsAB291dHB1dHN0ABpbTHhzYnRpL2FwaS9PdXRwdXRTZXR0aW5nO3hwAAABU+gqOld1cgAaW0x4c2J0aS5hcGkuT3V0cHV0U2V0dGluZzt/asLzp4elQgIAAHhwAAAAAXNyABd4c2J0aS5hcGkuT3V0cHV0U2V0dGluZ3rZmkd0+x17AgACTAAPb3V0cHV0RGlyZWN0b3J5dAASTGphdmEvbGFuZy9TdHJpbmc7TAAPc291cmNlRGlyZWN0b3J5cQB+AAZ4cHQAIS9ob21lL2pvam9sZXByby9Qcm9nL1Bva2VyQm90L2JpbnQAIS9ob21lL2pvam9sZXByby9Qcm9nL1Bva2VyQm90L3NyYw== +40 -> rO0ABXNyABV4c2J0aS5hcGkuQ29tcGlsYXRpb27t+uDDauigQgIAAkoACXN0YXJ0VGltZVsAB291dHB1dHN0ABpbTHhzYnRpL2FwaS9PdXRwdXRTZXR0aW5nO3hwAAABU+gqZDh1cgAaW0x4c2J0aS5hcGkuT3V0cHV0U2V0dGluZzt/asLzp4elQgIAAHhwAAAAAXNyABd4c2J0aS5hcGkuT3V0cHV0U2V0dGluZ3rZmkd0+x17AgACTAAPb3V0cHV0RGlyZWN0b3J5dAASTGphdmEvbGFuZy9TdHJpbmc7TAAPc291cmNlRGlyZWN0b3J5cQB+AAZ4cHQAIS9ob21lL2pvam9sZXByby9Qcm9nL1Bva2VyQm90L2JpbnQAIS9ob21lL2pvam9sZXByby9Qcm9nL1Bva2VyQm90L3NyYw== +41 -> rO0ABXNyABV4c2J0aS5hcGkuQ29tcGlsYXRpb27t+uDDauigQgIAAkoACXN0YXJ0VGltZVsAB291dHB1dHN0ABpbTHhzYnRpL2FwaS9PdXRwdXRTZXR0aW5nO3hwAAABU+u7tnR1cgAaW0x4c2J0aS5hcGkuT3V0cHV0U2V0dGluZzt/asLzp4elQgIAAHhwAAAAAXNyABd4c2J0aS5hcGkuT3V0cHV0U2V0dGluZ3rZmkd0+x17AgACTAAPb3V0cHV0RGlyZWN0b3J5dAASTGphdmEvbGFuZy9TdHJpbmc7TAAPc291cmNlRGlyZWN0b3J5cQB+AAZ4cHQAIS9ob21lL2pvam9sZXByby9Qcm9nL1Bva2VyQm90L2JpbnQAIS9ob21lL2pvam9sZXByby9Qcm9nL1Bva2VyQm90L3NyYw== +42 -> rO0ABXNyABV4c2J0aS5hcGkuQ29tcGlsYXRpb27t+uDDauigQgIAAkoACXN0YXJ0VGltZVsAB291dHB1dHN0ABpbTHhzYnRpL2FwaS9PdXRwdXRTZXR0aW5nO3hwAAABU+u7xZp1cgAaW0x4c2J0aS5hcGkuT3V0cHV0U2V0dGluZzt/asLzp4elQgIAAHhwAAAAAXNyABd4c2J0aS5hcGkuT3V0cHV0U2V0dGluZ3rZmkd0+x17AgACTAAPb3V0cHV0RGlyZWN0b3J5dAASTGphdmEvbGFuZy9TdHJpbmc7TAAPc291cmNlRGlyZWN0b3J5cQB+AAZ4cHQAIS9ob21lL2pvam9sZXByby9Qcm9nL1Bva2VyQm90L2JpbnQAIS9ob21lL2pvam9sZXByby9Qcm9nL1Bva2VyQm90L3NyYw== +43 -> rO0ABXNyABV4c2J0aS5hcGkuQ29tcGlsYXRpb27t+uDDauigQgIAAkoACXN0YXJ0VGltZVsAB291dHB1dHN0ABpbTHhzYnRpL2FwaS9PdXRwdXRTZXR0aW5nO3hwAAABU+u87sV1cgAaW0x4c2J0aS5hcGkuT3V0cHV0U2V0dGluZzt/asLzp4elQgIAAHhwAAAAAXNyABd4c2J0aS5hcGkuT3V0cHV0U2V0dGluZ3rZmkd0+x17AgACTAAPb3V0cHV0RGlyZWN0b3J5dAASTGphdmEvbGFuZy9TdHJpbmc7TAAPc291cmNlRGlyZWN0b3J5cQB+AAZ4cHQAIS9ob21lL2pvam9sZXByby9Qcm9nL1Bva2VyQm90L2JpbnQAIS9ob21lL2pvam9sZXByby9Qcm9nL1Bva2VyQm90L3NyYw== +44 -> rO0ABXNyABV4c2J0aS5hcGkuQ29tcGlsYXRpb27t+uDDauigQgIAAkoACXN0YXJ0VGltZVsAB291dHB1dHN0ABpbTHhzYnRpL2FwaS9PdXRwdXRTZXR0aW5nO3hwAAABU+vGoHV1cgAaW0x4c2J0aS5hcGkuT3V0cHV0U2V0dGluZzt/asLzp4elQgIAAHhwAAAAAXNyABd4c2J0aS5hcGkuT3V0cHV0U2V0dGluZ3rZmkd0+x17AgACTAAPb3V0cHV0RGlyZWN0b3J5dAASTGphdmEvbGFuZy9TdHJpbmc7TAAPc291cmNlRGlyZWN0b3J5cQB+AAZ4cHQAIS9ob21lL2pvam9sZXByby9Qcm9nL1Bva2VyQm90L2JpbnQAIS9ob21lL2pvam9sZXByby9Qcm9nL1Bva2VyQm90L3NyYw== +45 -> rO0ABXNyABV4c2J0aS5hcGkuQ29tcGlsYXRpb27t+uDDauigQgIAAkoACXN0YXJ0VGltZVsAB291dHB1dHN0ABpbTHhzYnRpL2FwaS9PdXRwdXRTZXR0aW5nO3hwAAABU+vHaCB1cgAaW0x4c2J0aS5hcGkuT3V0cHV0U2V0dGluZzt/asLzp4elQgIAAHhwAAAAAXNyABd4c2J0aS5hcGkuT3V0cHV0U2V0dGluZ3rZmkd0+x17AgACTAAPb3V0cHV0RGlyZWN0b3J5dAASTGphdmEvbGFuZy9TdHJpbmc7TAAPc291cmNlRGlyZWN0b3J5cQB+AAZ4cHQAIS9ob21lL2pvam9sZXByby9Qcm9nL1Bva2VyQm90L2JpbnQAIS9ob21lL2pvam9sZXByby9Qcm9nL1Bva2VyQm90L3NyYw== +46 -> rO0ABXNyABV4c2J0aS5hcGkuQ29tcGlsYXRpb27t+uDDauigQgIAAkoACXN0YXJ0VGltZVsAB291dHB1dHN0ABpbTHhzYnRpL2FwaS9PdXRwdXRTZXR0aW5nO3hwAAABU+vHpq11cgAaW0x4c2J0aS5hcGkuT3V0cHV0U2V0dGluZzt/asLzp4elQgIAAHhwAAAAAXNyABd4c2J0aS5hcGkuT3V0cHV0U2V0dGluZ3rZmkd0+x17AgACTAAPb3V0cHV0RGlyZWN0b3J5dAASTGphdmEvbGFuZy9TdHJpbmc7TAAPc291cmNlRGlyZWN0b3J5cQB+AAZ4cHQAIS9ob21lL2pvam9sZXByby9Qcm9nL1Bva2VyQm90L2JpbnQAIS9ob21lL2pvam9sZXByby9Qcm9nL1Bva2VyQm90L3NyYw== +47 -> rO0ABXNyABV4c2J0aS5hcGkuQ29tcGlsYXRpb27t+uDDauigQgIAAkoACXN0YXJ0VGltZVsAB291dHB1dHN0ABpbTHhzYnRpL2FwaS9PdXRwdXRTZXR0aW5nO3hwAAABU+vIVVN1cgAaW0x4c2J0aS5hcGkuT3V0cHV0U2V0dGluZzt/asLzp4elQgIAAHhwAAAAAXNyABd4c2J0aS5hcGkuT3V0cHV0U2V0dGluZ3rZmkd0+x17AgACTAAPb3V0cHV0RGlyZWN0b3J5dAASTGphdmEvbGFuZy9TdHJpbmc7TAAPc291cmNlRGlyZWN0b3J5cQB+AAZ4cHQAIS9ob21lL2pvam9sZXByby9Qcm9nL1Bva2VyQm90L2JpbnQAIS9ob21lL2pvam9sZXByby9Qcm9nL1Bva2VyQm90L3NyYw== diff --git a/.classpath b/.classpath @@ -0,0 +1,29 @@ +<?xml version="1.0" encoding="UTF-8"?> +<classpath> + <classpathentry kind="src" path="src"/> + <classpathentry kind="con" path="org.scala-ide.sdt.launching.SCALA_CONTAINER"/> + <classpathentry kind="lib" path="lib/commons-beanutils-1.9.2.jar"/> + <classpathentry kind="lib" path="lib/commons-io-2.4.jar"/> + <classpathentry kind="lib" path="lib/commons-logging-1.2.jar"/> + <classpathentry kind="lib" path="lib/ghost4j-1.0.1.jar"/> + <classpathentry kind="lib" path="lib/hamcrest-core-1.3.jar"/> + <classpathentry kind="lib" path="lib/itext-2.1.7.jar"/> + <classpathentry kind="lib" path="lib/jai-imageio-core-1.3.1.jar"/> + <classpathentry kind="lib" path="lib/jna-4.2.2.jar"/> + <classpathentry kind="lib" path="lib/jul-to-slf4j-1.7.19.jar"/> + <classpathentry kind="lib" path="lib/junit-4.12.jar"/> + <classpathentry kind="lib" path="lib/lept4j-1.1.2.jar"/> + <classpathentry kind="lib" path="lib/log4j-1.2.17.jar"/> + <classpathentry kind="lib" path="lib/logback-classic-1.1.6.jar"/> + <classpathentry kind="lib" path="lib/logback-core-1.1.6.jar"/> + <classpathentry kind="lib" path="lib/opencv-310.jar"/> + <classpathentry kind="lib" path="lib/rococoa-core-0.5.jar"/> + <classpathentry kind="lib" path="lib/slf4j-api-1.7.19.jar"/> + <classpathentry kind="lib" path="lib/tess4j-3.1.jar"/> + <classpathentry kind="lib" path="lib/xmlgraphics-commons-1.5.jar"/> + <classpathentry kind="lib" path="lib/JojoleproUtilsV0.3.0A.jar"/> + <classpathentry kind="con" path="org.eclipse.jdt.launching.JRE_CONTAINER"/> + <classpathentry kind="lib" path="lib/selenium-java-2.53.0.jar"/> + <classpathentry kind="lib" path="lib/selenium-server-standalone-2.53.0.jar"/> + <classpathentry kind="output" path="bin"/> +</classpath> diff --git a/.idea/codeStyleSettings.xml b/.idea/codeStyleSettings.xml @@ -0,0 +1,9 @@ +<?xml version="1.0" encoding="UTF-8"?> +<project version="4"> + <component name="ProjectCodeStyleSettingsManager"> + <option name="PER_PROJECT_SETTINGS"> + <value /> + </option> + <option name="PREFERRED_PROJECT_CODE_STYLE" value="Default (1)" /> + </component> +</project>+ \ No newline at end of file diff --git a/.idea/compiler.xml b/.idea/compiler.xml @@ -0,0 +1,22 @@ +<?xml version="1.0" encoding="UTF-8"?> +<project version="4"> + <component name="CompilerConfiguration"> + <resourceExtensions /> + <wildcardResourcePatterns> + <entry name="!?*.java" /> + <entry name="!?*.form" /> + <entry name="!?*.class" /> + <entry name="!?*.groovy" /> + <entry name="!?*.scala" /> + <entry name="!?*.flex" /> + <entry name="!?*.kt" /> + <entry name="!?*.clj" /> + <entry name="!?*.aj" /> + </wildcardResourcePatterns> + <annotationProcessing> + <profile default="true" name="Default" enabled="false"> + <processorPath useClasspath="true" /> + </profile> + </annotationProcessing> + </component> +</project>+ \ No newline at end of file diff --git a/.idea/copyright/profiles_settings.xml b/.idea/copyright/profiles_settings.xml @@ -0,0 +1,3 @@ +<component name="CopyrightManager"> + <settings default="" /> +</component>+ \ No newline at end of file diff --git a/.idea/dictionaries/jojolepro.xml b/.idea/dictionaries/jojolepro.xml @@ -0,0 +1,3 @@ +<component name="ProjectDictionaryState"> + <dictionary name="jojolepro" /> +</component>+ \ No newline at end of file diff --git a/.idea/inspectionProfiles/Project_Default.xml b/.idea/inspectionProfiles/Project_Default.xml @@ -0,0 +1,14 @@ +<component name="InspectionProjectProfileManager"> + <profile version="1.0"> + <option name="myName" value="Project Default" /> + <inspection_tool class="LoggerInitializedWithForeignClass" enabled="false" level="WARNING" enabled_by_default="false"> + <option name="loggerClassName" value="org.apache.log4j.Logger,org.slf4j.LoggerFactory,org.apache.commons.logging.LogFactory,java.util.logging.Logger" /> + <option name="loggerFactoryMethodName" value="getLogger,getLogger,getLog,getLogger" /> + </inspection_tool> + <inspection_tool class="SpellCheckingInspection" enabled="false" level="TYPO" enabled_by_default="false"> + <option name="processCode" value="true" /> + <option name="processLiterals" value="true" /> + <option name="processComments" value="true" /> + </inspection_tool> + </profile> +</component>+ \ No newline at end of file diff --git a/.idea/inspectionProfiles/profiles_settings.xml b/.idea/inspectionProfiles/profiles_settings.xml @@ -0,0 +1,7 @@ +<component name="InspectionProjectProfileManager"> + <settings> + <option name="PROJECT_PROFILE" value="Project Default" /> + <option name="USE_PROJECT_PROFILE" value="true" /> + <version value="1.0" /> + </settings> +</component>+ \ No newline at end of file diff --git a/.idea/misc.xml b/.idea/misc.xml @@ -0,0 +1,35 @@ +<?xml version="1.0" encoding="UTF-8"?> +<project version="4"> + <component name="EntryPointsManager"> + <entry_points version="2.0" /> + </component> + <component name="ProjectLevelVcsManager" settingsEditedManually="false"> + <OptionsSetting value="true" id="Add" /> + <OptionsSetting value="true" id="Remove" /> + <OptionsSetting value="true" id="Checkout" /> + <OptionsSetting value="true" id="Update" /> + <OptionsSetting value="true" id="Status" /> + <OptionsSetting value="true" id="Edit" /> + <ConfirmationsSetting value="0" id="Add" /> + <ConfirmationsSetting value="0" id="Remove" /> + </component> + <component name="ProjectRootManager" version="2" languageLevel="JDK_1_8" default="true" assert-keyword="true" jdk-15="true" project-jdk-name="1.8" project-jdk-type="JavaSDK"> + <output url="file://$PROJECT_DIR$/classes" /> + </component> + <component name="masterDetails"> + <states> + <state key="ProjectJDKs.UI"> + <settings> + <last-edited>1.8</last-edited> + <splitter-proportions> + <option name="proportions"> + <list> + <option value="0.2" /> + </list> + </option> + </splitter-proportions> + </settings> + </state> + </states> + </component> +</project>+ \ No newline at end of file diff --git a/.idea/modules.xml b/.idea/modules.xml @@ -0,0 +1,8 @@ +<?xml version="1.0" encoding="UTF-8"?> +<project version="4"> + <component name="ProjectModuleManager"> + <modules> + <module fileurl="file://$PROJECT_DIR$/PokerBot.iml" filepath="$PROJECT_DIR$/PokerBot.iml" /> + </modules> + </component> +</project>+ \ No newline at end of file diff --git a/.idea/workspace.xml b/.idea/workspace.xml @@ -0,0 +1,619 @@ +<?xml version="1.0" encoding="UTF-8"?> +<project version="4"> + <component name="ChangeListManager"> + <list default="true" id="270907c7-1db1-4273-a55f-cc321e584fda" name="Default" comment="" /> + <ignored path="PokerBot.iws" /> + <ignored path=".idea/workspace.xml" /> + <ignored path="$PROJECT_DIR$/bin/" /> + <option name="EXCLUDED_CONVERTED_TO_IGNORED" value="true" /> + <option name="TRACKING_ENABLED" value="true" /> + <option name="SHOW_DIALOG" value="false" /> + <option name="HIGHLIGHT_CONFLICTS" value="true" /> + <option name="HIGHLIGHT_NON_ACTIVE_CHANGELIST" value="false" /> + <option name="LAST_RESOLUTION" value="IGNORE" /> + </component> + <component name="ChangesViewManager" flattened_view="true" show_ignored="false" /> + <component name="CreatePatchCommitExecutor"> + <option name="PATCH_PATH" value="" /> + </component> + <component name="ExecutionTargetManager" SELECTED_TARGET="default_target" /> + <component name="FavoritesManager"> + <favorites_list name="PokerBot" /> + </component> + <component name="FileEditorManager"> + <leaf SIDE_TABS_SIZE_LIMIT_KEY="300"> + <file leaf-file-name="Main.scala" pinned="false" current-in-tab="false"> + <entry file="file://$PROJECT_DIR$/src/net/supercraft/pokerbot/Main.scala"> + <provider selected="true" editor-type-id="text-editor"> + <state relative-caret-position="917"> + <caret line="130" column="0" selection-start-line="130" selection-start-column="0" selection-end-line="130" selection-end-column="0" /> + <folding> + <element signature="e#33#78#0" expanded="true" /> + </folding> + </state> + </provider> + </entry> + </file> + <file leaf-file-name="CardUtils.scala" pinned="false" current-in-tab="true"> + <entry file="file://$PROJECT_DIR$/src/net/supercraft/pokerbot/CardUtils.scala"> + <provider selected="true" editor-type-id="text-editor"> + <state relative-caret-position="414"> + <caret line="25" column="16" selection-start-line="25" selection-start-column="16" selection-end-line="25" selection-end-column="16" /> + <folding /> + </state> + </provider> + </entry> + </file> + <file leaf-file-name="GameState.scala" pinned="false" current-in-tab="false"> + <entry file="file://$PROJECT_DIR$/src/net/supercraft/pokerbot/GameState.scala"> + <provider selected="true" editor-type-id="text-editor"> + <state relative-caret-position="108"> + <caret line="6" column="69" selection-start-line="6" selection-start-column="69" selection-end-line="6" selection-end-column="69" /> + <folding /> + </state> + </provider> + </entry> + </file> + <file leaf-file-name="Card.scala" pinned="false" current-in-tab="false"> + <entry file="file://$PROJECT_DIR$/src/net/supercraft/pokerbot/Card.scala"> + <provider selected="true" editor-type-id="text-editor"> + <state relative-caret-position="198"> + <caret line="11" column="43" selection-start-line="11" selection-start-column="43" selection-end-line="11" selection-end-column="43" /> + <folding /> + </state> + </provider> + </entry> + </file> + </leaf> + </component> + <component name="FileTemplateManagerImpl"> + <option name="RECENT_TEMPLATES"> + <list> + <option value="Singleton" /> + </list> + </option> + </component> + <component name="GradleLocalSettings"> + <option name="externalProjectsViewState"> + <projects_view /> + </option> + </component> + <component name="IdeDocumentHistory"> + <option name="CHANGED_PATHS"> + <list> + <option value="$PROJECT_DIR$/src/net/supercraft/pokerbot/Main.scala" /> + <option value="$PROJECT_DIR$/src/net/supercraft/pokerbot/CardUtils.java" /> + <option value="$PROJECT_DIR$/src/net/supercraft/pokerbot/Card.scala" /> + <option value="$PROJECT_DIR$/src/net/supercraft/pokerbot/GameState.scala" /> + <option value="$PROJECT_DIR$/src/net/supercraft/pokerbot/CardUtils.scala" /> + </list> + </option> + </component> + <component name="ProjectFrameBounds"> + <option name="y" value="24" /> + <option name="width" value="1920" /> + <option name="height" value="1056" /> + </component> + <component name="ProjectInspectionProfilesVisibleTreeState"> + <entry key="Project Default"> + <profile-state> + <expanded-state> + <State> + <id /> + </State> + <State> + <id>Scala</id> + </State> + <State> + <id>Spelling</id> + </State> + </expanded-state> + <selected-state> + <State> + <id>Code StyleScala</id> + </State> + </selected-state> + </profile-state> + </entry> + </component> + <component name="ProjectLevelVcsManager" settingsEditedManually="false"> + <OptionsSetting value="true" id="Add" /> + <OptionsSetting value="true" id="Remove" /> + <OptionsSetting value="true" id="Checkout" /> + <OptionsSetting value="true" id="Update" /> + <OptionsSetting value="true" id="Status" /> + <OptionsSetting value="true" id="Edit" /> + <ConfirmationsSetting value="0" id="Add" /> + <ConfirmationsSetting value="0" id="Remove" /> + </component> + <component name="ProjectView"> + <navigator currentView="ProjectPane" proportions="" version="1"> + <flattenPackages /> + <showMembers /> + <showModules /> + <showLibraryContents /> + <hideEmptyPackages /> + <abbreviatePackageNames /> + <autoscrollToSource /> + <autoscrollFromSource /> + <sortByType /> + <manualOrder /> + <foldersAlwaysOnTop value="true" /> + </navigator> + <panes> + <pane id="Scratches" /> + <pane id="Scope" /> + <pane id="ProjectPane"> + <subPane> + <PATH> + <PATH_ELEMENT> + <option name="myItemId" value="PokerBot" /> + <option name="myItemType" value="com.intellij.ide.projectView.impl.nodes.ProjectViewProjectNode" /> + </PATH_ELEMENT> + </PATH> + <PATH> + <PATH_ELEMENT> + <option name="myItemId" value="PokerBot" /> + <option name="myItemType" value="com.intellij.ide.projectView.impl.nodes.ProjectViewProjectNode" /> + </PATH_ELEMENT> + <PATH_ELEMENT> + <option name="myItemId" value="PokerBot" /> + <option name="myItemType" value="com.intellij.ide.projectView.impl.nodes.PsiDirectoryNode" /> + </PATH_ELEMENT> + </PATH> + <PATH> + <PATH_ELEMENT> + <option name="myItemId" value="PokerBot" /> + <option name="myItemType" value="com.intellij.ide.projectView.impl.nodes.ProjectViewProjectNode" /> + </PATH_ELEMENT> + <PATH_ELEMENT> + <option name="myItemId" value="PokerBot" /> + <option name="myItemType" value="com.intellij.ide.projectView.impl.nodes.PsiDirectoryNode" /> + </PATH_ELEMENT> + <PATH_ELEMENT> + <option name="myItemId" value="src" /> + <option name="myItemType" value="com.intellij.ide.projectView.impl.nodes.PsiDirectoryNode" /> + </PATH_ELEMENT> + <PATH_ELEMENT> + <option name="myItemId" value="pokerbot" /> + <option name="myItemType" value="com.intellij.ide.projectView.impl.nodes.PsiDirectoryNode" /> + </PATH_ELEMENT> + </PATH> + <PATH> + <PATH_ELEMENT> + <option name="myItemId" value="PokerBot" /> + <option name="myItemType" value="com.intellij.ide.projectView.impl.nodes.ProjectViewProjectNode" /> + </PATH_ELEMENT> + <PATH_ELEMENT> + <option name="myItemId" value="PokerBot" /> + <option name="myItemType" value="com.intellij.ide.projectView.impl.nodes.PsiDirectoryNode" /> + </PATH_ELEMENT> + <PATH_ELEMENT> + <option name="myItemId" value="src" /> + <option name="myItemType" value="com.intellij.ide.projectView.impl.nodes.PsiDirectoryNode" /> + </PATH_ELEMENT> + <PATH_ELEMENT> + <option name="myItemId" value="pokerbot" /> + <option name="myItemType" value="com.intellij.ide.projectView.impl.nodes.PsiDirectoryNode" /> + </PATH_ELEMENT> + <PATH_ELEMENT> + <option name="myItemId" value="Card.scala" /> + <option name="myItemType" value="org.jetbrains.plugins.scala.components.ScalaDefsProjectViewProvider$ScalaFileTreeNode" /> + </PATH_ELEMENT> + </PATH> + </subPane> + </pane> + <pane id="PackagesPane" /> + </panes> + </component> + <component name="PropertiesComponent"> + <property name="last_opened_file_path" value="$PROJECT_DIR$" /> + <property name="settings.editor.selected.configurable" value="preferences.sourceCode.Scala" /> + <property name="settings.editor.splitter.proportion" value="0.2" /> + </component> + <component name="RunManager" selected="Application.Main"> + <configuration default="false" name="Main" type="Application" factoryName="Application" temporary="true"> + <extension name="coverage" enabled="false" merge="false" sample_coverage="true" runner="idea"> + <pattern> + <option name="PATTERN" value="net.supercraft.pokerbot.*" /> + <option name="ENABLED" value="true" /> + </pattern> + </extension> + <option name="MAIN_CLASS_NAME" value="net.supercraft.pokerbot.Main" /> + <option name="VM_PARAMETERS" /> + <option name="PROGRAM_PARAMETERS" /> + <option name="WORKING_DIRECTORY" value="$PROJECT_DIR$" /> + <option name="ALTERNATIVE_JRE_PATH_ENABLED" value="false" /> + <option name="ALTERNATIVE_JRE_PATH" /> + <option name="ENABLE_SWING_INSPECTOR" value="false" /> + <option name="ENV_VARIABLES" /> + <option name="PASS_PARENT_ENVS" value="true" /> + <module name="PokerBot" /> + <envs /> + <method /> + </configuration> + <configuration default="true" type="#org.jetbrains.idea.devkit.run.PluginConfigurationType" factoryName="Plugin"> + <module name="" /> + <option name="VM_PARAMETERS" value="-Xmx512m -Xms256m -XX:MaxPermSize=250m -ea" /> + <option name="PROGRAM_PARAMETERS" /> + <method /> + </configuration> + <configuration default="true" type="Applet" factoryName="Applet"> + <option name="HTML_USED" value="false" /> + <option name="WIDTH" value="400" /> + <option name="HEIGHT" value="300" /> + <option name="POLICY_FILE" value="$APPLICATION_HOME_DIR$/bin/appletviewer.policy" /> + <module /> + <method /> + </configuration> + <configuration default="true" type="Application" factoryName="Application"> + <extension name="coverage" enabled="false" merge="false" sample_coverage="true" runner="idea" /> + <option name="MAIN_CLASS_NAME" /> + <option name="VM_PARAMETERS" /> + <option name="PROGRAM_PARAMETERS" /> + <option name="WORKING_DIRECTORY" value="$PROJECT_DIR$" /> + <option name="ALTERNATIVE_JRE_PATH_ENABLED" value="false" /> + <option name="ALTERNATIVE_JRE_PATH" /> + <option name="ENABLE_SWING_INSPECTOR" value="false" /> + <option name="ENV_VARIABLES" /> + <option name="PASS_PARENT_ENVS" value="true" /> + <module name="" /> + <envs /> + <method /> + </configuration> + <configuration default="true" type="GradleRunConfiguration" factoryName="Gradle"> + <ExternalSystemSettings> + <option name="executionName" /> + <option name="externalProjectPath" /> + <option name="externalSystemIdString" value="GRADLE" /> + <option name="scriptParameters" /> + <option name="taskDescriptions"> + <list /> + </option> + <option name="taskNames"> + <list /> + </option> + <option name="vmOptions" /> + </ExternalSystemSettings> + <method /> + </configuration> + <configuration default="true" type="JUnit" factoryName="JUnit"> + <extension name="coverage" enabled="false" merge="false" sample_coverage="true" runner="idea" /> + <module name="" /> + <option name="ALTERNATIVE_JRE_PATH_ENABLED" value="false" /> + <option name="ALTERNATIVE_JRE_PATH" /> + <option name="PACKAGE_NAME" /> + <option name="MAIN_CLASS_NAME" /> + <option name="METHOD_NAME" /> + <option name="TEST_OBJECT" value="class" /> + <option name="VM_PARAMETERS" value="-ea" /> + <option name="PARAMETERS" /> + <option name="WORKING_DIRECTORY" value="$MODULE_DIR$" /> + <option name="ENV_VARIABLES" /> + <option name="PASS_PARENT_ENVS" value="true" /> + <option name="TEST_SEARCH_SCOPE"> + <value defaultName="singleModule" /> + </option> + <envs /> + <patterns /> + <method /> + </configuration> + <configuration default="true" type="JUnitTestDiscovery" factoryName="JUnit Test Discovery" changeList="All"> + <extension name="coverage" enabled="false" merge="false" sample_coverage="true" runner="idea" /> + <module name="" /> + <option name="ALTERNATIVE_JRE_PATH_ENABLED" value="false" /> + <option name="ALTERNATIVE_JRE_PATH" /> + <option name="PACKAGE_NAME" /> + <option name="MAIN_CLASS_NAME" /> + <option name="METHOD_NAME" /> + <option name="TEST_OBJECT" value="class" /> + <option name="VM_PARAMETERS" /> + <option name="PARAMETERS" /> + <option name="WORKING_DIRECTORY" /> + <option name="ENV_VARIABLES" /> + <option name="PASS_PARENT_ENVS" value="true" /> + <option name="TEST_SEARCH_SCOPE"> + <value defaultName="singleModule" /> + </option> + <envs /> + <patterns /> + <method /> + </configuration> + <configuration default="true" type="JarApplication" factoryName="JAR Application"> + <extension name="coverage" enabled="false" merge="false" sample_coverage="true" runner="idea" /> + <envs /> + <method /> + </configuration> + <configuration default="true" type="Java Scratch" factoryName="Java Scratch"> + <extension name="coverage" enabled="false" merge="false" sample_coverage="true" runner="idea" /> + <option name="SCRATCH_FILE_ID" value="0" /> + <option name="MAIN_CLASS_NAME" /> + <option name="VM_PARAMETERS" /> + <option name="PROGRAM_PARAMETERS" /> + <option name="WORKING_DIRECTORY" /> + <option name="ALTERNATIVE_JRE_PATH_ENABLED" value="false" /> + <option name="ALTERNATIVE_JRE_PATH" /> + <option name="ENABLE_SWING_INSPECTOR" value="false" /> + <option name="ENV_VARIABLES" /> + <option name="PASS_PARENT_ENVS" value="true" /> + <module name="" /> + <envs /> + <method /> + </configuration> + <configuration default="true" type="JetRunConfigurationType" factoryName="Kotlin"> + <extension name="coverage" enabled="false" merge="false" sample_coverage="true" runner="idea" /> + <option name="MAIN_CLASS_NAME" /> + <option name="VM_PARAMETERS" /> + <option name="PROGRAM_PARAMETERS" /> + <option name="WORKING_DIRECTORY" /> + <option name="ALTERNATIVE_JRE_PATH_ENABLED" value="false" /> + <option name="ALTERNATIVE_JRE_PATH" /> + <option name="PASS_PARENT_ENVS" value="true" /> + <module name="PokerBot" /> + <envs /> + <method /> + </configuration> + <configuration default="true" type="KotlinStandaloneScriptRunConfigurationType" factoryName="Kotlin script"> + <extension name="coverage" enabled="false" merge="false" sample_coverage="true" runner="idea" /> + <option name="filePath" /> + <option name="vmParameters" /> + <option name="alternativeJrePath" /> + <option name="programParameters" /> + <option name="passParentEnvs" value="true" /> + <option name="workingDirectory" /> + <option name="isAlternativeJrePathEnabled" value="false" /> + <envs /> + <method /> + </configuration> + <configuration default="true" type="Remote" factoryName="Remote"> + <option name="USE_SOCKET_TRANSPORT" value="true" /> + <option name="SERVER_MODE" value="false" /> + <option name="SHMEM_ADDRESS" value="javadebug" /> + <option name="HOST" value="localhost" /> + <option name="PORT" value="5005" /> + <method /> + </configuration> + <configuration default="true" type="ScalaTestRunConfiguration" factoryName="ScalaTest"> + <extension name="coverage" enabled="false" merge="false" sample_coverage="true" runner="idea" /> + <module name="" /> + <setting name="path" value="" /> + <setting name="package" value="" /> + <setting name="vmparams" value="" /> + <setting name="params" value="" /> + <setting name="workingDirectory" value="" /> + <setting name="searchForTest" value="Across module dependencies" /> + <setting name="testName" value="" /> + <setting name="testKind" value="Class" /> + <setting name="showProgressMessages" value="true" /> + <envs /> + <method /> + </configuration> + <configuration default="true" type="Specs2RunConfiguration" factoryName="Specs2"> + <extension name="coverage" enabled="false" merge="false" sample_coverage="true" runner="idea" /> + <module name="" /> + <setting name="path" value="" /> + <setting name="package" value="" /> + <setting name="vmparams" value="" /> + <setting name="params" value="" /> + <setting name="workingDirectory" value="" /> + <setting name="searchForTest" value="Across module dependencies" /> + <setting name="testName" value="" /> + <setting name="testKind" value="Class" /> + <setting name="showProgressMessages" value="true" /> + <envs /> + <method /> + </configuration> + <configuration default="true" type="TestNG" factoryName="TestNG"> + <extension name="coverage" enabled="false" merge="false" sample_coverage="true" runner="idea" /> + <module name="" /> + <option name="ALTERNATIVE_JRE_PATH_ENABLED" value="false" /> + <option name="ALTERNATIVE_JRE_PATH" /> + <option name="SUITE_NAME" /> + <option name="PACKAGE_NAME" /> + <option name="MAIN_CLASS_NAME" /> + <option name="METHOD_NAME" /> + <option name="GROUP_NAME" /> + <option name="TEST_OBJECT" value="CLASS" /> + <option name="VM_PARAMETERS" value="-ea" /> + <option name="PARAMETERS" /> + <option name="WORKING_DIRECTORY" value="$MODULE_DIR$" /> + <option name="OUTPUT_DIRECTORY" /> + <option name="ANNOTATION_TYPE" /> + <option name="ENV_VARIABLES" /> + <option name="PASS_PARENT_ENVS" value="true" /> + <option name="TEST_SEARCH_SCOPE"> + <value defaultName="singleModule" /> + </option> + <option name="USE_DEFAULT_REPORTERS" value="false" /> + <option name="PROPERTIES_FILE" /> + <envs /> + <properties /> + <listeners /> + <method /> + </configuration> + <configuration default="true" type="TestNGTestDiscovery" factoryName="TestNG Test Discovery" changeList="All"> + <extension name="coverage" enabled="false" merge="false" sample_coverage="true" runner="idea" /> + <module name="" /> + <option name="ALTERNATIVE_JRE_PATH_ENABLED" value="false" /> + <option name="ALTERNATIVE_JRE_PATH" /> + <option name="SUITE_NAME" /> + <option name="PACKAGE_NAME" /> + <option name="MAIN_CLASS_NAME" /> + <option name="METHOD_NAME" /> + <option name="GROUP_NAME" /> + <option name="TEST_OBJECT" value="CLASS" /> + <option name="VM_PARAMETERS" /> + <option name="PARAMETERS" /> + <option name="WORKING_DIRECTORY" /> + <option name="OUTPUT_DIRECTORY" /> + <option name="ANNOTATION_TYPE" /> + <option name="ENV_VARIABLES" /> + <option name="PASS_PARENT_ENVS" value="true" /> + <option name="TEST_SEARCH_SCOPE"> + <value defaultName="singleModule" /> + </option> + <option name="USE_DEFAULT_REPORTERS" value="false" /> + <option name="PROPERTIES_FILE" /> + <envs /> + <properties /> + <listeners /> + <method /> + </configuration> + <configuration default="true" type="uTestRunConfiguration" factoryName="utest"> + <extension name="coverage" enabled="false" merge="false" sample_coverage="true" runner="idea" /> + <module name="" /> + <setting name="path" value="" /> + <setting name="package" value="" /> + <setting name="vmparams" value="" /> + <setting name="params" value="" /> + <setting name="workingDirectory" value="" /> + <setting name="searchForTest" value="Across module dependencies" /> + <setting name="testName" value="" /> + <setting name="testKind" value="Class" /> + <setting name="showProgressMessages" value="true" /> + <envs /> + <method /> + </configuration> + <list size="1"> + <item index="0" class="java.lang.String" itemvalue="Application.Main" /> + </list> + <recent_temporary> + <list size="1"> + <item index="0" class="java.lang.String" itemvalue="Application.Main" /> + </list> + </recent_temporary> + </component> + <component name="SbtLocalSettings"> + <option name="externalProjectsViewState"> + <projects_view /> + </option> + </component> + <component name="ShelveChangesManager" show_recycled="false"> + <option name="remove_strategy" value="false" /> + </component> + <component name="SvnConfiguration"> + <configuration /> + </component> + <component name="TaskManager"> + <task active="true" id="Default" summary="Default task"> + <changelist id="270907c7-1db1-4273-a55f-cc321e584fda" name="Default" comment="" /> + <created>1459954577754</created> + <option name="number" value="Default" /> + <option name="presentableId" value="Default" /> + <updated>1459954577754</updated> + </task> + <servers /> + </component> + <component name="ToolWindowManager"> + <frame x="0" y="24" width="1920" height="1056" extended-state="6" /> + <editor active="true" /> + <layout> + <window_info id="Palette" active="false" anchor="right" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="false" show_stripe_button="true" weight="0.33" sideWeight="0.5" order="3" side_tool="false" content_ui="tabs" /> + <window_info id="TODO" active="false" anchor="bottom" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="false" show_stripe_button="true" weight="0.33" sideWeight="0.5" order="6" side_tool="false" content_ui="tabs" /> + <window_info id="Palette&#9;" active="false" anchor="right" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="false" show_stripe_button="true" weight="0.33" sideWeight="0.5" order="3" side_tool="false" content_ui="tabs" /> + <window_info id="Event Log" active="false" anchor="bottom" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="false" show_stripe_button="true" weight="0.33" sideWeight="0.5" order="7" side_tool="true" content_ui="tabs" /> + <window_info id="Maven Projects" active="false" anchor="right" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="false" show_stripe_button="true" weight="0.33" sideWeight="0.5" order="3" side_tool="false" content_ui="tabs" /> + <window_info id="Version Control" active="false" anchor="bottom" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="false" show_stripe_button="true" weight="0.33" sideWeight="0.5" order="7" side_tool="false" content_ui="tabs" /> + <window_info id="Terminal" active="false" anchor="bottom" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="false" show_stripe_button="true" weight="0.33" sideWeight="0.5" order="7" side_tool="false" content_ui="tabs" /> + <window_info id="Designer" active="false" anchor="left" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="false" show_stripe_button="true" weight="0.33" sideWeight="0.5" order="2" side_tool="false" content_ui="tabs" /> + <window_info id="Project" active="false" anchor="left" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="true" show_stripe_button="true" weight="0.20520833" sideWeight="0.5" order="0" side_tool="false" content_ui="combo" /> + <window_info id="Structure" active="false" anchor="left" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="false" show_stripe_button="true" weight="0.25" sideWeight="0.5" order="1" side_tool="false" content_ui="tabs" /> + <window_info id="Ant Build" active="false" anchor="right" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="false" show_stripe_button="true" weight="0.25" sideWeight="0.5" order="1" side_tool="false" content_ui="tabs" /> + <window_info id="UI Designer" active="false" anchor="left" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="false" show_stripe_button="true" weight="0.33" sideWeight="0.5" order="2" side_tool="false" content_ui="tabs" /> + <window_info id="Favorites" active="false" anchor="left" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="false" show_stripe_button="true" weight="0.33" sideWeight="0.5" order="2" side_tool="true" content_ui="tabs" /> + <window_info id="Cvs" active="false" anchor="bottom" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="false" show_stripe_button="true" weight="0.25" sideWeight="0.5" order="4" side_tool="false" content_ui="tabs" /> + <window_info id="Messages" active="false" anchor="bottom" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="false" show_stripe_button="true" weight="0.32960325" sideWeight="0.5" order="7" side_tool="false" content_ui="tabs" /> + <window_info id="Message" active="false" anchor="bottom" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="false" show_stripe_button="true" weight="0.33" sideWeight="0.5" order="0" side_tool="false" content_ui="tabs" /> + <window_info id="Commander" active="false" anchor="right" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="false" show_stripe_button="true" weight="0.4" sideWeight="0.5" order="0" side_tool="false" content_ui="tabs" /> + <window_info id="Inspection" active="false" anchor="bottom" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="false" show_stripe_button="true" weight="0.4" sideWeight="0.5" order="5" side_tool="false" content_ui="tabs" /> + <window_info id="Run" active="false" anchor="bottom" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="false" show_stripe_button="true" weight="0.32960325" sideWeight="0.5" order="2" side_tool="false" content_ui="tabs" /> + <window_info id="Hierarchy" active="false" anchor="right" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="false" show_stripe_button="true" weight="0.25" sideWeight="0.5" order="2" side_tool="false" content_ui="combo" /> + <window_info id="Find" active="false" anchor="bottom" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="false" show_stripe_button="true" weight="0.33" sideWeight="0.5" order="1" side_tool="false" content_ui="tabs" /> + <window_info id="Debug" active="false" anchor="bottom" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="false" show_stripe_button="true" weight="0.4" sideWeight="0.5" order="3" side_tool="false" content_ui="tabs" /> + </layout> + </component> + <component name="Vcs.Log.UiProperties"> + <option name="RECENTLY_FILTERED_USER_GROUPS"> + <collection /> + </option> + <option name="RECENTLY_FILTERED_BRANCH_GROUPS"> + <collection /> + </option> + </component> + <component name="VcsContentAnnotationSettings"> + <option name="myLimit" value="2678400000" /> + </component> + <component name="XDebuggerManager"> + <breakpoint-manager /> + <watches-manager /> + </component> + <component name="antWorkspaceConfiguration"> + <option name="IS_AUTOSCROLL_TO_SOURCE" value="false" /> + <option name="FILTER_TARGETS" value="false" /> + </component> + <component name="editorHistoryManager"> + <entry file="file://$PROJECT_DIR$/src/net/supercraft/pokerbot/Main.scala"> + <provider selected="true" editor-type-id="text-editor"> + <state relative-caret-position="2160"> + <caret line="130" column="0" selection-start-line="130" selection-start-column="0" selection-end-line="130" selection-end-column="0" /> + <folding> + <element signature="e#33#78#0" expanded="true" /> + </folding> + </state> + </provider> + </entry> + <entry file="file://$PROJECT_DIR$/src/net/supercraft/pokerbot/CardUtils.scala"> + <provider selected="true" editor-type-id="text-editor"> + <state relative-caret-position="0"> + <caret line="0" column="0" selection-start-line="0" selection-start-column="0" selection-end-line="0" selection-end-column="0" /> + <folding /> + </state> + </provider> + </entry> + <entry file="file://$PROJECT_DIR$/src/net/supercraft/pokerbot/Main.scala"> + <provider selected="true" editor-type-id="text-editor"> + <state relative-caret-position="0"> + <caret line="0" column="0" selection-start-line="0" selection-start-column="0" selection-end-line="0" selection-end-column="0" /> + <folding> + <element signature="e#33#78#0" expanded="true" /> + </folding> + </state> + </provider> + </entry> + <entry file="file://$PROJECT_DIR$/src/net/supercraft/pokerbot/CardUtils.java" /> + <entry file="file://$PROJECT_DIR$/src/net/supercraft/pokerbot/Main.scala"> + <provider selected="true" editor-type-id="text-editor"> + <state relative-caret-position="917"> + <caret line="130" column="0" selection-start-line="130" selection-start-column="0" selection-end-line="130" selection-end-column="0" /> + <folding> + <element signature="e#33#78#0" expanded="true" /> + </folding> + </state> + </provider> + </entry> + <entry file="file://$PROJECT_DIR$/src/net/supercraft/pokerbot/Card.scala"> + <provider selected="true" editor-type-id="text-editor"> + <state relative-caret-position="198"> + <caret line="11" column="43" selection-start-line="11" selection-start-column="43" selection-end-line="11" selection-end-column="43" /> + <folding /> + </state> + </provider> + </entry> + <entry file="file://$PROJECT_DIR$/src/net/supercraft/pokerbot/GameState.scala"> + <provider selected="true" editor-type-id="text-editor"> + <state relative-caret-position="108"> + <caret line="6" column="69" selection-start-line="6" selection-start-column="69" selection-end-line="6" selection-end-column="69" /> + <folding /> + </state> + </provider> + </entry> + <entry file="file://$PROJECT_DIR$/src/net/supercraft/pokerbot/CardUtils.scala"> + <provider selected="true" editor-type-id="text-editor"> + <state relative-caret-position="414"> + <caret line="25" column="16" selection-start-line="25" selection-start-column="16" selection-end-line="25" selection-end-column="16" /> + <folding /> + </state> + </provider> + </entry> + </component> +</project>+ \ No newline at end of file diff --git a/.project b/.project @@ -0,0 +1,18 @@ +<?xml version="1.0" encoding="UTF-8"?> +<projectDescription> + <name>PokerBot</name> + <comment></comment> + <projects> + </projects> + <buildSpec> + <buildCommand> + <name>org.scala-ide.sdt.core.scalabuilder</name> + <arguments> + </arguments> + </buildCommand> + </buildSpec> + <natures> + <nature>org.scala-ide.sdt.core.scalanature</nature> + <nature>org.eclipse.jdt.core.javanature</nature> + </natures> +</projectDescription> diff --git a/.settings/org.eclipse.jdt.core.prefs b/.settings/org.eclipse.jdt.core.prefs @@ -0,0 +1,12 @@ +eclipse.preferences.version=1 +org.eclipse.jdt.core.compiler.codegen.inlineJsrBytecode=enabled +org.eclipse.jdt.core.compiler.codegen.methodParameters=do not generate +org.eclipse.jdt.core.compiler.codegen.targetPlatform=1.8 +org.eclipse.jdt.core.compiler.codegen.unusedLocal=preserve +org.eclipse.jdt.core.compiler.compliance=1.8 +org.eclipse.jdt.core.compiler.debug.lineNumber=generate +org.eclipse.jdt.core.compiler.debug.localVariable=generate +org.eclipse.jdt.core.compiler.debug.sourceFile=generate +org.eclipse.jdt.core.compiler.problem.assertIdentifier=error +org.eclipse.jdt.core.compiler.problem.enumIdentifier=error +org.eclipse.jdt.core.compiler.source=1.8 diff --git a/.settings/org.scala-ide.sdt.core.prefs b/.settings/org.scala-ide.sdt.core.prefs @@ -0,0 +1,42 @@ +P= +Xcheckinit=false +Xdisable-assertions=false +Xelide-below=-2147483648 +Xexperimental=false +Xfatal-warnings=false +Xfuture=false +Xlog-implicits=false +Xno-uescape=false +Xplugin= +Xplugin-disable= +Xplugin-require= +Xpluginsdir=misc/scala-devel/plugins +Ypresentation-debug=false +Ypresentation-delay=0 +Ypresentation-log= +Ypresentation-replay= +Ypresentation-verbose=false +apiDiff=false +compileorder=Mixed +deprecation=false +eclipse.preferences.version=1 +explaintypes=false +feature=false +g=vars +nameHashing=false +no-specialization=false +nowarn=false +optimise=false +recompileOnMacroDef=true +relationsDebug=false +scala.compiler.additionalParams= +scala.compiler.installation=2.11 +scala.compiler.sourceLevel=2.11 +scala.compiler.useProjectSettings=true +src=main +stopBuildOnError=true +target=jvm-1.8 +unchecked=false +useScopesCompiler=true +verbose=false +withVersionClasspathValidator=true diff --git a/PokerBot.iml b/PokerBot.iml @@ -0,0 +1,240 @@ +<?xml version="1.0" encoding="UTF-8"?> +<module type="JAVA_MODULE" version="4"> + <component name="EclipseModuleManager"> + <libelement value="jar://$MODULE_DIR$/lib/commons-beanutils-1.9.2.jar!/" /> + <libelement value="jar://$MODULE_DIR$/lib/commons-io-2.4.jar!/" /> + <libelement value="jar://$APPLICATION_HOME_DIR$/lib/commons-logging-1.2.jar!/" /> + <libelement value="jar://$MODULE_DIR$/lib/ghost4j-1.0.1.jar!/" /> + <libelement value="jar://$APPLICATION_HOME_DIR$/lib/hamcrest-core-1.3.jar!/" /> + <libelement value="jar://$MODULE_DIR$/lib/itext-2.1.7.jar!/" /> + <libelement value="jar://$MODULE_DIR$/lib/jai-imageio-core-1.3.1.jar!/" /> + <libelement value="jar://$MODULE_DIR$/lib/jna-4.2.2.jar!/" /> + <libelement value="jar://$MODULE_DIR$/lib/jul-to-slf4j-1.7.19.jar!/" /> + <libelement value="jar://$APPLICATION_HOME_DIR$/lib/junit-4.12.jar!/" /> + <libelement value="jar://$MODULE_DIR$/lib/lept4j-1.1.2.jar!/" /> + <libelement value="jar://$MODULE_DIR$/lib/log4j-1.2.17.jar!/" /> + <libelement value="jar://$MODULE_DIR$/lib/logback-classic-1.1.6.jar!/" /> + <libelement value="jar://$MODULE_DIR$/lib/logback-core-1.1.6.jar!/" /> + <libelement value="jar://$MODULE_DIR$/lib/opencv-310.jar!/" /> + <libelement value="jar://$MODULE_DIR$/lib/rococoa-core-0.5.jar!/" /> + <libelement value="jar://$MODULE_DIR$/lib/slf4j-api-1.7.19.jar!/" /> + <libelement value="jar://$MODULE_DIR$/lib/tess4j-3.1.jar!/" /> + <libelement value="jar://$APPLICATION_HOME_DIR$/lib/xmlgraphics-commons-1.5.jar!/" /> + <libelement value="jar://$MODULE_DIR$/lib/JojoleproUtilsV0.3.0A.jar!/" /> + <libelement value="jar://$MODULE_DIR$/lib/selenium-java-2.53.0.jar!/" /> + <libelement value="jar://$MODULE_DIR$/lib/selenium-server-standalone-2.53.0.jar!/" /> + <conelement value="org.scala-ide.sdt.launching.SCALA_CONTAINER" /> + <src_description expected_position="0"> + <src_folder value="file://$MODULE_DIR$/src" expected_position="0" /> + </src_description> + </component> + <component name="NewModuleRootManager" inherit-compiler-output="false"> + <output url="file://$MODULE_DIR$/bin" /> + <exclude-output /> + <content url="file://$MODULE_DIR$"> + <sourceFolder url="file://$MODULE_DIR$/src" isTestSource="false" /> + </content> + <orderEntry type="sourceFolder" forTests="false" /> + <orderEntry type="library" name="org.scala-ide.sdt.launching.SCALA_CONTAINER" level="application" /> + <orderEntry type="module-library"> + <library name="commons-beanutils-1.9.2.jar"> + <CLASSES> + <root url="jar://$MODULE_DIR$/lib/commons-beanutils-1.9.2.jar!/" /> + </CLASSES> + <JAVADOC /> + <SOURCES /> + </library> + </orderEntry> + <orderEntry type="module-library"> + <library name="commons-io-2.4.jar"> + <CLASSES> + <root url="jar://$MODULE_DIR$/lib/commons-io-2.4.jar!/" /> + </CLASSES> + <JAVADOC /> + <SOURCES /> + </library> + </orderEntry> + <orderEntry type="module-library"> + <library name="commons-logging-1.2.jar"> + <CLASSES> + <root url="jar://$APPLICATION_HOME_DIR$/lib/commons-logging-1.2.jar!/" /> + </CLASSES> + <JAVADOC /> + <SOURCES /> + </library> + </orderEntry> + <orderEntry type="module-library"> + <library name="ghost4j-1.0.1.jar"> + <CLASSES> + <root url="jar://$MODULE_DIR$/lib/ghost4j-1.0.1.jar!/" /> + </CLASSES> + <JAVADOC /> + <SOURCES /> + </library> + </orderEntry> + <orderEntry type="module-library"> + <library name="hamcrest-core-1.3.jar"> + <CLASSES> + <root url="jar://$APPLICATION_HOME_DIR$/lib/hamcrest-core-1.3.jar!/" /> + </CLASSES> + <JAVADOC /> + <SOURCES /> + </library> + </orderEntry> + <orderEntry type="module-library"> + <library name="itext-2.1.7.jar"> + <CLASSES> + <root url="jar://$MODULE_DIR$/lib/itext-2.1.7.jar!/" /> + </CLASSES> + <JAVADOC /> + <SOURCES /> + </library> + </orderEntry> + <orderEntry type="module-library"> + <library name="jai-imageio-core-1.3.1.jar"> + <CLASSES> + <root url="jar://$MODULE_DIR$/lib/jai-imageio-core-1.3.1.jar!/" /> + </CLASSES> + <JAVADOC /> + <SOURCES /> + </library> + </orderEntry> + <orderEntry type="module-library"> + <library name="jna-4.2.2.jar"> + <CLASSES> + <root url="jar://$MODULE_DIR$/lib/jna-4.2.2.jar!/" /> + </CLASSES> + <JAVADOC /> + <SOURCES /> + </library> + </orderEntry> + <orderEntry type="module-library"> + <library name="jul-to-slf4j-1.7.19.jar"> + <CLASSES> + <root url="jar://$MODULE_DIR$/lib/jul-to-slf4j-1.7.19.jar!/" /> + </CLASSES> + <JAVADOC /> + <SOURCES /> + </library> + </orderEntry> + <orderEntry type="module-library"> + <library name="junit-4.12.jar"> + <CLASSES> + <root url="jar://$APPLICATION_HOME_DIR$/lib/junit-4.12.jar!/" /> + </CLASSES> + <JAVADOC /> + <SOURCES /> + </library> + </orderEntry> + <orderEntry type="module-library"> + <library name="lept4j-1.1.2.jar"> + <CLASSES> + <root url="jar://$MODULE_DIR$/lib/lept4j-1.1.2.jar!/" /> + </CLASSES> + <JAVADOC /> + <SOURCES /> + </library> + </orderEntry> + <orderEntry type="module-library"> + <library name="log4j-1.2.17.jar"> + <CLASSES> + <root url="jar://$MODULE_DIR$/lib/log4j-1.2.17.jar!/" /> + </CLASSES> + <JAVADOC /> + <SOURCES /> + </library> + </orderEntry> + <orderEntry type="module-library"> + <library name="logback-classic-1.1.6.jar"> + <CLASSES> + <root url="jar://$MODULE_DIR$/lib/logback-classic-1.1.6.jar!/" /> + </CLASSES> + <JAVADOC /> + <SOURCES /> + </library> + </orderEntry> + <orderEntry type="module-library"> + <library name="logback-core-1.1.6.jar"> + <CLASSES> + <root url="jar://$MODULE_DIR$/lib/logback-core-1.1.6.jar!/" /> + </CLASSES> + <JAVADOC /> + <SOURCES /> + </library> + </orderEntry> + <orderEntry type="module-library"> + <library name="opencv-310.jar"> + <CLASSES> + <root url="jar://$MODULE_DIR$/lib/opencv-310.jar!/" /> + </CLASSES> + <JAVADOC /> + <SOURCES /> + </library> + </orderEntry> + <orderEntry type="module-library"> + <library name="rococoa-core-0.5.jar"> + <CLASSES> + <root url="jar://$MODULE_DIR$/lib/rococoa-core-0.5.jar!/" /> + </CLASSES> + <JAVADOC /> + <SOURCES /> + </library> + </orderEntry> + <orderEntry type="module-library"> + <library name="slf4j-api-1.7.19.jar"> + <CLASSES> + <root url="jar://$MODULE_DIR$/lib/slf4j-api-1.7.19.jar!/" /> + </CLASSES> + <JAVADOC /> + <SOURCES /> + </library> + </orderEntry> + <orderEntry type="module-library"> + <library name="tess4j-3.1.jar"> + <CLASSES> + <root url="jar://$MODULE_DIR$/lib/tess4j-3.1.jar!/" /> + </CLASSES> + <JAVADOC /> + <SOURCES /> + </library> + </orderEntry> + <orderEntry type="module-library"> + <library name="xmlgraphics-commons-1.5.jar"> + <CLASSES> + <root url="jar://$APPLICATION_HOME_DIR$/lib/xmlgraphics-commons-1.5.jar!/" /> + </CLASSES> + <JAVADOC /> + <SOURCES /> + </library> + </orderEntry> + <orderEntry type="module-library"> + <library name="JojoleproUtilsV0.3.0A.jar"> + <CLASSES> + <root url="jar://$MODULE_DIR$/lib/JojoleproUtilsV0.3.0A.jar!/" /> + </CLASSES> + <JAVADOC /> + <SOURCES /> + </library> + </orderEntry> + <orderEntry type="inheritedJdk" /> + <orderEntry type="module-library"> + <library name="selenium-java-2.53.0.jar"> + <CLASSES> + <root url="jar://$MODULE_DIR$/lib/selenium-java-2.53.0.jar!/" /> + </CLASSES> + <JAVADOC /> + <SOURCES /> + </library> + </orderEntry> + <orderEntry type="module-library"> + <library name="selenium-server-standalone-2.53.0.jar"> + <CLASSES> + <root url="jar://$MODULE_DIR$/lib/selenium-server-standalone-2.53.0.jar!/" /> + </CLASSES> + <JAVADOC /> + <SOURCES /> + </library> + </orderEntry> + <orderEntry type="library" name="scala-sdk-2.11.4" level="application" /> + </component> +</module>+ \ No newline at end of file diff --git a/bin/net/supercraft/pokerbot/Card.class b/bin/net/supercraft/pokerbot/Card.class Binary files differ. diff --git a/bin/net/supercraft/pokerbot/CardNumber$.class b/bin/net/supercraft/pokerbot/CardNumber$.class Binary files differ. diff --git a/bin/net/supercraft/pokerbot/CardNumber.class b/bin/net/supercraft/pokerbot/CardNumber.class Binary files differ. diff --git a/bin/net/supercraft/pokerbot/CardType$.class b/bin/net/supercraft/pokerbot/CardType$.class Binary files differ. diff --git a/bin/net/supercraft/pokerbot/CardType.class b/bin/net/supercraft/pokerbot/CardType.class Binary files differ. diff --git a/bin/net/supercraft/pokerbot/Main$$anonfun$1.class b/bin/net/supercraft/pokerbot/Main$$anonfun$1.class Binary files differ. diff --git a/bin/net/supercraft/pokerbot/Main$$anonfun$2.class b/bin/net/supercraft/pokerbot/Main$$anonfun$2.class Binary files differ. diff --git a/bin/net/supercraft/pokerbot/Main$$anonfun$getEmptySeat$1.class b/bin/net/supercraft/pokerbot/Main$$anonfun$getEmptySeat$1.class Binary files differ. diff --git a/bin/net/supercraft/pokerbot/Main$$anonfun$main$1.class b/bin/net/supercraft/pokerbot/Main$$anonfun$main$1.class Binary files differ. diff --git a/bin/net/supercraft/pokerbot/Main$.class b/bin/net/supercraft/pokerbot/Main$.class Binary files differ. diff --git a/bin/net/supercraft/pokerbot/Main.class b/bin/net/supercraft/pokerbot/Main.class Binary files differ. diff --git a/bin/net/supercraft/pokerbot/Wrapper.class b/bin/net/supercraft/pokerbot/Wrapper.class Binary files differ. diff --git a/card0.png b/card0.png Binary files differ. diff --git a/card1.png b/card1.png Binary files differ. diff --git a/card2.png b/card2.png Binary files differ. diff --git a/card3.png b/card3.png Binary files differ. diff --git a/card4.png b/card4.png Binary files differ. diff --git a/card5.png b/card5.png Binary files differ. diff --git a/card6.png b/card6.png Binary files differ. diff --git a/headbang.jpeg b/headbang.jpeg Binary files differ. diff --git a/src/net/supercraft/pokerbot/Card.scala b/src/net/supercraft/pokerbot/Card.scala @@ -0,0 +1,15 @@ +package net.supercraft.pokerbot + +object CardNumber extends Enumeration { + val ace, two, three, four, five, six, seven, eight, nine, ten, jack, queen, king = Value +} + +object CardType extends Enumeration { + val heart, diamond, clubs, spades = Value +} + +case class Card(cardNbr: CardNumber.Value, cardType: CardType.Value) { + override def toString(): String = { + return "Number: " + cardNbr + " Type:" + cardType + } +}+ \ No newline at end of file diff --git a/src/net/supercraft/pokerbot/CardUtils.scala b/src/net/supercraft/pokerbot/CardUtils.scala @@ -0,0 +1,78 @@ +package net.supercraft.pokerbot + + +import scala.annotation.tailrec + +/** + * Created by jojolepro on 4/7/16. + */ +object CardUtils { + def getCurrentBestHand() { + + } + + def getPairCount(cards: List[(CardNumber.Value, Int)]): Int = { + cards.foldLeft(0)((i, x) => if (x._2 >= 2) i + combines(x._2, 2) else i) + } + + def getStraightPoints(cards: List[Card]): Int = { + val c = cards.groupBy { + _.cardNbr + } + val tup = for (nbr <- c.keys) yield (nbr, c.get(nbr) match { + case Some(count) => count.size + case None => 0 + }) + + val tup2 = tup.toList.sortBy(_._1.id) + + //Finds straights and put them as list in the final list + var last = -1 + var count = 0 + var finalLs = List[List[(CardNumber.Value, Int)]]() + var tmpList = List[(CardNumber.Value, Int)]() + for (x <- tup2) { + if (last == x._1.id || last == x._1.id - 1 || last == -1) { + tmpList = tmpList.::(x) + count += 1 + } else { + if (count > 2) { + finalLs = finalLs.::(tmpList) + } + tmpList = List[(CardNumber.Value, Int)]() + count = 0 + last = -1 + } + last = x._1.id + } + if (count > 2) { + finalLs = finalLs.::(tmpList) + } + // + + //Sums points of all straights + finalLs.foldLeft(0)((pts, ls) => pts + ls.size * ls.foldLeft(1)((v1, v2) => v1 * v2._2)) + } + + def factorial(n: Int) = { + @tailrec def factorialL(n: Int, curr: Int): Int = { + if (n <= 1) curr else factorialL(n - 1, curr * n) + } + factorialL(n, 1) + } + + def combines(max: Int, select: Int): Int = factorial(max) / (factorial(max - select) * factorial(select)) + + def combineCards(cards: List[Card]): List[(CardNumber.Value, Int)] = { + val c = cards.groupBy { + _.cardNbr + } + //val tup = for(nbr <- c.keys) yield (nbr,c.get(nbr).size) + val tup = for (nbr <- c.keys) yield (nbr, c.get(nbr) match { + case Some(count) => count.size + case None => 0 + }) + + tup.toList.sortBy(_._1) + } +} diff --git a/src/net/supercraft/pokerbot/GameState.scala b/src/net/supercraft/pokerbot/GameState.scala @@ -0,0 +1,8 @@ +package net.supercraft.pokerbot + +/** + * Created by jojolepro on 4/7/16. + */ +object GameState extends Enumeration{ + val preflop,flop,preturn,turn,preriver,river,postriver= Value +} diff --git a/src/net/supercraft/pokerbot/Main.scala b/src/net/supercraft/pokerbot/Main.scala @@ -0,0 +1,143 @@ +package net.supercraft.pokerbot + +import java.awt.{Dimension, Point, Rectangle} +import java.io.File +import java.util.HashMap +import javax.imageio.ImageIO + +import net.sourceforge.tess4j.Tesseract1 +import org.openqa.selenium.chrome.{ChromeDriver, ChromeOptions} +import org.openqa.selenium.interactions.Actions +import org.openqa.selenium.{By, OutputType, WebElement} + +import scala.annotation.tailrec + +object Main { + //Used when taking position directly on the window(absolute pos -> relative) + val offsetX = 10; + val offsetY = 110 + + def main(args: Array[String]): Unit = { + /*val rand = new Random() + val deck = new LootTable[Card]() + val tmpCards = for { nb <- CardNumber.values; ty <- CardType.values } yield Card(nb, ty) + tmpCards.foreach { x => deck.add(x) } + */ + System.setProperty("webdriver.chrome.driver", "lib/chromedriver") + + val options = new ChromeOptions() + val prefs = new HashMap[String, Int]() + prefs.put("profile.default_content_setting_values.notifications", 2) + options.setExperimentalOption("prefs", prefs) + + val chrome = new ChromeDriver(options) + val action = new Actions(chrome) + open(chrome) + val content = chrome.findElement(By.tagName("body")) + Thread.sleep(12000) + + connect(action, content) + Thread.sleep(1000) + enterTable(action, content) + Thread.sleep(1000) + joinSeatWhenAvailable(action, content, chrome) + + System.exit(0) + + val cardDataDimension = new Dimension(35, 20) + //My 2 cards then 2 more + val cardDataPos = List(new Point(850, 885), new Point(950, 885), new Point(810, 570), new Point(870, 570), new Point(1010, 570), new Point(1110, 570), new Point(1210, 570)) + val rectangles = for {pos <- cardDataPos} yield new Rectangle(pos, cardDataDimension) + + val screenshot = ImageIO.read(chrome.getScreenshotAs(OutputType.FILE)) + + val imgs = for {rec <- rectangles} yield screenshot.getSubimage(rec.x, rec.y, rec.width, rec.height) + + + val tesseract = new Tesseract1 + imgs.zipWithIndex.foreach { case (x, i) => println(tesseract.doOCR(x)); ImageIO.write(x, "png", new File("card" + i + ".png")) } + + System.exit(0) + } + + def open(chrome: ChromeDriver) { + chrome.manage().window().setSize(new org.openqa.selenium.Dimension(800, 600)) + //chrome.manage().window().setPosition(new org.openqa.selenium.Point(0,0)) + chrome.get("http://poker.goodgamestudios.com/") + } + + def connect(action: Actions, content: WebElement) { + val registeredButton = new Point(400, 505 - offsetY) + val usernameField = new Point(400, 400 - offsetY) + val username = "MrRektorino" + //val passwordField = new Point(400,425-offset) + val password = "ZzD0938RTZkl0lnTtKN7" + val loginButton = new Point(400, 485 - offsetY) + val wbButton = new Point(400, 510 - offsetY) + + //Open login screen + click(action, content, registeredButton) + Thread.sleep(3000) + //Enter username and password + click(action, content, usernameField) + Thread.sleep(500) + write(action, username + "\t" + password) + Thread.sleep(500) + //login + click(action, content, loginButton) + Thread.sleep(4000) + //remove welcome back message + click(action, content, wbButton) + Thread.sleep(500) + } + + def enterTable(action: Actions, content: WebElement) { + val sortTable = new Point(355, 335 - offsetY) + val firstTable = new Point(355, 350 - offsetY) + + click(action, content, sortTable) + Thread.sleep(20) + click(action, content, sortTable) + Thread.sleep(500) + + doubleClick(action, content, firstTable) + doubleClick(action, content, firstTable) + Thread.sleep(200) + } + + def click(action: Actions, content: WebElement, p: Point) { + action.moveToElement(content, p.x, p.y) + action.click() + action.perform() + } + + def doubleClick(action: Actions, content: WebElement, p: Point) { + action.moveToElement(content, p.x, p.y) + action.doubleClick() + action.perform() + } + + def write(action: Actions, str: String) { + action.sendKeys(str) + action.perform() + } + + def getEmptySeat(chrome: ChromeDriver): Option[Point] = { + val seatPos = List(new Point(220 - offsetX, 325 - offsetY), new Point(355 - offsetX, 295 - offsetY), new Point(530 - offsetX, 295 - offsetY), + new Point(655 - offsetX, 325 - offsetY), new Point(685 - offsetX, 415 - offsetY), new Point(585 - offsetX, 500 - offsetY), + new Point(440 - offsetX, 500 - offsetY), new Point(290 - offsetX, 500 - offsetY), new Point(195 - offsetX, 425 - offsetY)) + //val openSeatColor = new Color(222, 88, 2) + val openSeatColor = -2600958 + + //println(ImageIO.read(chrome.getScreenshotAs(OutputType.FILE)).getRGB(seatPos(0).x, seatPos(0).y)) + seatPos.foreach(x => if (ImageIO.read(chrome.getScreenshotAs(OutputType.FILE)).getRGB(x.x, x.y) == openSeatColor) { + return Some(x) + }) + return None + } + + @tailrec def joinSeatWhenAvailable(action: Actions, content: WebElement, chrome: ChromeDriver): Unit = getEmptySeat(chrome) match { + case Some(x) => click(action, content, x.getLocation); println("Found Place") + case None => println("Place not found yet, trying in 1s..."); Thread.sleep(1000); joinSeatWhenAvailable(action, content, chrome) + } +}+ \ No newline at end of file diff --git a/src/net/supercraft/pokerbot/Wrapper.java b/src/net/supercraft/pokerbot/Wrapper.java @@ -0,0 +1,9 @@ +package net.supercraft.pokerbot; + +public class Wrapper { + + public static void main(String[] args) { + Main.main(args); + } + +} diff --git a/test.png b/test.png Binary files differ. diff --git a/test2.png b/test2.png Binary files differ. diff --git a/test3.png b/test3.png Binary files differ. diff --git a/test4.png b/test4.png Binary files differ. diff --git a/test5.png b/test5.png Binary files differ. diff --git a/test6.png b/test6.png Binary files differ.